FFmpeg  4.0
Data Fields
VP8ThreadData Struct Reference

#include <libavcodec/vp8.h>

Data Fields

int16_t block [6][4][16]
 
int16_t block_dc [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...
 
uint8_t left_nnz [9]
 For coeff decode, we need to know whether the above block had non-zero coefficients. More...
 
int thread_nr
 
atomic_int thread_mb_pos
 
atomic_int wait_mb_pos
 
uint8_t edge_emu_buffer [21 *EDGE_EMU_LINESIZE]
 
VP8FilterStrengthfilter_strength
 
VP8mvbounds mv_bounds
 

Detailed Description

Definition at line 106 of file vp8.h.

Field Documentation

◆ block

int16_t VP8ThreadData::block[6][4][16]

Definition at line 107 of file vp8.h.

Referenced by decode_mb_coeffs(), idct_mb(), and intra_predict().

◆ block_dc

int16_t VP8ThreadData::block_dc[16]

Definition at line 108 of file vp8.h.

Referenced by decode_mb_coeffs().

◆ non_zero_count_cache

uint8_t VP8ThreadData::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.

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

Definition at line 116 of file vp8.h.

Referenced by decode_mb_coeffs(), idct_mb(), and intra_predict().

◆ left_nnz

uint8_t VP8ThreadData::left_nnz[9]

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.

Definition at line 123 of file vp8.h.

Referenced by decode_mb_row_no_filter().

◆ thread_nr

int VP8ThreadData::thread_nr

Definition at line 124 of file vp8.h.

Referenced by intra_predict(), and vp78_decode_mb_row_sliced().

◆ thread_mb_pos

atomic_int VP8ThreadData::thread_mb_pos

◆ wait_mb_pos

atomic_int VP8ThreadData::wait_mb_pos

Definition at line 130 of file vp8.h.

Referenced by vp78_decode_frame().

◆ edge_emu_buffer

uint8_t VP8ThreadData::edge_emu_buffer[21 *EDGE_EMU_LINESIZE]

Definition at line 133 of file vp8.h.

Referenced by vp8_mc_chroma(), and vp8_mc_luma().

◆ filter_strength

VP8FilterStrength* VP8ThreadData::filter_strength

Definition at line 134 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), free_buffers(), and update_dimensions().

◆ mv_bounds

VP8mvbounds VP8ThreadData::mv_bounds

Definition at line 135 of file vp8.h.

Referenced by decode_mb_row_no_filter(), and vp78_decode_mb_row_sliced().


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