Vp3DecodeContext Struct Reference
Collaboration diagram for Vp3DecodeContext:
Collaboration graph

Public Member Functions

 DECLARE_ALIGNED (16, int16_t, block)[64]
 
 DECLARE_ALIGNED (16, int16_t, qmat)[3][2][3][64]
 qmat[qpi][is_inter][plane] More...
 
 DECLARE_ALIGNED (8, int, bounding_values_array)[256+2]
 

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
 
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]
 
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. More...
 
int16_t * dct_tokens_base
 
int num_coded_frags [3][64]
 number of blocks that contain DCT coefficients at the given level or higher More...
 
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
 
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]
 

Detailed Description

Definition at line 133 of file vp3.c.

Member Function Documentation

Vp3DecodeContext::DECLARE_ALIGNED ( 16  ,
int16_t  ,
block   
)
Vp3DecodeContext::DECLARE_ALIGNED ( 16  ,
int16_t  ,
qmat   
)

qmat[qpi][is_inter][plane]

Vp3DecodeContext::DECLARE_ALIGNED ( ,
int  ,
bounding_values_array   
)

Field Documentation

VLC Vp3DecodeContext::ac_vlc_1[16]

Definition at line 224 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 225 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 226 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 227 of file vp3.c.

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

uint8_t Vp3DecodeContext::base_matrix[384][64]

Definition at line 185 of file vp3.c.

Referenced by init_dequantizer(), vp3_decode_init(), and vp3_init_thread_copy().

int Vp3DecodeContext::c_superblock_count

Definition at line 163 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::c_superblock_height

Definition at line 162 of file vp3.c.

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

int Vp3DecodeContext::c_superblock_width

Definition at line 161 of file vp3.c.

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

int Vp3DecodeContext::chroma_x_shift

Definition at line 138 of file vp3.c.

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

int Vp3DecodeContext::chroma_y_shift
uint32_t Vp3DecodeContext::coded_ac_scale_factor[64]

Definition at line 184 of file vp3.c.

Referenced by init_dequantizer(), vp3_decode_init(), and vp3_init_thread_copy().

uint16_t Vp3DecodeContext::coded_dc_scale_factor[64]

Definition at line 183 of file vp3.c.

Referenced by init_dequantizer(), vp3_decode_init(), and vp3_init_thread_copy().

int* Vp3DecodeContext::coded_fragment_list[3]
int Vp3DecodeContext::data_offset[3]

Definition at line 178 of file vp3.c.

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

VLC Vp3DecodeContext::dc_vlc[16]

Definition at line 223 of file vp3.c.

Referenced by unpack_dct_coeffs(), vp3_decode_end(), 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 207 of file vp3.c.

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

int16_t* Vp3DecodeContext::dct_tokens_base

Definition at line 208 of file vp3.c.

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

uint8_t* Vp3DecodeContext::edge_emu_buffer

Definition at line 248 of file vp3.c.

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

int Vp3DecodeContext::entries

Definition at line 253 of file vp3.c.

Referenced by read_huffman_tree(), and vp3_init_thread_copy().

uint8_t Vp3DecodeContext::filter_limit_values[64]

Definition at line 257 of file vp3.c.

Referenced by init_loop_filter(), vp3_decode_frame(), vp3_decode_init(), and vp3_init_thread_copy().

int Vp3DecodeContext::flipped_image
int Vp3DecodeContext::fragment_count

Definition at line 172 of file vp3.c.

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

int Vp3DecodeContext::fragment_height[2]
VLC Vp3DecodeContext::fragment_run_length_vlc

Definition at line 230 of file vp3.c.

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

int Vp3DecodeContext::fragment_start[3]
ThreadFrame Vp3DecodeContext::golden_frame
unsigned int Vp3DecodeContext::hbits

Definition at line 252 of file vp3.c.

Referenced by read_huffman_tree(), and vp3_init_thread_copy().

HpelDSPContext Vp3DecodeContext::hdsp

Definition at line 145 of file vp3.c.

Referenced by render_slice(), and vp3_decode_init().

int Vp3DecodeContext::height
int Vp3DecodeContext::hti

Definition at line 251 of file vp3.c.

Referenced by read_huffman_tree(), and vp3_init_thread_copy().

