FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
H264Context Struct Reference

H264Context. More...

#include <h264.h>

Data Fields

AVCodecContextavctx
 
MECmpContext mecc
 
VideoDSPContext vdsp
 
H264DSPContext h264dsp
 
H264ChromaContext h264chroma
 
H264QpelContext h264qpel
 
ParseContext parse_context
 
GetBitContext gb
 
ERContext er
 
H264PictureDPB
 
H264Picturecur_pic_ptr
 
H264Picture cur_pic
 
int pixel_shift
 0 for 8-bit H264, 1 for high-bit-depth H264
 
int chroma_qp [2]
 
int qp_thresh
 QP threshold to skip loopfilter.
 
int width
 
int height
 
ptrdiff_t linesize
 
ptrdiff_t uvlinesize
 
int chroma_x_shift
 
int chroma_y_shift
 
int qscale
 
int droppable
 
int data_partitioning
 
int coded_picture_number
 
int low_delay
 
int context_initialized
 
int flags
 
int workaround_bugs
 
int prev_mb_skipped
 
int next_mb_skipped
 
int chroma_pred_mode
 
int intra16x16_pred_mode
 
int topleft_mb_xy
 
int top_mb_xy
 
int topright_mb_xy
 
int left_mb_xy [LEFT_MBS]
 
int topleft_type
 
int top_type
 
int topright_type
 
int left_type [LEFT_MBS]
 
const uint8_tleft_block
 
int topleft_partition
 
int8_t intra4x4_pred_mode_cache [5 *8]
 
int8_t * intra4x4_pred_mode
 
H264PredContext hpc
 
unsigned int topleft_samples_available
 
unsigned int top_samples_available
 
unsigned int topright_samples_available
 
unsigned int left_samples_available
 
uint8_t(*[2] top_borders )[(16 *3)*2]
 
uint8_t non_zero_count_cache [15 *8]
 non zero coeff count cache.
 
uint8_t(* non_zero_count )[48]
 
int16_t mv_cache [2][5 *8][2]
 Motion vector cache.
 
int8_t ref_cache [2][5 *8]
 
int neighbor_transform_size
 number of neighbors (top and/or left) that used 8x8 dct
 
int block_offset [2 *(16 *3)]
 block_offset[ 0..23] for frame macroblocks block_offset[24..47] for field macroblocks
 
uint32_t * mb2b_xy
 
uint32_t * mb2br_xy
 
int b_stride
 
ptrdiff_t mb_linesize
 may be equal to s->linesize or s->linesize * 2, for mbaff
 
ptrdiff_t mb_uvlinesize
 
unsigned current_sps_id
 id of the current SPS
 
SPS sps
 current sps
 
PPS pps
 current pps
 
int au_pps_id
 pps_id of current access unit
 
uint32_t dequant4_buffer [6][QP_MAX_NUM+1][16]
 
uint32_t dequant8_buffer [6][QP_MAX_NUM+1][64]
 
uint32_t(*[6] dequant4_coeff )[16]
 
uint32_t(*[6] dequant8_coeff )[64]
 
int slice_num
 
uint16_t * slice_table
 slice_table_base + 2*mb_stride + 1
 
int slice_type
 
int slice_type_nos
 S free slice type (SI/SP are remapped to I/P)
 
int slice_type_fixed
 
int mb_aff_frame
 
int mb_field_decoding_flag
 
int mb_mbaff
 mb_aff_frame && mb_field_decoding_flag
 
int picture_structure
 
int first_field
 
uint16_t sub_mb_type [4]
 
int use_weight
 
int use_weight_chroma
 
int luma_log2_weight_denom
 
int chroma_log2_weight_denom
 
int luma_weight [48][2][2]
 
int chroma_weight [48][2][2][2]
 
int implicit_weight [48][48][2]
 
int direct_spatial_mv_pred
 
int col_parity
 
int col_fieldoff
 
int dist_scale_factor [32]
 
int dist_scale_factor_field [2][32]
 
int map_col_to_list0 [2][16+32]
 
int map_col_to_list0_field [2][2][16+32]
 
unsigned int ref_count [2]
 num_ref_idx_l0/1_active_minus1 + 1
 
unsigned int list_count
 
uint8_tlist_counts
 Array of list_count per MB specifying the slice type.
 
H264Picture ref_list [2][48]
 0..15: frame refs, 16..47: mbaff field refs.
 
int ref2frm [MAX_SLICES][2][64]
 reference to frame number lists, used in the loop filter, the first 2 are for -2,-1
 
GetBitContext intra_gb
 
GetBitContext inter_gb
 
GetBitContextintra_gb_ptr
 
GetBitContextinter_gb_ptr
 
const uint8_tintra_pcm_ptr
 
int16_t mb [16 *48 *2]
 as a dct coefficient is int32_t in high depth, we need to reserve twice the space.
 
int16_t mb_luma_dc [3][16 *2]
 
