FFmpeg
Public Member Functions | Public Attributes | List of all members
VP8ThreadData Struct Reference

Public Member Functions

 DECLARE_ALIGNED (16, int16_t, block)[6][4][16]
 
 DECLARE_ALIGNED (16, int16_t, block_dc)[16]
 
 DECLARE_ALIGNED (16, uint8_t, non_zero_count_cache)[6][4]
 This is the index plus one of the last non-zero coeff for each of the blocks in the current macroblock. More...
 
 DECLARE_ALIGNED (8, uint8_t, left_nnz)[9]
 For coeff decode, we need to know whether the above block had non-zero coefficients. More...
 
 DECLARE_ALIGNED (16, uint8_t, edge_emu_buffer)[21 *EDGE_EMU_LINESIZE]
 

Public Attributes

int thread_nr
 
atomic_int thread_mb_pos
 
atomic_int wait_mb_pos
 
VP8FilterStrengthfilter_strength
 
VP8mvbounds mv_bounds
 

Member Function Documentation

§ DECLARE_ALIGNED() [1/2]

VP8ThreadData::DECLARE_ALIGNED ( 16  ,
uint8_t  ,
non_zero_count_cache   
)

This is the index plus one of the last non-zero coeff for each of the blocks in the current macroblock.

So, 0 -> no coeffs 1 -> dc-only (special transform) 2+-> full transform

§ DECLARE_ALIGNED() [2/2]

VP8ThreadData::DECLARE_ALIGNED ( ,
uint8_t  ,
left_nnz   
)

For coeff decode, we need to know whether the above block had non-zero coefficients.

This means for each macroblock, we need data for 4 luma blocks, 2 u blocks, 2 v blocks, and the luma dc block, for a total of 9 per macroblock. We keep the last row in top_nnz.


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