VC1Context Struct Reference

The VC1 Context. More...

#include <vc1.h>


Data Fields

MpegEncContext s
IntraX8Context x8
int bits
int ttfrm
 Transform type info present at frame level.
uint8_t ttmbf
 Transform type flag.
uint8_t ttblk4x4
 Value of ttblk which indicates a 4x4 transform.
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
uint32_t * cbp_base
uint32_t * cbp
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 res_sm
 Simple/Main Profile sequence header.
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.
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


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 155 of file vc1.h.


Field Documentation

Definition at line 293 of file vc1.h.

Referenced by vc1_decode_i_blocks_adv(), and vc1_parse_frame_header_adv().

AC prediction flags bitplane.

Definition at line 292 of file vc1.h.

Referenced by 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 216 of file vc1.h.

Referenced by vop_dquant_decoding().

Relative position % anchors=> how to scale MVs.

Definition at line 248 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 310 of file vc1.h.

Referenced by vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 290 of file vc1.h.

5bits, quantized framerate-based postprocessing strength

Definition at line 199 of file vc1.h.

Referenced by decode_sequence_header(), and decode_sequence_header_adv().

Definition at line 285 of file vc1.h.

Definition at line 286 of file vc1.h.

TFF/RFF present.

Definition at line 179 of file vc1.h.

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

Broken link flag (BROKEN_LINK syntax element).

Definition at line 311 of file vc1.h.

Referenced by decode_entry_point().

HRD info.

Definition at line 251 of file vc1.h.

Definition at line 291 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 230 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().

uint32_t * VC1Context::cbp

Definition at line 309 of file vc1.h.

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

Definition at line 309 of file vc1.h.

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

CBPCY VLC table.

Definition at line 260 of file vc1.h.

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

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

Definition at line 177 of file vc1.h.

Referenced by decode_sequence_header_adv().

Closed entry point flag (CLOSED_ENTRY syntax element).

Definition at line 312 of file vc1.h.

Referenced by decode_entry_point().

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

Definition at line 236 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 237 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 185 of file vc1.h.

Referenced by decode_sequence_header_adv().

Definition at line 296 of file vc1.h.

Referenced by vc1_decode_i_blocks_adv(), and vc1_parse_frame_header_adv().

bitplane for "direct" MBs

Definition at line 263 of file vc1.h.

