AOMedia AV1 Codec
MvCosts Struct Reference

Holds mv costs for encoding and motion search. More...

#include <block.h>

Data Fields

Encoding Costs

Here are the entropy costs needed to encode a given mv. nmv_cost_alloc and nmv_cost_hp_alloc are two arrays that holds the memory for holding the mv cost. But since the motion vectors can be negative, we shift them to the middle and store the resulting pointer in nmv_cost and nmv_cost_hp for easier referencing. Finally, mv_cost_stack points to the nmv_cost with the mv precision we are currently working with. In essence, only mv_cost_stack is needed for motion search, the other can be considered private.

int nmv_joint_cost [4]
 Costs for coding the zero components.
 
int nmv_cost_alloc [2][((((1<<(11+1+2)) - 1)<< 1)+1)]
 Allocates memory for 1/4-pel motion vector costs.
 
int nmv_cost_hp_alloc [2][((((1<<(11+1+2)) - 1)<< 1)+1)]
 Allocates memory for 1/8-pel motion vector costs.
 
int * nmv_cost [2]
 Points to the middle of nmv_cost_alloc.
 
int * nmv_cost_hp [2]
 Points to the middle of nmv_cost_hp_alloc.
 
int ** mv_cost_stack
 Points to the nmv_cost_hp in use.
 

Detailed Description

Holds mv costs for encoding and motion search.


The documentation for this struct was generated from the following file: