Libavcodec external API header.
main external API structure.
This structure describes decoded (raw) audio or video data.
uint8_t * sr_rows[2][2]
Sprite resizer line cache.
int16_t(* luma_mv_base)[2]
int pqindex
raw pqindex used in coding set selection
int tfcntrflag
TFCNTR present.
int transfer_char
8 bits, Opto-electronic transfer characteristics
int profile
Sequence header data for all Profiles TODO: choose between ints, uint8_ts and monobit flags.
int tt_index
Index for Transform Type tables (to decode TTMB)
int top_blk_sh
Either 3 or 0, positions of l/t in blk[].
int k_x
Number of bits for MVs (depends on MV range)
uint8_t * over_flags_plane
Overflags bitplane.
uint8_t * direct_mb_plane
bitplane for "direct" MBs
uint8_t last_luty[2][256]
int first_pic_header_flag
uint8_t bfraction_lut_index
Index for BFRACTION value (see Table 40, reproduced into ff_vc1_bfraction_lut[])
int brfd
reference frame distance (forward or backward)
int skip_is_raw
skip mb plane is not coded
int dquant
How qscale varies with MBs, 2 bits (not in Simple)
int reffield
if numref = 0 (1 reference) then reffield decides which
int multires
frame-level RESPIC syntax element present
const uint8_t * zz_4x8
Zigzag scan table for TT_4x8 coding mode.
uint8_t ttmbf
Transform type flag.
int ref_field_type[2]
forward and backward reference field type (top or bottom)
uint8_t buffer_size_exponent
int new_sprite
Frame decoding info for sprite modes.
int finterpflag
INTERPFRM present.
int extended_mv
Ext MV in P/B (not in Simple)
uint8_t pquantizer
Uniform (over sequence) quantizer in use.
int buffer_fullness
HRD info.
uint8_t zz_8x8[4][64]
Zigzag table for TT_8x8, permuted for IDCT.
int qs_last
if qpel has been used in the previous (tr.) picture
int end_mb_x
Horizontal macroblock limit (used only by mss2)
uint8_t altpq
Current/alternate frame quantizer scale.
int extended_dmv
Additional extended dmv range at P/B-frame-level.
int panscanflag
NUMPANSCANWIN, TOPLEFT{X,Y}, BOTRIGHT{X,Y} present.
H264ChromaContext h264chroma
int parse_only
Context is used within parser.
int * ttblk
Transform type at the block level.
uint8_t mv_mode2
Secondary MV coding mode (B-frames)
int psf
Progressive Segmented Frame.
int res_rtm_flag
reserved, set to 1
int res_fasttx
reserved, always 1
int refdist
distance of the current picture from reference
int field_mode
1 for interlaced field pictures
uint8_t broken_link
Broken link flag (BROKEN_LINK syntax element)
int16_t bfraction
Relative position % anchors=> how to scale MVs.
uint8_t rangeredfrm
Frame decoding info for S/M profiles only.
int res_sprite
Simple/Main Profile sequence header.
int codingset2
index of current table set from 11.8 to use for chroma block decoding
int quantizer_mode
2 bits, quantizer mode used for sequence, see QUANT_*
uint8_t next_luty[2][256]
int broadcast
TFF/RFF present.
int res_y411
reserved, old interlaced mode
int refdist_flag
REFDIST syntax element present in II, IP, PI or PP field picture headers.
int chromaformat
2 bits, 2=4:2:0, only defined
uint8_t * mv_type_mb_plane
bitplane for mv_type == (4MV)
int overlap
overlapped transforms in use
int fmb_is_raw
forward mb plane is raw
int color_prim
8 bits, chroma coordinates of the color primaries
VLC * cbpcy_vlc
CBPCY VLC table.
uint8_t closed_entry
Closed entry point flag (CLOSED_ENTRY syntax element)
uint8_t * mv_f[2]
0: MV obtained from same field, 1: opposite field
uint8_t * acpred_plane
AC prediction flags bitplane.
int intcompfield
which of the two fields to be intensity compensated
int codingset
index of current table set from 11.8 to use for luma block decoding
uint8_t next_lutuv[2][256]
lookup tables used for intensity compensation
uint8_t dmvrange
Frame decoding info for interlaced picture.
int hrd_num_leaky_buckets
uint8_t * blk_mv_type
0: frame MV, 1: field MV (interlaced frame)
int res_transtab
reserved, always 0
int bitrtq_postproc
5 bits, quantized framerate-based postprocessing strength
int level
Advanced Profile.
uint8_t mv_mode
Frame decoding info for all profiles.
uint8_t dquantfrm
pquant parameters
int dmb_is_raw
direct mb plane is raw
int k_y
Number of bits for MVs (depends on MV range)
int hrd_param_flag
Presence of Hypothetical Reference Decoder parameters.
int cur_field_type
0: top, 1: bottom
int postprocflag
Per-frame processing suggestion flag present.
enum FrameCodingMode fcm
Frame decoding info for Advanced profile.
int interlace
Progressive/interlaced (RPTFTM syntax element)
uint8_t(* curr_luty)[256]
uint8_t lumscale
Luma compensation parameters.
int c_ac_table_index
AC coding set indexes.
const uint8_t * zz_8x4
Zigzag scan table for TT_8x4 coding mode.
uint8_t lumscale2
for interlaced field P picture
int resync_marker
could this stream contain resync markers
int ttfrm
Transform type info present at frame level.
int y_ac_table_index
Luma index from AC2FRM element.
uint8_t * blk_mv_type_base
uint8_t last_lutuv[2][256]
lookup tables used for intensity compensation
uint8_t halfpq
Uniform quant over image and qp+.5.
uint8_t * forward_mb_plane
bitplane for "forward" MBs
uint8_t aux_lutuv[2][256]
lookup tables used for intensity compensation
AVFrame * sprite_output_frame
int matrix_coef
8 bits, Color primaries->YCbCr transform matrix
uint8_t respic
Frame-level flag for resized images.
int fastuvmc
Rounding of qpel vector to hpel ? (not in Simple)
int mv_type_is_raw
mv type mb plane is not coded
int frmrtq_postproc
3 bits,
int numref
number of past field pictures used as reference
uint8_t bit_rate_exponent
int rangered
RANGEREDFRM (range reduction) syntax element present at frame level.
int vstransform
variable-size [48]x[48] transform type + info
void ff_vc1_p_overlap_filter(VC1Context *v)
void ff_vc1_p_intfr_loop_filter(VC1Context *v)
void ff_vc1_b_intfi_loop_filter(VC1Context *v)
MBModesIntfr
MBMODE for interlaced frame P-picture.
@ MV_PMODE_INTFR_2MV_FIELD
@ MV_PMODE_INTFR_4MV_FIELD
int ff_vc1_init_common(VC1Context *v)
Init VC-1 specific tables and VC1Context members.
int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext *gb)
int ff_vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitContext *gb)
Decode Simple/Main Profiles sequence header.
int ff_vc1_decode_init_alloc_tables(VC1Context *v)
void ff_vc1_mc_4mv_luma(VC1Context *v, int n, int dir, int avg)
Do motion compensation for 4-MV macroblock - luminance block.
int ff_vc1_parse_frame_header(VC1Context *v, GetBitContext *gb)
void ff_vc1_i_loop_filter(VC1Context *v)
int ff_vc1_decode_entry_point(AVCodecContext *avctx, VC1Context *v, GetBitContext *gb)
int ff_vc1_decode_end(AVCodecContext *avctx)
Close a VC1/WMV3 decoder.
void ff_vc1_mc_4mv_chroma4(VC1Context *v, int dir, int dir2, int avg)
Do motion compensation for 4-MV interlaced frame chroma macroblock (both U and V)
DQDoubleEdge
Which pair of edges is quantized with ALTPQUANT.
@ DQDOUBLE_BEDGE_TOPRIGHT
@ DQDOUBLE_BEDGE_BOTTOMLEFT
@ DQDOUBLE_BEDGE_BOTTOMRIGHT
void ff_vc1_decode_blocks(VC1Context *v)
void ff_vc1_i_overlap_filter(VC1Context *v)
void ff_vc1_init_transposed_scantables(VC1Context *v)
void ff_vc1_mc_4mv_chroma(VC1Context *v, int dir)
Do motion compensation for 4-MV macroblock - both chroma blocks.
FrameCodingMode
FCM Frame Coding Mode.
@ PROGRESSIVE
in the bitstream is reported as 00b
@ ILACE_FIELD
in the bitstream is reported as 11b
@ ILACE_FRAME
in the bitstream is reported as 10b
QuantMode
Sequence quantizer mode.
@ QUANT_FRAME_EXPLICIT
Explicitly specified at frame level.
@ QUANT_FRAME_IMPLICIT
Implicitly specified at frame level.
@ QUANT_NON_UNIFORM
Non-uniform quant used for all frames.
@ QUANT_UNIFORM
Uniform quant used for all frames.
MVModes
MV modes for P-frames.
@ MV_PMODE_INTENSITY_COMP
@ MV_PMODE_1MV_HPEL_BILIN
void ff_vc1_p_loop_filter(VC1Context *v)
void ff_vc1_interp_mc(VC1Context *v)
Motion compensation for direct or interpolated blocks in B-frames.
DQProfile
Where quant can be changed.
void ff_vc1_mc_1mv(VC1Context *v, int dir)
Do motion compensation over 1 macroblock Mostly adapted hpel_motion and qpel_motion from mpegvideo....