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

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]
 
 DECLARE_ALIGNED (8, int, bounding_values_array)[256+2]
 

Public Attributes

AVCodecContextavctx
 
int theora
 
int theora_tables
 
int theora_header
 
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]
 
uint8_t offset_x
 
uint8_t offset_y
 
int offset_x_warned
 
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
 
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_t * edge_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]
 

Member Data Documentation

§ dct_tokens

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.


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