int Vp3DecodeContext::huff_code_size

Definition at line 254 of file vp3.c.

Referenced by read_huffman_tree(), and vp3_init_thread_copy().

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

Definition at line 255 of file vp3.c.

Referenced by read_huffman_tree(), and vp3_decode_init().

uint8_t Vp3DecodeContext::idct_permutation[64]

Definition at line 143 of file vp3.c.

Referenced by init_dequantizer(), and vp3_decode_init().

uint8_t Vp3DecodeContext::idct_scantable[64]

Definition at line 144 of file vp3.c.

Referenced by vp3_decode_init(), and vp3_dequant().

int Vp3DecodeContext::keyframe
ThreadFrame Vp3DecodeContext::last_frame
int Vp3DecodeContext::last_qps[3]

Definition at line 155 of file vp3.c.

Referenced by vp3_decode_frame().

int Vp3DecodeContext::last_slice_end

Definition at line 150 of file vp3.c.

Referenced by vp3_decode_frame(), and vp3_draw_horiz_band().

unsigned char* Vp3DecodeContext::macroblock_coding
int Vp3DecodeContext::macroblock_count

Definition at line 168 of file vp3.c.

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

int Vp3DecodeContext::macroblock_height

Definition at line 170 of file vp3.c.

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

int Vp3DecodeContext::macroblock_width

Definition at line 169 of file vp3.c.

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

VLC Vp3DecodeContext::mode_code_vlc

Definition at line 231 of file vp3.c.

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

int8_t(*[2] Vp3DecodeContext::motion_val)[2]
VLC Vp3DecodeContext::motion_vector_vlc

Definition at line 232 of file vp3.c.

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

int Vp3DecodeContext::nqps

Definition at line 154 of file vp3.c.

Referenced by unpack_block_qpis(), and vp3_decode_frame().

int Vp3DecodeContext::num_coded_frags[3][64]

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

Definition at line 216 of file vp3.c.

Referenced by unpack_superblocks(), and unpack_vlcs().

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

Definition at line 188 of file vp3.c.

Referenced by init_dequantizer(), vp3_decode_init(), and vp3_init_thread_copy().

uint8_t Vp3DecodeContext::qr_count[2][3]

Definition at line 186 of file vp3.c.

Referenced by init_dequantizer(), vp3_decode_init(), and vp3_init_thread_copy().

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

Definition at line 187 of file vp3.c.

Referenced by init_dequantizer(), vp3_decode_init(), and vp3_init_thread_copy().

int Vp3DecodeContext::skip_loop_filter

Definition at line 151 of file vp3.c.

Referenced by render_slice(), and vp3_decode_frame().

unsigned char* Vp3DecodeContext::superblock_coding

Definition at line 166 of file vp3.c.

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

int Vp3DecodeContext::superblock_count

Definition at line 157 of file vp3.c.

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

int* Vp3DecodeContext::superblock_fragments
VLC Vp3DecodeContext::superblock_run_length_vlc

Definition at line 229 of file vp3.c.

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

int Vp3DecodeContext::theora

Definition at line 135 of file vp3.c.

Referenced by unpack_superblocks(), vp3_decode_frame(), and vp3_init_thread_copy().

int Vp3DecodeContext::theora_tables

Definition at line 135 of file vp3.c.

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

int Vp3DecodeContext::total_num_coded_frags

Definition at line 217 of file vp3.c.

Referenced by unpack_block_qpis(), and unpack_superblocks().

int Vp3DecodeContext::u_superblock_start

Definition at line 164 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::v_superblock_start

Definition at line 165 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

VideoDSPContext Vp3DecodeContext::vdsp

Definition at line 146 of file vp3.c.

Referenced by render_slice(), and vp3_decode_init().

VP3DSPContext Vp3DecodeContext::vp3dsp

Definition at line 147 of file vp3.c.

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

int Vp3DecodeContext::width
int Vp3DecodeContext::y_superblock_count

Definition at line 160 of file vp3.c.

Referenced by unpack_superblocks(), and vp3_decode_init().

int Vp3DecodeContext::y_superblock_height

Definition at line 159 of file vp3.c.

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

int Vp3DecodeContext::y_superblock_width

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