FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
Vp3DecodeContext Struct Reference

Data Fields

AVCodecContextavctx
 
int theora
 
int theora_tables
 
int version
 
int width
 
int height
 
int chroma_x_shift
 
int chroma_y_shift
 
ThreadFrame golden_frame
 
ThreadFrame last_frame
 
ThreadFrame current_frame
 
int keyframe
 
uint8_t idct_permutation [64]
 
uint8_t idct_scantable [64]
 
HpelDSPContext hdsp
 
VideoDSPContext vdsp
 
VP3DSPContext vp3dsp
 
int16_t block [64]
 
int flipped_image
 
int last_slice_end
 
int skip_loop_filter
 
int qps [3]
 
int nqps
 
int last_qps [3]
 
int superblock_count
 
int y_superblock_width
 
int y_superblock_height
 
int y_superblock_count
 
int c_superblock_width
 
int c_superblock_height
 
int c_superblock_count
 
int u_superblock_start
 
int v_superblock_start
 
unsigned char * superblock_coding
 
int macroblock_count
 
int macroblock_width
 
int macroblock_height
 
int fragment_count
 
int fragment_width [2]
 
int fragment_height [2]
 
Vp3Fragmentall_fragments
 
int fragment_start [3]
 
int data_offset [3]
 
uint8_t offset_x
 
uint8_t offset_y
 
int8_t(*[2] motion_val )[2]
 
uint16_t coded_dc_scale_factor [64]
 
uint32_t coded_ac_scale_factor [64]
 
uint8_t base_matrix [384][64]
 
uint8_t qr_count [2][3]
 
uint8_t qr_size [2][3][64]
 
uint16_t qr_base [2][3][64]
 
int16_t * dct_tokens [3][64]
 This is a list of all tokens in bitstream order.
 
int16_t * dct_tokens_base
 
int num_coded_frags [3][64]
 number of blocks that contain DCT coefficients at the given level or higher
 
int total_num_coded_frags
 
int * coded_fragment_list [3]
 
VLC dc_vlc [16]
 
VLC ac_vlc_1 [16]
 
VLC ac_vlc_2 [16]
 
VLC ac_vlc_3 [16]
 
VLC ac_vlc_4 [16]
 
VLC superblock_run_length_vlc
 
VLC fragment_run_length_vlc
 
VLC mode_code_vlc
 
VLC motion_vector_vlc
 
int16_t qmat [3][2][3][64]
 qmat[qpi][is_inter][plane]
 
int * superblock_fragments
 
unsigned char * macroblock_coding
 
uint8_tedge_emu_buffer
 
int hti
 
unsigned int hbits
 
int entries
 
int huff_code_size
 
uint32_t huffman_table [80][32][2]
 
uint8_t filter_limit_values [64]
 
int bounding_values_array [256+2]
 

Detailed Description

Definition at line 132 of file vp3.c.

Field Documentation

AVCodecContext* Vp3DecodeContext::avctx
int Vp3DecodeContext::theora

Definition at line 134 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_frame().

int Vp3DecodeContext::theora_tables

Definition at line 134 of file vp3.c.

Referenced by vp3_decode_end(), and vp3_decode_init().

int Vp3DecodeContext::version

Definition at line 135 of file vp3.c.

Referenced by vp3_decode_init().

int Vp3DecodeContext::width

Definition at line 136 of file vp3.c.

Referenced by render_slice(), vp3_decode_init(), and vp3_update_thread_context().

int Vp3DecodeContext::height
int Vp3DecodeContext::chroma_x_shift

Definition at line 137 of file vp3.c.

Referenced by render_slice(), unpack_modes(), unpack_vectors(), and vp3_decode_init().

int Vp3DecodeContext::chroma_y_shift
ThreadFrame Vp3DecodeContext::golden_frame
ThreadFrame Vp3DecodeContext::last_frame
ThreadFrame Vp3DecodeContext::current_frame
int Vp3DecodeContext::keyframe
uint8_t Vp3DecodeContext::idct_permutation[64]

Definition at line 142 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

uint8_t Vp3DecodeContext::idct_scantable[64]

Definition at line 143 of file vp3.c.

Referenced by vp3_decode_init(), and vp3_dequant().

HpelDSPContext Vp3DecodeContext::hdsp

Definition at line 144 of file vp3.c.