int16_t mb_padding [256 *2]
 as mb is addressed by scantable[i] and scantable is uint8_t we can either check that i is not too large or ensure that there is some unused stuff after mb
 
CABACContext cabac
 Cabac.
 
uint8_t cabac_state [1024]
 
uint16_t * cbp_table
 
int cbp
 
int top_cbp
 
int left_cbp
 
uint8_tchroma_pred_mode_table
 
int last_qscale_diff
 
uint8_t(*[2] mvd_table )[2]
 
uint8_t mvd_cache [2][5 *8][2]
 
uint8_tdirect_table
 
uint8_t direct_cache [5 *8]
 
uint8_t zigzag_scan [16]
 
uint8_t zigzag_scan8x8 [64]
 
uint8_t zigzag_scan8x8_cavlc [64]
 
uint8_t field_scan [16]
 
uint8_t field_scan8x8 [64]
 
uint8_t field_scan8x8_cavlc [64]
 
uint8_t zigzag_scan_q0 [16]
 
uint8_t zigzag_scan8x8_q0 [64]
 
uint8_t zigzag_scan8x8_cavlc_q0 [64]
 
uint8_t field_scan_q0 [16]
 
uint8_t field_scan8x8_q0 [64]
 
uint8_t field_scan8x8_cavlc_q0 [64]
 
int x264_build
 
int mb_x
 
int mb_y
 
int resync_mb_x
 
int resync_mb_y
 
int mb_skip_run
 
int mb_height
 
int mb_width
 
int mb_stride
 
int mb_num
 
int mb_xy
 
int is_complex
 
int deblocking_filter
 disable_deblocking_filter_idc with 1 <-> 0
 
int slice_alpha_c0_offset
 
int slice_beta_offset
 
int nal_ref_idc
 
int nal_unit_type
 
uint8_trbsp_buffer [2]
 
unsigned int rbsp_buffer_size [2]
 
int is_avc
 Used to parse AVC variant of h264.
 
int nal_length_size
 Number of bytes used for nal length (1, 2 or 4)
 
int got_first
 this flag is != 0 if we've parsed a frame
 
int bit_depth_luma
 luma bit depth from sps to detect changes
 
int chroma_format_idc
 chroma format from sps to detect changes
 
SPSsps_buffers [MAX_SPS_COUNT]
 
PPSpps_buffers [MAX_PPS_COUNT]
 
int dequant_coeff_pps
 reinit tables when pps changes
 
uint16_t * slice_table_base
 
int poc_lsb
 
int poc_msb
 
int delta_poc_bottom
 
int delta_poc [2]
 
int frame_num
 
int prev_poc_msb
 poc_msb of the last reference pic for POC type 0
 
int prev_poc_lsb
 poc_lsb of the last reference pic for POC type 0
 
int frame_num_offset
 for POC type 2
 
int prev_frame_num_offset
 for POC type 2
 
int prev_frame_num
 frame_num of the last pic for POC type 1/2
 
int curr_pic_num
 frame_num for frames or 2 * frame_num + 1 for field pics.
 
int max_pic_num
 max_frame_num or 2 * max_frame_num for field pics.
 
int redundant_pic_count
 
H264Picture default_ref_list [2][32]
 base reference list for all slices of a coded picture
 
H264Pictureshort_ref [32]
 
H264Picturelong_ref [32]
 
H264Picturedelayed_pic [MAX_DELAYED_PIC_COUNT+2]
 
int last_pocs [MAX_DELAYED_PIC_COUNT]
 
H264Picturenext_output_pic
 
int outputed_poc
 
int next_outputed_poc
 
MMCO mmco [MAX_MMCO_COUNT]
 memory management control operations buffer.
 
int mmco_index
 
int mmco_reset
 
int long_ref_count
 number of actual long term references
 
int short_ref_count
 number of actual short term references
 
int cabac_init_idc
 
SEI_PicStructType sei_pic_struct
 pic_struct in picture timing SEI message
 
int prev_interlaced_frame
 Complement sei_pic_struct SEI_PIC_STRUCT_TOP_BOTTOM and SEI_PIC_STRUCT_BOTTOM_TOP indicate interlaced frames.
 
int sei_frame_packing_present
 frame_packing_arrangment SEI message
 
int frame_packing_arrangement_type
 
int content_interpretation_type
 
int quincunx_subsampling
 
int sei_display_orientation_present
 display orientation SEI message
 
int sei_anticlockwise_rotation
 
int sei_hflip
 
int sei_vflip
 
int sei_ct_type
 Bit set of clock types for fields/frames in picture timing SEI message.
 
int sei_dpb_output_delay
 dpb_output_delay in picture timing SEI message, see H.264 C.2.2
 
int sei_cpb_removal_delay
 cpb_removal_delay in picture timing SEI message, see H.264 C.1.2
 
int sei_recovery_frame_cnt
 recovery_frame_cnt from SEI message
 