Referenced by vc1_decode_b_mb(), vc1_decode_end(), vc1_decode_init(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

direct mb plane is raw

Definition at line 265 of file vc1.h.

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

Definition at line 224 of file vc1.h.

Referenced by vop_dquant_decoding().

Definition at line 222 of file vc1.h.

Referenced by vop_dquant_decoding().

Definition at line 223 of file vc1.h.

Referenced by vop_dquant_decoding().

How qscale varies with MBs, 2bits (not in Simple).

Definition at line 202 of file vc1.h.

Referenced by decode_entry_point(), decode_sequence_header(), ff_vdpau_vc1_decode_picture(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), and vop_dquant_decoding().

pquant parameters

Definition at line 221 of file vc1.h.

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

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

Definition at line 184 of file vc1.h.

Referenced by decode_entry_point(), and ff_vdpau_vc1_decode_picture().

Ext MV in P/B (not in Simple).

Definition at line 201 of file vc1.h.

Referenced by decode_entry_point(), decode_sequence_header(), ff_vdpau_vc1_decode_picture(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Rounding of qpel vector to hpel ? (not in Simple).

Definition at line 200 of file vc1.h.

Referenced by decode_entry_point(), decode_sequence_header(), ff_vdpau_vc1_decode_picture(), vc1_interp_mc(), vc1_mc_1mv(), and vc1_mc_4mv_chroma().

uint8_t VC1Context::fcm

Frame decoding info for Advanced profile.

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

Definition at line 279 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), and vc1_parse_frame_header_adv().

3bits,

Definition at line 198 of file vc1.h.

Referenced by decode_sequence_header(), and decode_sequence_header_adv().

Definition at line 297 of file vc1.h.

Referenced by vc1_decode_end(), and vc1_init_common().

Definition at line 298 of file vc1.h.

Definition at line 289 of file vc1.h.

Referenced by decode_entry_point(), and decode_sequence_header_adv().

Presence of Hypothetical Reference Decoder parameters.

Definition at line 188 of file vc1.h.

Referenced by decode_entry_point(), and decode_sequence_header_adv().

Definition at line 297 of file vc1.h.

Referenced by vc1_decode_end(), and vc1_init_common().

Progressive/interlaced (RPTFTM syntax element).

Definition at line 180 of file vc1.h.

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

Definition at line 274 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 213 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 214 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 176 of file vc1.h.

Referenced by decode_sequence_header_adv().

Luma compensation parameters.

Definition at line 245 of file vc1.h.

Referenced by vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 246 of file vc1.h.

Referenced by 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 187 of file vc1.h.

Referenced by decode_sequence_header_adv().

uint8_t * VC1Context::mb_type[3]

Definition at line 240 of file vc1.h.

Referenced by vc1_decode_end(), and vc1_decode_init().

frame-level RESPIC syntax element present

Definition at line 165 of file vc1.h.

Referenced by decode_sequence_header(), ff_vdpau_vc1_decode_picture(), and vc1_parse_frame_header().

Frame decoding info for all profiles.

MV coding monde

Definition at line 211 of file vc1.h.

Referenced by vc1_b_mc(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Secondary MV coding mode (B frames).

Definition at line 212 of file vc1.h.

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

mv type mb plane is not coded

Definition at line 264 of file vc1.h.

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

bitplane for mv_type == (4MV)

Definition at line 262 of file vc1.h.

Referenced by 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 258 of file vc1.h.

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

Definition at line 280 of file vc1.h.

Overflags bitplane.

Definition at line 294 of file vc1.h.

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

Definition at line 295 of file vc1.h.

Referenced by vc1_decode_i_blocks_adv(), and vc1_parse_frame_header_adv().

Definition at line 305 of file vc1.h.

Referenced by vc1_decode_blocks(), and vc1_parse_frame_header_adv().

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

Definition at line 182 of file vc1.h.

Referenced by decode_entry_point(), ff_vdpau_vc1_decode_picture(), and vc1_parse_frame_header_adv().

Definition at line 288 of file vc1.h.

Referenced by vc1_parse_frame_header_adv().

Per-frame processing suggestion flag present.

Definition at line 178 of file vc1.h.

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

uint8_t VC1Context::pq

raw pqindex used in coding set selection

Definition at line 238 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().

Sequence header data for all Profiles TODO: choose between ints, uint8_ts and monobit flags.

2bits, Profile

Definition at line 197 of file vc1.h.

Referenced by decode_sequence_header(), vc1_decode_blocks(), vc1_decode_frame(), vc1_decode_init(), vc1_interp_mc(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), and vc1_pred_b_mv().

Progressive Segmented Frame.

Definition at line 190 of file vc1.h.

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

2bits, quantizer mode used for sequence, see QUANT_*

Definition at line 205 of file vc1.h.

Referenced by decode_entry_point(), decode_sequence_header(), ff_vdpau_vc1_decode_picture(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 302 of file vc1.h.

Referenced by decode_entry_point(), and ff_vdpau_vc1_decode_picture().

Definition at line 300 of file vc1.h.

Referenced by decode_entry_point(), and ff_vdpau_vc1_decode_picture().

Definition at line 301 of file vc1.h.

Referenced by decode_entry_point(), and ff_vdpau_vc1_decode_picture().

Definition at line 299 of file vc1.h.

Referenced by decode_entry_point(), and ff_vdpau_vc1_decode_picture().

MV range.

Definition at line 215 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 168 of file vc1.h.

Referenced by decode_sequence_header(), ff_vdpau_vc1_decode_picture(), and vc1_parse_frame_header().

Frame decoding info for S/M profiles only.

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

Definition at line 273 of file vc1.h.

Referenced by ff_vdpau_vc1_decode_picture(), vc1_decode_b_mb(), vc1_decode_p_mb(), vc1_interp_mc(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), vc1_parse_frame_header(), and vc1_put_block().

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

Definition at line 183 of file vc1.h.

Referenced by decode_entry_point(), and ff_vdpau_vc1_decode_picture().

reserved, always 1

Definition at line 166 of file vc1.h.

Referenced by decode_sequence_header().

reserved, set to 1

Definition at line 170 of file vc1.h.

Referenced by decode_sequence_header(), decode_sequence_header_adv(), and vc1_decode_frame().

Simple/Main Profile sequence header.

reserved, 2b

Definition at line 163 of file vc1.h.

Referenced by decode_sequence_header().

reserved, always 0

Definition at line 167 of file vc1.h.

Referenced by decode_sequence_header().

reserved

Definition at line 164 of file vc1.h.

Referenced by decode_sequence_header(), and vc1_parse_frame_header().

reserved

Definition at line 171 of file vc1.h.

Frame-level flag for resized images.

Definition at line 250 of file vc1.h.

Referenced by vc1_parse_frame_header().

uint8_t VC1Context::rff

Definition at line 282 of file vc1.h.

rounding control

Definition at line 269 of file vc1.h.

Referenced by vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 282 of file vc1.h.

Referenced by vc1_parse_frame_header_adv().

skip mb plane is not coded

Definition at line 266 of file vc1.h.

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

Definition at line 281 of file vc1.h.

TFCNTR present.

Definition at line 181 of file vc1.h.

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

uint8_t VC1Context::tff

Definition at line 282 of file vc1.h.

Referenced by vc1_parse_frame_header_adv().

Definition at line 283 of file vc1.h.

Definition at line 284 of file vc1.h.

8bits, Opto-electronic transfer characteristics

Definition at line 186 of file vc1.h.

Referenced by decode_sequence_header_adv().

Index for Transform Type tables.

Definition at line 261 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().

Value of ttblk which indicates a 4x4 transform.

Definition at line 235 of file vc1.h.

Transform type info present at frame level.

Definition at line 233 of file vc1.h.

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

Transform type flag.

Definition at line 234 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().

use intensity compensation in B-frames

Definition at line 268 of file vc1.h.

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

Definition at line 287 of file vc1.h.

Referenced by vc1_parse_frame_header_adv().

variable-size [48]x[48] transform type + info

Definition at line 203 of file vc1.h.

Referenced by decode_entry_point(), decode_sequence_header(), ff_vdpau_vc1_decode_picture(), vc1_parse_frame_header(), and vc1_parse_frame_header_adv().

Definition at line 157 of file vc1.h.

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

Definition at line 307 of file vc1.h.

Referenced by vc1_decode_blocks(), and vc1_parse_frame_header().

Luma index from AC2FRM element.

Definition at line 231 of file vc1.h.

Referenced by 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 218 of file vc1.h.

Referenced by decode_sequence_header(), and vc1_decode_p_block().

const uint8_t* VC1Context::zz_8x4

Zigzag scan table for TT_8x4 coding mode.

Definition at line 217 of file vc1.h.

Referenced by decode_sequence_header(), and vc1_decode_p_block().


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

Generated on Fri Oct 26 02:35:48 2012 for FFmpeg by  doxygen 1.5.8