Referenced by render_slice(), and vp3_decode_init().

VideoDSPContext Vp3DecodeContext::vdsp

Definition at line 145 of file vp3.c.

Referenced by render_slice(), and vp3_decode_init().

VP3DSPContext Vp3DecodeContext::vp3dsp

Definition at line 146 of file vp3.c.

Referenced by apply_loop_filter(), render_slice(), and vp3_decode_init().

int16_t Vp3DecodeContext::block[64]

Definition at line 147 of file vp3.c.

Referenced by render_slice().

int Vp3DecodeContext::flipped_image

Definition at line 148 of file vp3.c.

Referenced by apply_loop_filter(), render_slice(), and vp3_draw_horiz_band().

int Vp3DecodeContext::last_slice_end

Definition at line 149 of file vp3.c.

Referenced by vp3_draw_horiz_band().

int Vp3DecodeContext::skip_loop_filter

Definition at line 150 of file vp3.c.

Referenced by render_slice().

int Vp3DecodeContext::qps[3]
int Vp3DecodeContext::nqps

Definition at line 153 of file vp3.c.

Referenced by unpack_block_qpis(), and vp3_decode_frame().

int Vp3DecodeContext::last_qps[3]

Definition at line 154 of file vp3.c.

Referenced by vp3_decode_frame().

int Vp3DecodeContext::superblock_count

Definition at line 156 of file vp3.c.

Referenced by allocate_tables(), unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::y_superblock_width
int Vp3DecodeContext::y_superblock_height

Definition at line 158 of file vp3.c.

Referenced by init_block_mapping(), unpack_modes(), unpack_vectors(), and vp3_decode_init().

int Vp3DecodeContext::y_superblock_count

Definition at line 159 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::c_superblock_width

Definition at line 160 of file vp3.c.

Referenced by init_block_mapping(), render_slice(), and vp3_decode_init().

int Vp3DecodeContext::c_superblock_height

Definition at line 161 of file vp3.c.

Referenced by init_block_mapping(), render_slice(), and vp3_decode_init().

int Vp3DecodeContext::c_superblock_count

Definition at line 162 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::u_superblock_start

Definition at line 163 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::v_superblock_start

Definition at line 164 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

unsigned char* Vp3DecodeContext::superblock_coding

Definition at line 165 of file vp3.c.

Referenced by allocate_tables(), free_tables(), unpack_superblocks(), and vp3_init_thread_copy().

int Vp3DecodeContext::macroblock_count

Definition at line 167 of file vp3.c.

Referenced by allocate_tables(), unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::macroblock_width

Definition at line 168 of file vp3.c.

Referenced by unpack_modes(), unpack_vectors(), and vp3_decode_init().

int Vp3DecodeContext::macroblock_height

Definition at line 169 of file vp3.c.

Referenced by unpack_modes(), unpack_vectors(), and vp3_decode_init().

int Vp3DecodeContext::fragment_count

Definition at line 171 of file vp3.c.

Referenced by allocate_tables(), unpack_modes(), and vp3_decode_init().

int Vp3DecodeContext::fragment_width[2]
int Vp3DecodeContext::fragment_height[2]
Vp3Fragment* Vp3DecodeContext::all_fragments
int Vp3DecodeContext::fragment_start[3]
int Vp3DecodeContext::data_offset[3]

Definition at line 177 of file vp3.c.

Referenced by apply_loop_filter(), and render_slice().

uint8_t Vp3DecodeContext::offset_x

Definition at line 178 of file vp3.c.

uint8_t Vp3DecodeContext::offset_y

Definition at line 179 of file vp3.c.

int8_t(*[2] Vp3DecodeContext::motion_val)[2]
uint16_t Vp3DecodeContext::coded_dc_scale_factor[64]

Definition at line 184 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

uint32_t Vp3DecodeContext::coded_ac_scale_factor[64]

Definition at line 185 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

uint8_t Vp3DecodeContext::base_matrix[384][64]

Definition at line 186 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

uint8_t Vp3DecodeContext::qr_count[2][3]

Definition at line 187 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

uint8_t Vp3DecodeContext::qr_size[2][3][64]

Definition at line 188 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

uint16_t Vp3DecodeContext::qr_base[2][3][64]

Definition at line 189 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

int16_t* Vp3DecodeContext::dct_tokens[3][64]