int valid_recovery_point
 Are the SEI recovery points looking valid.
 
FPA sei_fpa
 
int recovery_frame
 recovery_frame is the frame_num at which the next frame should be fully constructed.
 
int frame_recovered
 Initial frame has been completely recovered.
 
int has_recovery_point
 
int luma_weight_flag [2]
 7.4.3.2 luma_weight_lX_flag
 
int chroma_weight_flag [2]
 7.4.3.2 chroma_weight_lX_flag
 
int sei_buffering_period_present
 Buffering period SEI flag.
 
int initial_cpb_removal_delay [32]
 Initial timestamps for CPBs.
 
int cur_chroma_format_idc
 
uint8_tbipred_scratchpad
 
int16_t slice_row [MAX_SLICES]
 to detect when MAX_SLICES is too low
 
uint8_t parse_history [6]
 
int parse_history_count
 
int parse_last_mb
 
uint8_tedge_emu_buffer
 
int16_t * dc_val_base
 
AVBufferPoolqscale_table_pool
 
AVBufferPoolmb_type_pool
 
AVBufferPoolmotion_val_pool
 
AVBufferPoolref_index_pool
 
qpel_mc_func(* qpel_put )[16]
 
qpel_mc_func(* qpel_avg )[16]
 
Members for slice based multithreading
struct H264Contextthread_context [H264_MAX_THREADS]
 
int current_slice
 current slice number, used to initialize slice_num of each thread/context
 
int max_contexts
 Max number of threads / contexts.
 
int slice_context_count
 
int single_decode_warning
 1 if the single thread fallback warning has already been displayed, 0 otherwise.
 
enum AVPictureType pict_type
 
int last_slice_type
 
unsigned int last_ref_count [2]
 

Detailed Description

H264Context.

Definition at line 339 of file h264.h.

Field Documentation

AVCodecContext* H264Context::avctx

Definition at line 340 of file h264.h.

