VC1Context Struct Reference

The VC1 Context. More...

#include <vc1.h>


Data Fields

MpegEncContext s
IntraX8Context x8
VC1DSPContext vc1dsp
int bits
int ttfrm
 Transform type info present at frame level.
uint8_t ttmbf
 Transform type flag.
int * ttblk_base
int * ttblk
 Transform type at the block level.
int codingset
 index of current table set from 11.8 to use for luma block decoding
int codingset2
 index of current table set from 11.8 to use for chroma block decoding
int pqindex
 raw pqindex used in coding set selection
int a_avail
int c_avail
uint8_t * mb_type_base
uint8_t * mb_type [3]
int16_t bfraction
 Relative position % anchors=> how to scale MVs.
uint8_t halfpq
 Uniform quant over image and qp+.5.
uint8_t respic
 Frame-level flag for resized images.
int buffer_fullness
 HRD info.
uint8_t mvrange
 Ranges:
  1. 0 -> [-64n 63.f] x [-32, 31.f]
  2. 1 -> [-128, 127.f] x [-64, 63.f]
  3. 2 -> [-512, 511.f] x [-128, 127.f]
  4. 3 -> [-1024, 1023.f] x [-256, 255.f].

uint8_t pquantizer
 Uniform (over sequence) quantizer in use.
VLCcbpcy_vlc
 CBPCY VLC table.
int tt_index
 Index for Transform Type tables.
uint8_t * mv_type_mb_plane
 bitplane for mv_type == (4MV)
uint8_t * direct_mb_plane
 bitplane for "direct" MBs
int mv_type_is_raw
 mv type mb plane is not coded
int dmb_is_raw
 direct mb plane is raw
int skip_is_raw
 skip mb plane is not coded
uint8_t luty [256]
uint8_t lutuv [256]
int use_ic
 use intensity compensation in B-frames
int rnd
 rounding control
