FFmpeg
Public Attributes | List of all members
VC1Context Struct Reference

The VC1 Context. More...

#include <vc1.h>

Public Attributes

MpegEncContext s
 
IntraX8Context x8
 
H264ChromaContext h264chroma
 
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].
More...
 
uint8_t pquantizer
 Uniform (over sequence) quantizer in use.
 
VLCcbpcy_vlc
 CBPCY VLC table.
 
int tt_index
 Index for Transform Type tables (to decode TTMB)
 
uint8_t * mv_type_mb_plane
 bitplane for mv_type == (4MV)
 
uint8_t * direct_mb_plane
 bitplane for "direct" MBs
 
uint8_t * forward_mb_plane
 bitplane for "forward" MBs
 
int mv_type_is_raw
 mv type mb plane is not coded
 
int dmb_is_raw
 direct mb plane is raw
 
int fmb_is_raw
 forward mb plane is raw
 
int skip_is_raw
 skip mb plane is not coded
 
uint8_t last_luty [2][256]
 
uint8_t last_lutuv [2][256]
 lookup tables used for intensity compensation
 
uint8_t aux_luty [2][256]
 
uint8_t aux_lutuv [2][256]
 lookup tables used for intensity compensation
 
uint8_t next_luty [2][256]
 
uint8_t next_lutuv [2][256]
 lookup tables used for intensity compensation
 
uint8_t(* curr_luty )[256]
 
uint8_t((* curr_lutuv )[256]
 
int last_use_ic
 
int * curr_use_ic
 
int next_use_ic
 
int aux_use_ic
 
int rnd
 rounding control
 
int cbptab
 
uint8_t dmvrange
 Frame decoding info for interlaced picture. More...
 
int fourmvswitch
 
int intcomp
 
uint8_t lumscale2
 for interlaced field P picture
 
uint8_t lumshift2
 
VLCmbmode_vlc
 
VLCimv_vlc
 
VLCtwomvbp_vlc
 
VLCfourmvbp_vlc
 
uint8_t twomvbp
 
uint8_t fourmvbp
 
uint8_t * fieldtx_plane
 
int fieldtx_is_raw
 
uint8_t zzi_8x8 [64]
 
uint8_t * blk_mv_type_base
 
uint8_t * blk_mv_type
 0: frame MV, 1: field MV (interlaced frame)
 
uint8_t * mv_f_base
 
uint8_t * mv_f [2]
 0: MV obtained from same field, 1: opposite field
 
uint8_t * mv_f_next_base
 
uint8_t * mv_f_next [2]
 
int field_mode
 1 for interlaced field pictures
 
int fptype
 
int second_field
 
int refdist
 distance of the current picture from reference
 
int numref
 number of past field pictures used as reference
 
int reffield
 if numref = 0 (1 reference) then reffield decides which
 
int intcompfield
 which of the two fields to be intensity compensated
 
int cur_field_type
 0: top, 1: bottom
 
int ref_field_type [2]
 forward and backward reference field type (top or bottom)
 
int blocks_off
 
int mb_off
 
int qs_last
 if qpel has been used in the previous (tr.) picture
 
int bmvtype
 
int frfd
 
int brfd
 reference frame distance (forward or backward)
 
int first_pic_header_flag
 
int pic_header_flag
 
int mbmodetab
 
int icbptab
 
int imvtab
 
int twomvbptab
 
int fourmvbptab
 
int p_frame_skipped
 
int bi_type
 
int x8_type
 
int16_t(* 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 end_mb_x
 Horizontal macroblock limit (used only by mss2)
 
int parse_only
 Context is used within parser.
 
int resync_marker
 could this stream contain resync markers
 
int res_sprite
 Simple/Main Profile sequence header. More...
 
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. More...
 
int chromaformat
 2 bits, 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
 8 bits, chroma coordinates of the color primaries
 
int transfer_char
 8 bits, Opto-electronic transfer characteristics
 
int matrix_coef
 8 bits, 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. More...
 
int frmrtq_postproc
 3 bits,
 
int bitrtq_postproc
 5 bits, quantized framerate-based postprocessing strength
 
int max_coded_width
 
int max_coded_height
 
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, 2 bits (not in Simple)
 
int vstransform
 variable-size [48]x[48] transform type + info
 
int overlap
 overlapped transforms in use
 
int quantizer_mode
 2 bits, quantizer mode used for sequence, see QUANT_*
 
int finterpflag
 INTERPFRM present.
 
uint8_t mv_mode
 Frame decoding info for all profiles. More...
 
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. More...
 
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. More...
 
uint8_t interpfrm
 
enum FrameCodingMode 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
 
AVFramesprite_output_frame
 
int output_width
 
int output_height
 
int sprite_width
 
int sprite_height
 
uint8_t * sr_rows [2][2]
 Sprite resizer line cache.
 

Detailed Description

The VC1 Context.

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

Member Data Documentation

§ c_ac_table_index

int VC1Context::c_ac_table_index

AC coding set indexes.

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

§ dmvrange

uint8_t VC1Context::dmvrange

Frame decoding info for interlaced picture.

Extended differential MV range flag

§ level

int VC1Context::level

Advanced Profile.

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

§ mv_mode

uint8_t VC1Context::mv_mode

Frame decoding info for all profiles.

MV coding mode

§ mvrange

uint8_t VC1Context::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].

Extended MV range flag

§ profile

int VC1Context::profile

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

2 bits, Profile

§ rangeredfrm

uint8_t VC1Context::rangeredfrm

Frame decoding info for S/M profiles only.

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

§ res_sprite

int VC1Context::res_sprite

Simple/Main Profile sequence header.

reserved, sprite mode


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