Referenced by alloc_picture(), await_reference_mb_row(), clone_tables(), decode_buffering_period(), decode_cabac_mb_mvd(), decode_frame_packing_arrangement(), decode_hrd_parameters(), decode_nal_units(), decode_picture_timing(), decode_postinit(), decode_rbsp_trailing(), decode_recovery_point(), decode_residual(), decode_slice(), decode_unregistered_user_data(), decode_user_data_itu_t_t35(), decode_vui_parameters(), dxva2_h264_end_frame(), fetch_diagonal_mv(), ff_generate_sliding_window_mmcos(), ff_h264_alloc_tables(), ff_h264_check_intra4x4_pred_mode(), ff_h264_check_intra_pred_mode(), ff_h264_context_init(), ff_h264_decode_extradata(), ff_h264_decode_init(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_nal(), ff_h264_decode_picture_parameter_set(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_decode_ref_pic_marking(), ff_h264_decode_sei(), ff_h264_decode_seq_parameter_set(), ff_h264_decode_slice_header(), ff_h264_draw_horiz_band(), ff_h264_execute_decode_slices(), ff_h264_execute_ref_pic_marking(), ff_h264_field_end(), ff_h264_fill_default_ref_list(), ff_h264_filter_mb(), ff_h264_set_parameter_from_sps(), ff_h264_unref_picture(), ff_h264_update_thread_context(), ff_set_ref_count(), filter_mb_dir(), find_short(), get_avc_nalsize(), get_pixel_format(), h264_decode_frame(), h264_er_decode_mb(), h264_find_frame_end(), h264_frame_start(), h264_parse(), h264_slice_header_init(), init_dimensions(), more_rbsp_data_in_pps(), parse_nal_units(), pred_16x8_motion(), pred_8x16_motion(), pred_intra_mode(), pred_motion(), pred_non_zero_count(), pred_pskip_motion(), print_long_term(), print_short_term(), remove_short(), scan_mmco_reset(), svq3_decode_frame(), svq3_decode_mb(), svq3_decode_slice_header(), svq3_mc_dir(), vaapi_h264_end_frame(), and vdpau_h264_end_frame().

MECmpContext H264Context::mecc
VideoDSPContext H264Context::vdsp
H264DSPContext H264Context::h264dsp
H264ChromaContext H264Context::h264chroma
H264QpelContext H264Context::h264qpel
ParseContext H264Context::parse_context

Definition at line 346 of file h264.h.

Referenced by close(), flush_dpb(), h264_find_frame_end(), and h264_parse().

GetBitContext H264Context::gb
ERContext H264Context::er
H264Picture* H264Context::DPB
H264Picture* H264Context::cur_pic_ptr
H264Picture H264Context::cur_pic
int H264Context::pixel_shift
int H264Context::chroma_qp[2]
int H264Context::qp_thresh

QP threshold to skip loopfilter.

Definition at line 357 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and fill_filter_caches().

int H264Context::width
int H264Context::height
ptrdiff_t H264Context::linesize
ptrdiff_t H264Context::uvlinesize
int H264Context::chroma_x_shift

Definition at line 362 of file h264.h.

Referenced by h264_slice_header_init(), and svq3_decode_init().

int H264Context::chroma_y_shift
int H264Context::qscale
int H264Context::droppable
int H264Context::data_partitioning

Definition at line 366 of file h264.h.

Referenced by decode_nal_units(), h264_decode_frame(), and h264_slice_header_init().

int H264Context::coded_picture_number

Definition at line 367 of file h264.h.

Referenced by ff_h264_update_thread_context(), and h264_frame_start().

int H264Context::low_delay
int H264Context::context_initialized
int H264Context::flags
int H264Context::workaround_bugs
int H264Context::prev_mb_skipped

Definition at line 374 of file h264.h.

Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().

int H264Context::next_mb_skipped

Definition at line 375 of file h264.h.

Referenced by ff_h264_decode_mb_cabac().

int H264Context::chroma_pred_mode

Definition at line 378 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and svq3_decode_mb().

int H264Context::intra16x16_pred_mode
int H264Context::topleft_mb_xy

Definition at line 381 of file h264.h.

Referenced by fill_decode_caches(), fill_decode_neighbors(), and pred_pskip_motion().

int H264Context::top_mb_xy
int H264Context::topright_mb_xy

Definition at line 383 of file h264.h.

Referenced by fill_decode_caches(), fill_decode_neighbors(), and pred_pskip_motion().

int H264Context::left_mb_xy[LEFT_MBS]
int H264Context::topleft_type

Definition at line 386 of file h264.h.

Referenced by fill_decode_caches(), fill_decode_neighbors(), and pred_pskip_motion().

int H264Context::top_type
int H264Context::topright_type

Definition at line 388 of file h264.h.

Referenced by fill_decode_caches(), fill_decode_neighbors(), and pred_pskip_motion().

int H264Context::left_type[LEFT_MBS]
const uint8_t* H264Context::left_block

Definition at line 391 of file h264.h.

Referenced by fill_decode_caches(), fill_decode_neighbors(), and pred_pskip_motion().

int H264Context::topleft_partition

Definition at line 392 of file h264.h.

Referenced by fill_decode_caches(), fill_decode_neighbors(), and pred_pskip_motion().

int8_t H264Context::intra4x4_pred_mode_cache[5 *8]
int8_t* H264Context::intra4x4_pred_mode
H264PredContext H264Context::hpc
unsigned int H264Context::topleft_samples_available

Definition at line 397 of file h264.h.

Referenced by fill_decode_caches(), and hl_decode_mb_predict_luma().

unsigned int H264Context::top_samples_available
unsigned int H264Context::topright_samples_available

Definition at line 399 of file h264.h.

Referenced by fill_decode_caches(), hl_decode_mb_predict_luma(), and svq3_decode_mb().

unsigned int H264Context::left_samples_available
uint8_t(*[2] H264Context::top_borders)[(16 *3)*2]
uint8_t H264Context::non_zero_count_cache[15 *8]
uint8_t(* H264Context::non_zero_count)[48]
int16_t H264Context::mv_cache[2][5 *8][2]
int8_t H264Context::ref_cache[2][5 *8]
int H264Context::neighbor_transform_size

number of neighbors (top and/or left) that used 8x8 dct

Definition at line 422 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and fill_decode_caches().

int H264Context::block_offset[2 *(16 *3)]

block_offset[ 0..23] for frame macroblocks block_offset[24..47] for field macroblocks

Definition at line 428 of file h264.h.

Referenced by clone_slice(), decode_slice(), ff_h264_update_thread_context(), h264_frame_start(), hl_decode_mb(), hl_decode_mb_444(), hl_decode_mb_idct_luma(), and svq3_decode_frame().

uint32_t* H264Context::mb2b_xy
uint32_t* H264Context::mb2br_xy
int H264Context::b_stride
ptrdiff_t H264Context::mb_linesize

may be equal to s->linesize or s->linesize * 2, for mbaff

Definition at line 434 of file h264.h.

Referenced by loop_filter(), mc_dir_part(), mc_part_std(), mc_part_weighted(), and prefetch_motion().

ptrdiff_t H264Context::mb_uvlinesize

Definition at line 435 of file h264.h.

Referenced by loop_filter(), mc_dir_part(), mc_part_std(), and mc_part_weighted().

unsigned H264Context::current_sps_id

id of the current SPS

Definition at line 437 of file h264.h.

Referenced by ff_h264_decode_init(), and ff_h264_decode_slice_header().

SPS H264Context::sps
PPS H264Context::pps
int H264Context::au_pps_id

pps_id of current access unit

Definition at line 441 of file h264.h.

Referenced by decode_nal_units(), and ff_h264_decode_slice_header().

uint32_t H264Context::dequant4_buffer[6][QP_MAX_NUM+1][16]

Definition at line 443 of file h264.h.

Referenced by ff_h264_update_thread_context(), and init_dequant4_coeff_table().

uint32_t H264Context::dequant8_buffer[6][QP_MAX_NUM+1][64]

Definition at line 444 of file h264.h.

Referenced by ff_h264_update_thread_context(), and init_dequant8_coeff_table().

uint32_t(*[6] H264Context::dequant4_coeff)[16]
uint32_t(*[6] H264Context::dequant8_coeff)[64]
int H264Context::slice_num
uint16_t* H264Context::slice_table
int H264Context::slice_type
int H264Context::slice_type_nos
int H264Context::slice_type_fixed

Definition at line 452 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and fill_slice_long().

int H264Context::mb_aff_frame

Definition at line 455 of file h264.h.

Referenced by ff_h264_decode_slice_header().

int H264Context::mb_field_decoding_flag
int H264Context::mb_mbaff

mb_aff_frame && mb_field_decoding_flag

Definition at line 457 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_slice_header(), h264_er_decode_mb(), loop_filter(), and predict_field_decoding_flag().

int H264Context::picture_structure
int H264Context::first_field
uint16_t H264Context::sub_mb_type[4]
int H264Context::use_weight
int H264Context::use_weight_chroma
int H264Context::luma_log2_weight_denom
int H264Context::chroma_log2_weight_denom
int H264Context::luma_weight[48][2][2]
int H264Context::chroma_weight[48][2][2][2]
int H264Context::implicit_weight[48][48][2]

Definition at line 471 of file h264.h.

Referenced by implicit_weight_table(), mc_part(), and mc_part_weighted().

int H264Context::direct_spatial_mv_pred
int H264Context::col_parity
int H264Context::col_fieldoff
int H264Context::dist_scale_factor[32]

Definition at line 476 of file h264.h.

Referenced by ff_h264_direct_dist_scale_factor(), and pred_temp_direct_motion().

int H264Context::dist_scale_factor_field[2][32]

Definition at line 477 of file h264.h.

Referenced by ff_h264_direct_dist_scale_factor(), and pred_temp_direct_motion().

int H264Context::map_col_to_list0[2][16+32]

Definition at line 478 of file h264.h.

Referenced by ff_h264_direct_ref_list_init(), and pred_temp_direct_motion().

int H264Context::map_col_to_list0_field[2][2][16+32]

Definition at line 479 of file h264.h.

Referenced by ff_h264_direct_ref_list_init(), and pred_temp_direct_motion().

unsigned int H264Context::ref_count[2]
unsigned int H264Context::list_count
uint8_t* H264Context::list_counts

Array of list_count per MB specifying the slice type.

Definition at line 486 of file h264.h.

Referenced by clone_tables(), ff_h264_alloc_tables(), ff_h264_free_tables(), and loop_filter().

H264Picture H264Context::ref_list[2][48]
int H264Context::ref2frm[MAX_SLICES][2][64]

reference to frame number lists, used in the loop filter, the first 2 are for -2,-1

Definition at line 490 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and fill_filter_caches_inter().

GetBitContext H264Context::intra_gb

Definition at line 493 of file h264.h.

Referenced by decode_nal_units().

GetBitContext H264Context::inter_gb

Definition at line 494 of file h264.h.

Referenced by decode_nal_units().

GetBitContext* H264Context::intra_gb_ptr

Definition at line 495 of file h264.h.

Referenced by decode_luma_residual(), decode_nal_units(), and ff_h264_decode_mb_cavlc().

GetBitContext* H264Context::inter_gb_ptr

Definition at line 496 of file h264.h.

Referenced by decode_nal_units(), and ff_h264_decode_mb_cavlc().

const uint8_t* H264Context::intra_pcm_ptr

Definition at line 498 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().

int16_t H264Context::mb[16 *48 *2]

as a dct coefficient is int32_t in high depth, we need to reserve twice the space.

Definition at line 499 of file h264.h.

Referenced by decode_cabac_luma_residual(), decode_luma_residual(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_update_thread_context(), hl_decode_mb_idct_luma(), hl_decode_mb_predict_luma(), and svq3_decode_mb().

int16_t H264Context::mb_luma_dc[3][16 *2]
int16_t H264Context::mb_padding[256 *2]

as mb is addressed by scantable[i] and scantable is uint8_t we can either check that i is not too large or ensure that there is some unused stuff after mb

Definition at line 501 of file h264.h.

Referenced by ff_h264_update_thread_context().

CABACContext H264Context::cabac
uint8_t H264Context::cabac_state[1024]
uint16_t* H264Context::cbp_table
int H264Context::cbp
int H264Context::top_cbp
int H264Context::left_cbp
uint8_t* H264Context::chroma_pred_mode_table
int H264Context::last_qscale_diff

Definition at line 516 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_slice_header().

uint8_t(*[2] H264Context::mvd_table)[2]
uint8_t H264Context::mvd_cache[2][5 *8][2]

Definition at line 518 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), fill_decode_caches(), and write_back_motion_list().

uint8_t* H264Context::direct_table
uint8_t H264Context::direct_cache[5 *8]

Definition at line 520 of file h264.h.

Referenced by decode_cabac_mb_ref(), ff_h264_decode_mb_cabac(), and fill_decode_caches().

uint8_t H264Context::zigzag_scan[16]

Definition at line 522 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::zigzag_scan8x8[64]

Definition at line 523 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::zigzag_scan8x8_cavlc[64]

Definition at line 524 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::field_scan[16]

Definition at line 525 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::field_scan8x8[64]

Definition at line 526 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::field_scan8x8_cavlc[64]

Definition at line 527 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::zigzag_scan_q0[16]

Definition at line 528 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::zigzag_scan8x8_q0[64]

Definition at line 529 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::zigzag_scan8x8_cavlc_q0[64]

Definition at line 530 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::field_scan_q0[16]

Definition at line 531 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::field_scan8x8_q0[64]

Definition at line 532 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::field_scan8x8_cavlc_q0[64]

Definition at line 533 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

int H264Context::x264_build
int H264Context::mb_x
int H264Context::mb_y
int H264Context::resync_mb_x

Definition at line 538 of file h264.h.

Referenced by decode_slice(), and ff_h264_decode_slice_header().

int H264Context::resync_mb_y

Definition at line 539 of file h264.h.

Referenced by decode_slice(), and ff_h264_decode_slice_header().

int H264Context::mb_skip_run

Definition at line 540 of file h264.h.

Referenced by decode_slice(), ff_h264_decode_mb_cavlc(), and svq3_decode_slice_header().

int H264Context::mb_height
int H264Context::mb_width
int H264Context::mb_stride
int H264Context::mb_num
int H264Context::mb_xy
int H264Context::is_complex

Definition at line 546 of file h264.h.

Referenced by decode_slice(), ff_h264_hl_decode_mb(), and svq3_decode_init().

int H264Context::deblocking_filter

disable_deblocking_filter_idc with 1 <-> 0

Definition at line 549 of file h264.h.

Referenced by decode_finish_row(), ff_h264_decode_slice_header(), fill_filter_caches(), fill_slice_long(), loop_filter(), vaapi_h264_decode_slice(), and xchg_mb_border().

int H264Context::slice_alpha_c0_offset
int H264Context::slice_beta_offset
int H264Context::nal_ref_idc
int H264Context::nal_unit_type
uint8_t* H264Context::rbsp_buffer[2]
unsigned int H264Context::rbsp_buffer_size[2]
int H264Context::is_avc

Used to parse AVC variant of h264.

this flag is != 0 if codec is avc1

Definition at line 564 of file h264.h.

Referenced by decode_nal_units(), ff_h264_decode_extradata(), ff_h264_update_thread_context(), get_last_needed_nal(), h264_decode_frame(), h264_find_frame_end(), and parse_nal_units().

int H264Context::nal_length_size

Number of bytes used for nal length (1, 2 or 4)

Definition at line 565 of file h264.h.

Referenced by decode_nal_units(), ff_h264_decode_extradata(), get_avc_nalsize(), h264_find_frame_end(), and parse_nal_units().

int H264Context::got_first

this flag is != 0 if we've parsed a frame

Definition at line 566 of file h264.h.

Referenced by h264_parse().

int H264Context::bit_depth_luma

luma bit depth from sps to detect changes

Definition at line 568 of file h264.h.

Referenced by ff_h264_decode_init(), and ff_h264_decode_slice_header().

int H264Context::chroma_format_idc

chroma format from sps to detect changes

Definition at line 569 of file h264.h.

Referenced by ff_h264_decode_init(), and ff_h264_decode_slice_header().

SPS* H264Context::sps_buffers[MAX_SPS_COUNT]
PPS* H264Context::pps_buffers[MAX_PPS_COUNT]
int H264Context::dequant_coeff_pps

reinit tables when pps changes

Definition at line 574 of file h264.h.

Referenced by ff_h264_decode_init(), ff_h264_decode_picture_parameter_set(), ff_h264_decode_slice_header(), and ff_h264_update_thread_context().

uint16_t* H264Context::slice_table_base

Definition at line 576 of file h264.h.

Referenced by ff_h264_alloc_tables(), and ff_h264_free_tables().

int H264Context::poc_lsb
int H264Context::poc_msb
int H264Context::delta_poc_bottom

Definition at line 581 of file h264.h.

Referenced by ff_h264_decode_slice_header(), ff_init_poc(), and parse_nal_units().

int H264Context::delta_poc[2]

Definition at line 582 of file h264.h.

Referenced by ff_h264_decode_slice_header(), ff_init_poc(), and parse_nal_units().

int H264Context::frame_num
int H264Context::prev_poc_msb

poc_msb of the last reference pic for POC type 0

Definition at line 584 of file h264.h.

Referenced by clone_slice(), ff_h264_decode_init(), ff_h264_field_end(), ff_h264_update_thread_context(), ff_init_poc(), idr(), and parse_nal_units().

int H264Context::prev_poc_lsb

poc_lsb of the last reference pic for POC type 0

Definition at line 585 of file h264.h.

Referenced by clone_slice(), ff_h264_field_end(), ff_h264_update_thread_context(), ff_init_poc(), idr(), and parse_nal_units().

int H264Context::frame_num_offset
int H264Context::prev_frame_num_offset
int H264Context::prev_frame_num
int H264Context::curr_pic_num

frame_num for frames or 2 * frame_num + 1 for field pics.

Definition at line 593 of file h264.h.

Referenced by ff_h264_decode_ref_pic_list_reordering(), ff_h264_decode_ref_pic_marking(), and ff_h264_decode_slice_header().

int H264Context::max_pic_num

max_frame_num or 2 * max_frame_num for field pics.

Definition at line 598 of file h264.h.

Referenced by ff_h264_decode_ref_pic_list_reordering(), ff_h264_decode_ref_pic_marking(), and ff_h264_decode_slice_header().

int H264Context::redundant_pic_count

Definition at line 600 of file h264.h.

Referenced by decode_nal_units(), ff_h264_decode_slice_header(), and fill_slice_long().

H264Picture H264Context::default_ref_list[2][32]

base reference list for all slices of a coded picture

Definition at line 602 of file h264.h.

Referenced by clone_slice(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_fill_default_ref_list(), ff_h264_flush_change(), and ff_h264_remove_all_refs().

H264Picture* H264Context::short_ref[32]
H264Picture* H264Context::long_ref[32]
H264Picture* H264Context::delayed_pic[MAX_DELAYED_PIC_COUNT+2]
int H264Context::last_pocs[MAX_DELAYED_PIC_COUNT]
H264Picture* H264Context::next_output_pic

Definition at line 607 of file h264.h.

Referenced by decode_postinit(), h264_decode_frame(), and h264_frame_start().

int H264Context::outputed_poc
int H264Context::next_outputed_poc
MMCO H264Context::mmco[MAX_MMCO_COUNT]
int H264Context::mmco_index
int H264Context::mmco_reset

Definition at line 616 of file h264.h.

Referenced by decode_postinit(), ff_h264_execute_ref_pic_marking(), and ff_h264_flush_change().

int H264Context::long_ref_count

number of actual long term references

Definition at line 618 of file h264.h.

Referenced by ff_generate_sliding_window_mmcos(), ff_h264_decode_slice_header(), ff_h264_execute_ref_pic_marking(), ff_h264_remove_all_refs(), and remove_long().

int H264Context::short_ref_count
int H264Context::cabac_init_idc
struct H264Context* H264Context::thread_context[H264_MAX_THREADS]
int H264Context::current_slice

current slice number, used to initialize slice_num of each thread/context

Definition at line 632 of file h264.h.

Referenced by decode_nal_units(), ff_h264_decode_slice_header(), ff_h264_field_end(), ff_h264_flush_change(), and fill_slice_long().

int H264Context::max_contexts

Max number of threads / contexts.

This is equal to AVCodecContext.thread_count unless multithreaded decoding is impossible, in which case it is reduced to 1.

Definition at line 640 of file h264.h.

Referenced by decode_nal_units(), and ff_h264_decode_slice_header().

int H264Context::slice_context_count
int H264Context::single_decode_warning

1 if the single thread fallback warning has already been displayed, 0 otherwise.

Definition at line 648 of file h264.h.

Referenced by ff_h264_decode_slice_header().

enum AVPictureType H264Context::pict_type
int H264Context::last_slice_type

Definition at line 652 of file h264.h.

Referenced by ff_h264_decode_slice_header().

unsigned int H264Context::last_ref_count[2]

Definition at line 653 of file h264.h.

Referenced by ff_h264_decode_slice_header().

SEI_PicStructType H264Context::sei_pic_struct

pic_struct in picture timing SEI message

Definition at line 659 of file h264.h.

Referenced by decode_picture_timing(), decode_postinit(), and parse_nal_units().

int H264Context::prev_interlaced_frame

Complement sei_pic_struct SEI_PIC_STRUCT_TOP_BOTTOM and SEI_PIC_STRUCT_BOTTOM_TOP indicate interlaced frames.

However, soft telecined frames may have these values. This is used in an attempt to flag soft telecine progressive.

Definition at line 667 of file h264.h.

Referenced by decode_postinit(), ff_h264_flush_change(), and h264_slice_header_init().

int H264Context::sei_frame_packing_present

frame_packing_arrangment SEI message

Definition at line 672 of file h264.h.

Referenced by decode_frame_packing_arrangement(), decode_postinit(), and ff_h264_reset_sei().

int H264Context::frame_packing_arrangement_type

Definition at line 673 of file h264.h.

Referenced by decode_frame_packing_arrangement(), and decode_postinit().

int H264Context::content_interpretation_type

Definition at line 674 of file h264.h.

Referenced by decode_frame_packing_arrangement(), and decode_postinit().

int H264Context::quincunx_subsampling

Definition at line 675 of file h264.h.

Referenced by decode_frame_packing_arrangement(), and decode_postinit().

int H264Context::sei_display_orientation_present

display orientation SEI message

Definition at line 680 of file h264.h.

Referenced by decode_display_orientation(), decode_postinit(), and ff_h264_reset_sei().

int H264Context::sei_anticlockwise_rotation

Definition at line 681 of file h264.h.

Referenced by decode_display_orientation(), and decode_postinit().

int H264Context::sei_hflip

Definition at line 682 of file h264.h.

Referenced by decode_display_orientation(), and decode_postinit().

int H264Context::sei_vflip

Definition at line 682 of file h264.h.

Referenced by decode_display_orientation(), and decode_postinit().

int H264Context::sei_ct_type

Bit set of clock types for fields/frames in picture timing SEI message.

For each found ct_type, appropriate bit is set (e.g., bit 1 for interlaced).

Definition at line 689 of file h264.h.

Referenced by decode_picture_timing(), and decode_postinit().

int H264Context::sei_dpb_output_delay

dpb_output_delay in picture timing SEI message, see H.264 C.2.2

Definition at line 694 of file h264.h.

Referenced by decode_picture_timing(), and ff_h264_reset_sei().

int H264Context::sei_cpb_removal_delay

cpb_removal_delay in picture timing SEI message, see H.264 C.1.2

Definition at line 699 of file h264.h.

Referenced by decode_picture_timing(), and ff_h264_reset_sei().

int H264Context::sei_recovery_frame_cnt

recovery_frame_cnt from SEI message

Set to -1 if no recovery point SEI message found or to number of frames before playback synchronizes. Frames having recovery point are key frames.

Definition at line 708 of file h264.h.

Referenced by decode_nal_units(), decode_recovery_point(), ff_h264_reset_sei(), h264_frame_start(), and parse_nal_units().

int H264Context::valid_recovery_point

Are the SEI recovery points looking valid.

Definition at line 713 of file h264.h.

Referenced by decode_nal_units().

FPA H264Context::sei_fpa
int H264Context::recovery_frame

recovery_frame is the frame_num at which the next frame should be fully constructed.

Set to -1 when not expecting a recovery point.

Definition at line 723 of file h264.h.

Referenced by decode_nal_units(), ff_h264_flush_change(), and ff_h264_update_thread_context().

int H264Context::frame_recovered

Initial frame has been completely recovered.

Definition at line 736 of file h264.h.

Referenced by decode_nal_units(), decode_postinit(), ff_h264_execute_ref_pic_marking(), ff_h264_flush_change(), ff_h264_update_thread_context(), and h264_frame_start().

int H264Context::has_recovery_point
int H264Context::luma_weight_flag[2]
int H264Context::chroma_weight_flag[2]
int H264Context::sei_buffering_period_present

Buffering period SEI flag.

Definition at line 744 of file h264.h.

Referenced by decode_buffering_period(), and ff_h264_reset_sei().

int H264Context::initial_cpb_removal_delay[32]

Initial timestamps for CPBs.

Definition at line 745 of file h264.h.

Referenced by decode_buffering_period().

int H264Context::cur_chroma_format_idc
uint8_t* H264Context::bipred_scratchpad
int16_t H264Context::slice_row[MAX_SLICES]

to detect when MAX_SLICES is too low

Definition at line 750 of file h264.h.

Referenced by ff_h264_decode_slice_header().

uint8_t H264Context::parse_history[6]

Definition at line 752 of file h264.h.

Referenced by h264_find_frame_end().

int H264Context::parse_history_count

Definition at line 753 of file h264.h.

Referenced by h264_find_frame_end().

int H264Context::parse_last_mb

Definition at line 754 of file h264.h.

Referenced by h264_find_frame_end().

uint8_t* H264Context::edge_emu_buffer
int16_t* H264Context::dc_val_base

Definition at line 756 of file h264.h.

Referenced by ff_h264_context_init(), and ff_h264_free_tables().

AVBufferPool* H264Context::qscale_table_pool
AVBufferPool* H264Context::mb_type_pool
AVBufferPool* H264Context::motion_val_pool
AVBufferPool* H264Context::ref_index_pool
qpel_mc_func(* H264Context::qpel_put)[16]

Definition at line 764 of file h264.h.

Referenced by ff_h264_decode_slice_header().

qpel_mc_func(* H264Context::qpel_avg)[16]

Definition at line 765 of file h264.h.

Referenced by ff_h264_decode_slice_header().


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