int p_frame_skipped
int bi_type
int x8_type
DCTELEM(* block )[6][64]
int n_allocated_blks
int cur_blk_idx
int left_blk_idx
int topleft_blk_idx
int top_blk_idx
uint32_t * cbp_base
uint32_t * cbp
uint8_t * is_intra_base
uint8_t * is_intra
int16_t(* luma_mv_base )[2]
int16_t((* luma_mv )[2]
uint8_t bfraction_lut_index
 Index for BFRACTION value (see Table 40, reproduced into ff_vc1_bfraction_lut[]).
uint8_t broken_link
 Broken link flag (BROKEN_LINK syntax element).
uint8_t closed_entry
 Closed entry point flag (CLOSED_ENTRY syntax element).
int parse_only
 Context is used within parser.
int warn_interlaced
int res_sprite
 Simple/Main Profile sequence header.
int res_y411
 reserved, old interlaced mode
int res_x8
 reserved
int multires
 frame-level RESPIC syntax element present
int res_fasttx
 reserved, always 1
int res_transtab
 reserved, always 0
int rangered
 RANGEREDFRM (range reduction) syntax element present at frame level.
int res_rtm_flag
 reserved, set to 1
int reserved
 reserved
int level
 Advanced Profile.
int chromaformat
 2bits, 2=4:2:0, only defined
int postprocflag
 Per-frame processing suggestion flag present.
int broadcast
 TFF/RFF present.
int interlace
 Progressive/interlaced (RPTFTM syntax element).
int tfcntrflag
 TFCNTR present.
int panscanflag
 NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present.
int refdist_flag
 REFDIST syntax element present in II, IP, PI or PP field picture headers.
int extended_dmv
 Additional extended dmv range at P/B frame-level.
int color_prim
 8bits, chroma coordinates of the color primaries
int transfer_char
 8bits, Opto-electronic transfer characteristics
int matrix_coef
 8bits, Color primaries->YCbCr transform matrix
int hrd_param_flag
 Presence of Hypothetical Reference Decoder parameters.
int psf
 Progressive Segmented Frame.
int profile
 Sequence header data for all Profiles TODO: choose between ints, uint8_ts and monobit flags.
int frmrtq_postproc
 3bits,
int bitrtq_postproc
 5bits, quantized framerate-based postprocessing strength
int fastuvmc
 Rounding of qpel vector to hpel ? (not in Simple).
int extended_mv
 Ext MV in P/B (not in Simple).
int dquant
 How qscale varies with MBs, 2bits (not in Simple).
int vstransform
 variable-size [48]x[48] transform type + info
int overlap
 overlapped transforms in use
int quantizer_mode
 2bits, quantizer mode used for sequence, see QUANT_*
int finterpflag
 INTERPFRM present.
uint8_t mv_mode
 Frame decoding info for all profiles.
uint8_t mv_mode2
 Secondary MV coding mode (B frames).
int k_x
 Number of bits for MVs (depends on MV range).
int k_y
 Number of bits for MVs (depends on MV range).
int range_x
int range_y
 MV range.
uint8_t pq
uint8_t altpq
 Current/alternate frame quantizer scale.
uint8_t zz_8x8 [4][64]
 Zigzag table for TT_8x8, permuted for IDCT.
int left_blk_sh
int top_blk_sh
 Either 3 or 0, positions of l/t in blk[].
const uint8_t * zz_8x4
 Zigzag scan table for TT_8x4 coding mode.
const uint8_t * zz_4x8
 Zigzag scan table for TT_4x8 coding mode.
uint8_t dquantfrm
 pquant parameters
uint8_t dqprofile
uint8_t dqsbedge
uint8_t dqbilevel
int c_ac_table_index
 AC coding set indexes.
int y_ac_table_index
 Luma index from AC2FRM element.
uint8_t lumscale
 Luma compensation parameters.
uint8_t lumshift
uint8_t rangeredfrm
 Frame decoding info for S/M profiles only.
uint8_t interpfrm
uint8_t fcm
 Frame decoding info for Advanced profile.
uint8_t numpanscanwin
uint8_t tfcntr
uint8_t rptfrm
uint8_t tff
uint8_t rff
uint16_t topleftx
uint16_t toplefty
uint16_t bottomrightx
uint16_t bottomrighty
uint8_t uvsamp
uint8_t postproc
int hrd_num_leaky_buckets
uint8_t bit_rate_exponent
uint8_t buffer_size_exponent
uint8_t * acpred_plane
 AC prediction flags bitplane.
int acpred_is_raw
uint8_t * over_flags_plane
 Overflags bitplane.
int overflg_is_raw
uint8_t condover
uint16_t * hrd_rate
uint16_t * hrd_buffer
uint8_t * hrd_fullness
uint8_t range_mapy_flag
uint8_t range_mapuv_flag
uint8_t range_mapy
uint8_t range_mapuv
int new_sprite
 Frame decoding info for sprite modes.
int two_sprites


Detailed Description

The VC1 Context.

Todo:
Change size wherever another size is more efficient Many members are only used for Advanced Profile

Definition at line 156 of file vc1.h.


Field Documentation

AC prediction flags bitplane.

Definition at line 297 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_decode_end(), vc1_decode_i_blocks_adv(), vc1_decode_init(), and vc1_parse_frame_header_adv().

Current/alternate frame quantizer scale.

Definition at line 219 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vop_dquant_decoding().

Relative position % anchors=> how to scale MVs.

Definition at line 253 of file vc1.h.

Referenced by vc1_decode_b_mb(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), and vc1_pred_b_mv().

Index for BFRACTION value (see Table 40, reproduced into ff_vc1_bfraction_lut[]).

Definition at line 325 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 295 of file vc1.h.

5bits, quantized framerate-based postprocessing strength

Definition at line 202 of file vc1.h.

Referenced by decode_sequence_header_adv(), and vc1_decode_sequence_header().

Definition at line 290 of file vc1.h.

Definition at line 291 of file vc1.h.

Broken link flag (BROKEN_LINK syntax element).

Definition at line 326 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vc1_decode_entry_point().

HRD info.

Definition at line 256 of file vc1.h.

Definition at line 296 of file vc1.h.

AC coding set indexes.

See also:
8.1.1.10, p(1)10 Chroma index from ACFRM element

Definition at line 235 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_decode_b_blocks(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_blocks(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

uint32_t * VC1Context::cbp

Definition at line 322 of file vc1.h.

Referenced by vc1_decode_end(), vc1_decode_init(), and vc1_decode_p_blocks().

2bits, 2=4:2:0, only defined

Definition at line 180 of file vc1.h.

Referenced by decode_sequence_header_adv(), and fill_picture_parameters().

Closed entry point flag (CLOSED_ENTRY syntax element).

Definition at line 327 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vc1_decode_entry_point().

index of current table set from 11.8 to use for luma block decoding

Definition at line 241 of file vc1.h.

Referenced by vc1_decode_b_blocks(), vc1_decode_b_mb(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_blocks(), and vc1_decode_p_mb().

index of current table set from 11.8 to use for chroma block decoding

Definition at line 242 of file vc1.h.

Referenced by vc1_decode_b_blocks(), vc1_decode_b_mb(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_block(), vc1_decode_p_blocks(), and vc1_decode_p_mb().

8bits, chroma coordinates of the color primaries

Definition at line 188 of file vc1.h.

Referenced by decode_sequence_header_adv().

Definition at line 229 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vop_dquant_decoding().

Definition at line 227 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vop_dquant_decoding().

Definition at line 228 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vop_dquant_decoding().

pquant parameters

Definition at line 226 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_decode_ac_coeff(), vc1_parse_frame_header(), and vop_dquant_decoding().

Additional extended dmv range at P/B frame-level.

Definition at line 187 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), and vc1_decode_entry_point().

uint8_t VC1Context::fcm

Frame decoding info for Advanced profile.

0->Progressive, 2->Frame-Interlace, 3->Field-Interlace

Definition at line 284 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), and vc1_parse_frame_header_adv().

3bits,

Definition at line 201 of file vc1.h.

Referenced by decode_sequence_header_adv(), and vc1_decode_sequence_header().

Definition at line 302 of file vc1.h.

Referenced by vc1_decode_end(), and vc1_init_common().

Definition at line 303 of file vc1.h.

Definition at line 294 of file vc1.h.

Referenced by decode_sequence_header_adv(), and vc1_decode_entry_point().

Presence of Hypothetical Reference Decoder parameters.

Definition at line 191 of file vc1.h.

Referenced by decode_sequence_header_adv(), and vc1_decode_entry_point().

Definition at line 302 of file vc1.h.

Referenced by vc1_decode_end(), and vc1_init_common().

Progressive/interlaced (RPTFTM syntax element).

Definition at line 183 of file vc1.h.

Referenced by decode_sequence_header_adv(), ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), vc1_decode_frame(), and vc1_parse_frame_header_adv().

Definition at line 279 of file vc1.h.

Referenced by vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 323 of file vc1.h.

Referenced by vc1_decode_end(), vc1_decode_init(), and vc1_decode_p_blocks().

Number of bits for MVs (depends on MV range).

Definition at line 216 of file vc1.h.

Referenced by vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Number of bits for MVs (depends on MV range).

Definition at line 217 of file vc1.h.

Referenced by vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Advanced Profile.

3bits, for Advanced/Simple Profile, provided by TS layer

Definition at line 179 of file vc1.h.

Referenced by decode_sequence_header_adv(), and vc1_decode_init().

int16_t((* VC1Context::luma_mv)[2]

int16_t(* VC1Context::luma_mv_base)[2]

Definition at line 324 of file vc1.h.

Referenced by vc1_decode_end(), vc1_decode_init(), and vc1_decode_p_blocks().

Luma compensation parameters.

Definition at line 250 of file vc1.h.

Referenced by fill_picture_parameters(), vaapi_vc1_start_frame(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

uint8_t VC1Context::lutuv[256]

uint8_t VC1Context::luty[256]

8bits, Color primaries->YCbCr transform matrix

Definition at line 190 of file vc1.h.

Referenced by decode_sequence_header_adv().

uint8_t * VC1Context::mb_type[3]

Definition at line 245 of file vc1.h.

Referenced by vc1_decode_end(), and vc1_decode_init().

frame-level RESPIC syntax element present

Definition at line 168 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), vc1_decode_sequence_header(), and vc1_parse_frame_header().

Secondary MV coding mode (B frames).

Definition at line 215 of file vc1.h.

Referenced by fill_picture_parameters(), vc1_b_mc(), vc1_get_MVMODE2(), vc1_has_MVTYPEMB_bitplane(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

mv type mb plane is not coded

Definition at line 269 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_decode_p_mb(), vc1_has_MVTYPEMB_bitplane(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

bitplane for mv_type == (4MV)

Definition at line 267 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_decode_end(), vc1_decode_init(), vc1_decode_p_mb(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Ranges:

  1. 0 -> [-64n 63.f] x [-32, 31.f]
  2. 1 -> [-128, 127.f] x [-64, 63.f]
  3. 2 -> [-512, 511.f] x [-128, 127.f]
  4. 3 -> [-1024, 1023.f] x [-256, 255.f].

Definition at line 263 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_init_common(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 321 of file vc1.h.

Referenced by vc1_decode_init().

Frame decoding info for sprite modes.

Definition at line 312 of file vc1.h.

Referenced by vc1_decode_frame().

Definition at line 285 of file vc1.h.

Definition at line 316 of file vc1.h.

Referenced by vc1_decode_blocks(), vc1_get_PTYPE(), and vc1_parse_frame_header_adv().

NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present.

Definition at line 185 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), vc1_decode_entry_point(), and vc1_parse_frame_header_adv().

Context is used within parser.

Definition at line 329 of file vc1.h.

Referenced by vc1_extract_headers(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 293 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vc1_parse_frame_header_adv().

Per-frame processing suggestion flag present.

Definition at line 181 of file vc1.h.

Referenced by decode_sequence_header_adv(), ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), and vc1_parse_frame_header_adv().

uint8_t VC1Context::pq

raw pqindex used in coding set selection

Definition at line 243 of file vc1.h.

Referenced by vc1_decode_b_blocks(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_blocks(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

MV range.

Definition at line 218 of file vc1.h.

Referenced by vc1_decode_p_mb(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), and vc1_pred_b_mv().

RANGEREDFRM (range reduction) syntax element present at frame level.

Definition at line 171 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), vc1_decode_sequence_header(), and vc1_parse_frame_header().

Frame decoding info for S/M profiles only.

out_sample = CLIP((in_sample-128)*2+128)

Definition at line 278 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), vc1_decode_b_mb(), vc1_decode_i_blocks(), vc1_decode_p_mb(), vc1_interp_mc(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), and vc1_parse_frame_header().

REFDIST syntax element present in II, IP, PI or PP field picture headers.

Definition at line 186 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), fill_picture_parameters(), vaapi_vc1_start_frame(), and vc1_decode_entry_point().

reserved, always 1

Definition at line 169 of file vc1.h.

Referenced by vc1_decode_init(), and vc1_decode_sequence_header().

reserved, set to 1

Definition at line 173 of file vc1.h.

Referenced by decode_sequence_header_adv(), vc1_decode_p_block(), and vc1_decode_sequence_header().

Simple/Main Profile sequence header.

reserved, sprite mode

Definition at line 165 of file vc1.h.

Referenced by vc1_decode_frame(), vc1_decode_init(), and vc1_decode_sequence_header().

reserved, always 0

Definition at line 170 of file vc1.h.

Referenced by vc1_decode_sequence_header().

reserved

Definition at line 167 of file vc1.h.

Referenced by vc1_decode_sequence_header(), and vc1_parse_frame_header().

reserved, old interlaced mode

Definition at line 166 of file vc1.h.

Referenced by vc1_decode_sequence_header().

reserved

Definition at line 174 of file vc1.h.

Frame-level flag for resized images.

Definition at line 255 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), and vc1_parse_frame_header().

uint8_t VC1Context::rff

Definition at line 287 of file vc1.h.

Referenced by vc1_decode_frame(), and vc1_parse_frame_header_adv().

Definition at line 287 of file vc1.h.

Referenced by vc1_decode_frame(), and vc1_parse_frame_header_adv().

Definition at line 286 of file vc1.h.

uint8_t VC1Context::tff

Definition at line 287 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_decode_frame(), and vc1_parse_frame_header_adv().

Either 3 or 0, positions of l/t in blk[].

Definition at line 221 of file vc1.h.

Referenced by vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_init(), and vc1_decode_intra_block().

Definition at line 288 of file vc1.h.

Definition at line 289 of file vc1.h.

8bits, Opto-electronic transfer characteristics

Definition at line 189 of file vc1.h.

Referenced by decode_sequence_header_adv().

Index for Transform Type tables.

Definition at line 266 of file vc1.h.

Referenced by vc1_decode_b_mb(), vc1_decode_p_block(), vc1_decode_p_mb(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Transform type at the block level.

Definition at line 240 of file vc1.h.

Referenced by vc1_apply_p_h_loop_filter(), vc1_apply_p_v_loop_filter(), vc1_decode_init(), vc1_decode_p_blocks(), and vc1_decode_p_mb().

Definition at line 240 of file vc1.h.

Referenced by vc1_decode_end(), vc1_decode_init(), and vc1_decode_p_blocks().

Transform type info present at frame level.

Definition at line 238 of file vc1.h.

Referenced by vc1_decode_b_mb(), vc1_decode_p_mb(), vc1_get_TTFRM(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 313 of file vc1.h.

Referenced by vc1_decode_frame(), and vc1_parse_sprites().

use intensity compensation in B-frames

Definition at line 273 of file vc1.h.

Referenced by vc1_b_mc(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 292 of file vc1.h.

Referenced by vc1_parse_frame_header_adv().

Definition at line 331 of file vc1.h.

Referenced by vc1_decode_frame(), and vc1_parse_frame_header_adv().

Definition at line 158 of file vc1.h.

Referenced by vc1_decode_blocks(), vc1_decode_end(), and vc1_decode_init().

Definition at line 318 of file vc1.h.

Referenced by vc1_decode_blocks(), and vc1_parse_frame_header().

Luma index from AC2FRM element.

Definition at line 236 of file vc1.h.

Referenced by vaapi_vc1_start_frame(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

const uint8_t* VC1Context::zz_4x8

Zigzag scan table for TT_4x8 coding mode.

Definition at line 223 of file vc1.h.

Referenced by vc1_decode_p_block(), and vc1_decode_sequence_header().

const uint8_t* VC1Context::zz_8x4

Zigzag scan table for TT_8x4 coding mode.

Definition at line 222 of file vc1.h.

Referenced by vc1_decode_p_block(), and vc1_decode_sequence_header().

uint8_t VC1Context::zz_8x8[4][64]

Zigzag table for TT_8x8, permuted for IDCT.

Definition at line 220 of file vc1.h.

Referenced by vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_init(), vc1_decode_intra_block(), and vc1_decode_p_block().


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

Generated on Fri Oct 26 02:39:53 2012 for FFmpeg by  doxygen 1.5.8