This is a list of all tokens in bitstream order.

Reordering takes place by pulling from each level during IDCT. As a consequence, IDCT must be in Hilbert order, making the minimum slice height 64 for 4:2:0 and 32 otherwise. The 32 different tokens with up to 12 bits of extradata are collapsed into 3 types, packed as follows: (from the low to high bits)

2 bits: type (0,1,2) 0: EOB run, 14 bits for run length (12 needed) 1: zero run, 7 bits for run length 7 bits for the next coefficient (3 needed) 2: coefficient, 14 bits (11 needed)

Coefficients are signed, so are packed in the highest bits for automatic sign extension.

Definition at line 208 of file vp3.c.

Referenced by unpack_dct_coeffs(), unpack_vlcs(), and vp3_dequant().

int16_t* Vp3DecodeContext::dct_tokens_base

Definition at line 209 of file vp3.c.

Referenced by allocate_tables(), free_tables(), unpack_dct_coeffs(), and vp3_init_thread_copy().

int Vp3DecodeContext::num_coded_frags[3][64]

number of blocks that contain DCT coefficients at the given level or higher

Definition at line 218 of file vp3.c.

Referenced by unpack_superblocks(), and unpack_vlcs().

int Vp3DecodeContext::total_num_coded_frags

Definition at line 219 of file vp3.c.

Referenced by unpack_block_qpis(), and unpack_superblocks().

int* Vp3DecodeContext::coded_fragment_list[3]
VLC Vp3DecodeContext::dc_vlc[16]

Definition at line 225 of file vp3.c.

Referenced by unpack_dct_coeffs(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::ac_vlc_1[16]

Definition at line 226 of file vp3.c.

Referenced by unpack_dct_coeffs(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::ac_vlc_2[16]

Definition at line 227 of file vp3.c.

Referenced by unpack_dct_coeffs(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::ac_vlc_3[16]

Definition at line 228 of file vp3.c.

Referenced by unpack_dct_coeffs(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::ac_vlc_4[16]

Definition at line 229 of file vp3.c.

Referenced by unpack_dct_coeffs(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::superblock_run_length_vlc

Definition at line 231 of file vp3.c.

Referenced by unpack_block_qpis(), unpack_superblocks(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::fragment_run_length_vlc

Definition at line 232 of file vp3.c.

Referenced by unpack_superblocks(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::mode_code_vlc

Definition at line 233 of file vp3.c.

Referenced by unpack_modes(), vp3_decode_end(), and vp3_decode_init().

VLC Vp3DecodeContext::motion_vector_vlc

Definition at line 234 of file vp3.c.

Referenced by unpack_vectors(), vp3_decode_end(), and vp3_decode_init().

int16_t Vp3DecodeContext::qmat[3][2][3][64]

qmat[qpi][is_inter][plane]

Definition at line 238 of file vp3.c.

Referenced by init_dequantizer(), vp3_dequant(), and vp3_update_thread_context().

int* Vp3DecodeContext::superblock_fragments
unsigned char* Vp3DecodeContext::macroblock_coding
uint8_t* Vp3DecodeContext::edge_emu_buffer

Definition at line 250 of file vp3.c.

Referenced by render_slice(), vp3_decode_end(), and vp3_init_thread_copy().

int Vp3DecodeContext::hti

Definition at line 253 of file vp3.c.

Referenced by read_huffman_tree().

unsigned int Vp3DecodeContext::hbits

Definition at line 254 of file vp3.c.

Referenced by read_huffman_tree().

int Vp3DecodeContext::entries

Definition at line 255 of file vp3.c.

Referenced by read_huffman_tree().

int Vp3DecodeContext::huff_code_size

Definition at line 256 of file vp3.c.

Referenced by read_huffman_tree().

uint32_t Vp3DecodeContext::huffman_table[80][32][2]

Definition at line 257 of file vp3.c.

Referenced by read_huffman_tree(), and vp3_decode_init().

uint8_t Vp3DecodeContext::filter_limit_values[64]

Definition at line 259 of file vp3.c.

Referenced by init_loop_filter(), and vp3_decode_init().

int Vp3DecodeContext::bounding_values_array[256+2]

Definition at line 260 of file vp3.c.

Referenced by apply_loop_filter(), init_loop_filter(), and vp3_update_thread_context().


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