#include <h264.h>
Public Member Functions | |
DECLARE_ALIGNED (8, uint8_t, non_zero_count_cache)[6 *8] | |
non zero coeff count cache. | |
DECLARE_ALIGNED (16, int16_t, mv_cache)[2][5 *8][2] | |
Motion vector cache. | |
DECLARE_ALIGNED (8, int8_t, ref_cache)[2][5 *8] | |
DECLARE_ALIGNED (8, uint16_t, sub_mb_type)[4] | |
DECLARE_ALIGNED (16, DCTELEM, mb)[16 *24] | |
DECLARE_ALIGNED (16, DCTELEM, mb_luma_dc)[16] | |
DECLARE_ALIGNED (16, uint8_t, mvd_cache)[2][5 *8][2] | |
Data Fields | |
MpegEncContext | s |
H264DSPContext | h264dsp |
int | chroma_qp [2] |
int | qp_thresh |
QP threshold to skip loopfilter. | |
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 [2] |
int | topleft_type |
int | top_type |
int | topright_type |
int | left_type [2] |
const uint8_t * | left_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+2 *8] |
uint8_t(* | non_zero_count )[32] |
int | mv_cache_clean [2] |
is 1 if the specific list MV&references are set to 0,0,-2. | |
int | neighbor_transform_size |
number of neighbors (top and/or left) that used 8x8 dct | |
int | block_offset [2 *(16+8)] |
block_offset[ 0. | |
uint32_t * | mb2b_xy |
uint32_t * | mb2br_xy |
int | b_stride |
int | mb_linesize |
may be equal to s->linesize or s->linesize*2, for mbaff | |
int | mb_uvlinesize |
int | emu_edge_width |
int | emu_edge_height |
SPS | sps |
current sps | |
PPS | pps |
current pps | |
uint32_t | dequant4_buffer [6][52][16] |
uint32_t | dequant8_buffer [2][52][64] |
uint32_t(*[6] | dequant4_coeff )[16] |
uint32_t(*[2] | 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 | 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 [16] |
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_t * | list_counts |
Array of list_count per MB specifying the slice type. | |
Picture | ref_list [2][48] |
0. | |
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 |
GetBitContext * | intra_gb_ptr |
GetBitContext * | inter_gb_ptr |
DCTELEM | mb_padding [256] |
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 [460] |
uint16_t * | cbp_table |
int | cbp |
int | top_cbp |
int | left_cbp |
uint8_t * | chroma_pred_mode_table |
int | last_qscale_diff |
uint8_t(*[2] | mvd_table )[2] |
uint8_t * | direct_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] |
const uint8_t * | zigzag_scan_q0 |
const uint8_t * | zigzag_scan8x8_q0 |
const uint8_t * | zigzag_scan8x8_cavlc_q0 |
const uint8_t * | field_scan_q0 |
const uint8_t * | field_scan8x8_q0 |
const uint8_t * | field_scan8x8_cavlc_q0 |
int | x264_build |
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_t * | rbsp_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 | |
SPS * | sps_buffers [MAX_SPS_COUNT] |
PPS * | pps_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 |
Picture * | short_ref [32] |
Picture * | long_ref [32] |
Picture | default_ref_list [2][32] |
base reference list for all slices of a coded picture | |
Picture * | delayed_pic [MAX_DELAYED_PIC_COUNT+2] |
int | outputed_poc |
MMCO | mmco [MAX_MMCO_COUNT] |
memory management control operations buffer. | |
int | mmco_index |
int | long_ref_count |
number of actual long term references | |
int | short_ref_count |
number of actual short term references | |
int | cabac_init_idc |
struct H264Context * | thread_context [MAX_THREADS] |
int | current_slice |
current slice number, used to initalize slice_num of each thread/context | |
int | max_contexts |
Max number of threads / contexts. | |
int | single_decode_warning |
1 if the single thread fallback warning has already been displayed, 0 otherwise. | |
int | last_slice_type |
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_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 | 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 | halfpel_flag |
int | thirdpel_flag |
int | unknown_svq3_flag |
int | next_slice_index |
uint32_t | svq3_watermark_key |
Definition at line 265 of file h264.h.
H264Context::DECLARE_ALIGNED | ( | 8 | , | |
uint8_t | , | |||
non_zero_count_cache | ||||
) |
non zero coeff count cache.
is 64 if not available.
H264Context::DECLARE_ALIGNED | ( | 16 | , | |
int16_t | , | |||
mv_cache | ||||
) |
Motion vector cache.
H264Context::DECLARE_ALIGNED | ( | 8 | , | |
int8_t | , | |||
ref_cache | ||||
) |
H264Context::DECLARE_ALIGNED | ( | 8 | , | |
uint16_t | , | |||
sub_mb_type | ||||
) |
H264Context::DECLARE_ALIGNED | ( | 16 | , | |
DCTELEM | , | |||
mb | ||||
) |
H264Context::DECLARE_ALIGNED | ( | 16 | , | |
DCTELEM | , | |||
mb_luma_dc | ||||
) |
H264Context::DECLARE_ALIGNED | ( | 16 | , | |
uint8_t | , | |||
mvd_cache | ||||
) |
Definition at line 266 of file h264.h.
Referenced by backup_mb_border(), clone_slice(), clone_tables(), close(), commit_bitstream_and_slice_buffer(), common_init(), context_init(), decode_buffering_period(), decode_cabac_field_decoding_flag(), decode_cabac_mb_mvd(), decode_cabac_mb_skip(), decode_frame(), decode_hrd_parameters(), decode_mb_skip(), decode_nal_units(), decode_picture_timing(), decode_recovery_point(), decode_residual(), decode_scaling_list(), decode_scaling_matrices(), decode_slice(), decode_slice_header(), decode_unregistered_user_data(), decode_vui_parameters(), end_frame(), execute_decode_slices(), 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_decode_end(), ff_h264_decode_extradata(), ff_h264_decode_init(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_picture_parameter_set(), ff_h264_decode_rbsp_trailing(), 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_direct_dist_scale_factor(), ff_h264_direct_ref_list_init(), ff_h264_execute_ref_pic_marking(), ff_h264_fill_default_ref_list(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), ff_h264_find_frame_end(), ff_h264_frame_start(), ff_h264_hl_decode_mb(), ff_h264_init_cabac_states(), field_end(), fill_colmap(), fill_decode_caches(), fill_decode_neighbors(), fill_filter_caches(), fill_picture_parameters(), fill_slice_long(), filter_mb_dir(), filter_mb_mbaff_edgecv(), filter_mb_mbaff_edgev(), find_short(), flush_dpb(), free_tables(), h264_parse(), hl_decode_mb_internal(), hl_motion(), implicit_weight_table(), init_poc(), loop_filter(), mc_dir_part(), mc_part(), mc_part_std(), mc_part_weighted(), parse_nal_units(), pic_num_extract(), pred_16x8_motion(), pred_8x16_motion(), pred_intra_mode(), pred_motion(), pred_non_zero_count(), pred_pskip_motion(), pred_spatial_direct_motion(), pred_temp_direct_motion(), pred_weight_table(), predict_field_decoding_flag(), prefetch_motion(), print_long_term(), print_short_term(), remove_short(), start_frame(), svq3_decode_frame(), svq3_decode_mb(), svq3_decode_slice_header(), svq3_mc_dir(), write_back_motion(), and xchg_mb_border().
Definition at line 267 of file h264.h.
Referenced by common_init(), decode_slice_header(), ff_h264_filter_mb_fast(), filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), and hl_decode_mb_internal().
int H264Context::chroma_qp[2] |
Definition at line 268 of file h264.h.
Referenced by decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), filter_mb_dir(), hl_decode_mb_internal(), loop_filter(), and svq3_decode_init().
QP threshold to skip loopfilter.
Definition at line 270 of file h264.h.
Referenced by decode_slice_header(), ff_h264_filter_mb_fast(), and fill_filter_caches().
Definition at line 272 of file h264.h.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
Definition at line 276 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), hl_decode_mb_internal(), and svq3_decode_mb().
Definition at line 277 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), hl_decode_mb_internal(), and svq3_decode_mb().
Definition at line 279 of file h264.h.
Referenced by fill_decode_caches(), and fill_decode_neighbors().
Definition at line 280 of file h264.h.
Referenced by decode_cabac_mb_chroma_pre_mode(), ff_h264_filter_mb_fast(), fill_decode_caches(), fill_decode_neighbors(), fill_filter_caches(), and filter_mb_dir().
Definition at line 281 of file h264.h.
Referenced by fill_decode_caches(), and fill_decode_neighbors().
int H264Context::left_mb_xy[2] |
Definition at line 282 of file h264.h.
Referenced by decode_cabac_mb_chroma_pre_mode(), fetch_diagonal_mv(), ff_h264_filter_mb(), fill_decode_caches(), fill_decode_neighbors(), and fill_filter_caches().
Definition at line 284 of file h264.h.
Referenced by fill_decode_caches(), and fill_decode_neighbors().
Definition at line 285 of file h264.h.
Referenced by decode_cabac_intra_mb_type(), decode_cabac_mb_chroma_pre_mode(), ff_h264_decode_mb_cabac(), ff_h264_filter_mb_fast(), fill_decode_caches(), fill_decode_neighbors(), fill_filter_caches(), filter_mb_dir(), and xchg_mb_border().
Definition at line 286 of file h264.h.
Referenced by fill_decode_caches(), and fill_decode_neighbors().
int H264Context::left_type[2] |
Definition at line 287 of file h264.h.
Referenced by decode_cabac_intra_mb_type(), decode_cabac_mb_chroma_pre_mode(), fetch_diagonal_mv(), ff_h264_decode_mb_cabac(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), fill_decode_caches(), fill_decode_neighbors(), fill_filter_caches(), filter_mb_dir(), and xchg_mb_border().
const uint8_t* H264Context::left_block |
Definition at line 289 of file h264.h.
Referenced by fill_decode_caches(), and fill_decode_neighbors().
Definition at line 290 of file h264.h.
Referenced by fill_decode_caches(), and fill_decode_neighbors().
int8_t H264Context::intra4x4_pred_mode_cache[5 *8] |
Definition at line 292 of file h264.h.
Referenced by ff_h264_check_intra4x4_pred_mode(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_write_back_intra_pred_mode(), fill_decode_caches(), hl_decode_mb_internal(), pred_intra_mode(), and svq3_decode_mb().
int8_t* H264Context::intra4x4_pred_mode |
Definition at line 293 of file h264.h.
Referenced by clone_tables(), ff_h264_alloc_tables(), ff_h264_write_back_intra_pred_mode(), fill_decode_caches(), free_tables(), svq3_decode_mb(), and svq3_decode_slice_header().
Definition at line 294 of file h264.h.
Referenced by clone_tables(), common_init(), and hl_decode_mb_internal().
unsigned int H264Context::topleft_samples_available |
Definition at line 295 of file h264.h.
Referenced by fill_decode_caches(), and hl_decode_mb_internal().
unsigned int H264Context::top_samples_available |
Definition at line 296 of file h264.h.
Referenced by ff_h264_check_intra4x4_pred_mode(), ff_h264_check_intra_pred_mode(), fill_decode_caches(), and svq3_decode_mb().
unsigned int H264Context::topright_samples_available |
Definition at line 297 of file h264.h.
Referenced by fill_decode_caches(), hl_decode_mb_internal(), and svq3_decode_mb().
unsigned int H264Context::left_samples_available |
Definition at line 298 of file h264.h.
Referenced by ff_h264_check_intra4x4_pred_mode(), ff_h264_check_intra_pred_mode(), fill_decode_caches(), and svq3_decode_mb().
uint8_t(*[2] H264Context::top_borders)[16+2 *8] |
Definition at line 299 of file h264.h.
Referenced by backup_mb_border(), context_init(), free_tables(), and xchg_mb_border().
uint8_t(* H264Context::non_zero_count)[32] |
Definition at line 313 of file h264.h.
Referenced by clone_tables(), decode_mb_skip(), ff_h264_alloc_tables(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), fill_decode_caches(), fill_filter_caches(), filter_mb_dir(), free_tables(), and write_back_non_zero_count().
int H264Context::mv_cache_clean[2] |
is 1 if the specific list MV&references are set to 0,0,-2.
Definition at line 326 of file h264.h.
Referenced by fill_decode_caches().
number of neighbors (top and/or left) that used 8x8 dct
Definition at line 331 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and fill_decode_caches().
int H264Context::block_offset[2 *(16+8)] |
block_offset[ 0.
.23] for frame macroblocks block_offset[24..47] for field macroblocks
Definition at line 337 of file h264.h.
Referenced by clone_slice(), ff_h264_frame_start(), and hl_decode_mb_internal().
uint32_t* H264Context::mb2b_xy |
Definition at line 339 of file h264.h.
Referenced by clone_tables(), ff_h264_alloc_tables(), fill_decode_caches(), fill_filter_caches(), free_tables(), pred_spatial_direct_motion(), and pred_temp_direct_motion().
uint32_t* H264Context::mb2br_xy |
Definition at line 340 of file h264.h.
Referenced by clone_tables(), ff_h264_alloc_tables(), ff_h264_write_back_intra_pred_mode(), fill_decode_caches(), free_tables(), svq3_decode_mb(), svq3_decode_slice_header(), and write_back_motion().
Definition at line 341 of file h264.h.
Referenced by decode_slice_header(), ff_h264_alloc_tables(), fill_decode_caches(), fill_filter_caches(), pred_spatial_direct_motion(), pred_temp_direct_motion(), set_mv_strides(), svq3_decode_init(), svq3_decode_mb(), svq3_mc_dir(), and write_back_motion().
may be equal to s->linesize or s->linesize*2, for mbaff
Definition at line 343 of file h264.h.
Referenced by hl_decode_mb_internal(), hl_motion(), loop_filter(), mc_dir_part(), mc_part_weighted(), and prefetch_motion().
Definition at line 344 of file h264.h.
Referenced by hl_decode_mb_internal(), loop_filter(), mc_dir_part(), mc_part_std(), and mc_part_weighted().
current sps
Definition at line 349 of file h264.h.
Referenced by decode_frame(), decode_picture_timing(), decode_slice_header(), ff_generate_sliding_window_mmcos(), ff_h264_decode_init(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_execute_ref_pic_marking(), ff_vdpau_h264_picture_complete(), fill_picture_parameters(), get_dct8x8_allowed(), hl_decode_mb_internal(), init_dequant_tables(), init_poc(), init_scan_tables(), parse_nal_units(), pred_spatial_direct_motion(), pred_temp_direct_motion(), and start_frame().
current pps
Definition at line 354 of file h264.h.
Referenced by common_init(), decode_slice(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), ff_vdpau_h264_picture_complete(), fill_decode_caches(), fill_filter_caches(), fill_picture_parameters(), fill_scaling_lists(), fill_slice_long(), filter_mb_dir(), get_chroma_qp(), init_dequant4_coeff_table(), init_dequant8_coeff_table(), init_dequant_tables(), parse_nal_units(), and start_frame().
uint32_t H264Context::dequant4_buffer[6][52][16] |
uint32_t H264Context::dequant8_buffer[2][52][64] |
uint32_t(*[6] H264Context::dequant4_coeff)[16] |
Definition at line 358 of file h264.h.
Referenced by clone_slice(), ff_h264_alloc_tables(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), hl_decode_mb_internal(), init_dequant4_coeff_table(), and init_dequant_tables().
uint32_t(*[2] H264Context::dequant8_coeff)[64] |
Definition at line 359 of file h264.h.
Referenced by clone_slice(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), init_dequant8_coeff_table(), and init_dequant_tables().
Definition at line 361 of file h264.h.
Referenced by decode_cabac_field_decoding_flag(), decode_cabac_mb_skip(), decode_mb_skip(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_vdpau_h264_picture_complete(), fill_decode_neighbors(), fill_filter_caches(), loop_filter(), predict_field_decoding_flag(), svq3_decode_frame(), and svq3_decode_slice_header().
uint16_t* H264Context::slice_table |
slice_table_base + 2*mb_stride + 1
Definition at line 362 of file h264.h.
Referenced by clone_tables(), decode_cabac_field_decoding_flag(), decode_cabac_mb_skip(), decode_mb_skip(), ff_h264_alloc_tables(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_frame_start(), fill_decode_neighbors(), fill_filter_caches(), free_tables(), loop_filter(), and predict_field_decoding_flag().
Definition at line 363 of file h264.h.
Referenced by decode_slice(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_get_slice_type(), fill_slice_long(), loop_filter(), svq3_decode_frame(), and svq3_decode_slice_header().
S free slice type (SI/SP are remapped to I/P).
Definition at line 364 of file h264.h.
Referenced by decode_cabac_mb_ref(), decode_cabac_mb_skip(), decode_mb_skip(), decode_nal_units(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_fill_default_ref_list(), ff_h264_init_cabac_states(), fill_decode_caches(), pred_weight_table(), and write_back_motion().
Definition at line 369 of file h264.h.
Referenced by decode_cabac_field_decoding_flag(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), loop_filter(), and predict_field_decoding_flag().
mb_aff_frame && mb_field_decoding_flag
Definition at line 370 of file h264.h.
Referenced by decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), loop_filter(), and predict_field_decoding_flag().
Definition at line 375 of file h264.h.
Referenced by decode_slice_header(), implicit_weight_table(), mc_part(), mc_part_weighted(), and pred_weight_table().
Definition at line 376 of file h264.h.
Referenced by decode_slice_header(), implicit_weight_table(), mc_part_weighted(), and pred_weight_table().
Definition at line 377 of file h264.h.
Referenced by decode_slice(), fill_slice_long(), fill_vaapi_plain_pred_weight_table(), implicit_weight_table(), mc_part_weighted(), and pred_weight_table().
Definition at line 378 of file h264.h.
Referenced by decode_slice(), fill_slice_long(), fill_vaapi_plain_pred_weight_table(), implicit_weight_table(), mc_part_weighted(), and pred_weight_table().
int H264Context::luma_weight[48][2][2] |
Definition at line 380 of file h264.h.
Referenced by ff_h264_fill_mbaff_ref_list(), fill_slice_long(), fill_vaapi_plain_pred_weight_table(), mc_part_weighted(), and pred_weight_table().
int H264Context::chroma_weight[48][2][2][2] |
Definition at line 381 of file h264.h.
Referenced by ff_h264_fill_mbaff_ref_list(), fill_slice_long(), fill_vaapi_plain_pred_weight_table(), mc_part_weighted(), and pred_weight_table().
int H264Context::implicit_weight[48][48][2] |
Definition at line 382 of file h264.h.
Referenced by implicit_weight_table(), mc_part(), and mc_part_weighted().
Definition at line 384 of file h264.h.
Referenced by decode_mb_skip(), decode_slice(), decode_slice_header(), ff_h264_direct_ref_list_init(), ff_h264_pred_direct_motion(), fill_decode_caches(), and fill_slice_long().
Definition at line 385 of file h264.h.
Referenced by ff_h264_direct_ref_list_init(), pred_spatial_direct_motion(), and pred_temp_direct_motion().
Definition at line 386 of file h264.h.
Referenced by ff_h264_direct_ref_list_init(), pred_spatial_direct_motion(), and pred_temp_direct_motion().
int H264Context::dist_scale_factor[16] |
Definition at line 387 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 388 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 389 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 390 of file h264.h.
Referenced by ff_h264_direct_ref_list_init(), and pred_temp_direct_motion().
unsigned int H264Context::ref_count[2] |
num_ref_idx_l0/1_active_minus1 + 1
counts frames or fields, depending on current mb mode
Definition at line 395 of file h264.h.
Referenced by decode_mb(), decode_slice(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_direct_dist_scale_factor(), ff_h264_direct_ref_list_init(), ff_h264_fill_default_ref_list(), ff_h264_fill_mbaff_ref_list(), fill_colmap(), fill_slice_long(), fill_vaapi_plain_pred_weight_table(), implicit_weight_table(), is_intra_more_likely(), and pred_weight_table().
unsigned int H264Context::list_count |
Definition at line 396 of file h264.h.
Referenced by check_mv(), decode_slice(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_filter_mb_fast(), fill_decode_caches(), fill_filter_caches(), fill_slice_long(), hl_decode_mb_internal(), loop_filter(), and write_back_motion().
uint8_t* H264Context::list_counts |
Array of list_count per MB specifying the slice type.
Definition at line 397 of file h264.h.
Referenced by clone_tables(), ff_h264_alloc_tables(), free_tables(), hl_decode_mb_internal(), and loop_filter().
Picture H264Context::ref_list[2][48] |
0.
.15: frame refs, 16..47: mbaff field refs. Reordered version of default_ref_list according to picture reordering in slice header
Definition at line 398 of file h264.h.
Referenced by clone_slice(), decode_slice(), decode_slice_header(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_direct_dist_scale_factor(), ff_h264_direct_ref_list_init(), ff_h264_fill_mbaff_ref_list(), fill_colmap(), fill_slice_long(), get_scale_factor(), implicit_weight_table(), is_intra_more_likely(), mc_part_std(), mc_part_weighted(), pred_spatial_direct_motion(), pred_temp_direct_motion(), and prefetch_motion().
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 401 of file h264.h.
Referenced by decode_slice_header(), and fill_filter_caches().
Definition at line 406 of file h264.h.
Referenced by decode_nal_units(), and ff_h264_decode_mb_cavlc().
Definition at line 407 of file h264.h.
Referenced by decode_nal_units(), and ff_h264_decode_mb_cavlc().
Cabac.
Definition at line 416 of file h264.h.
Referenced by decode_cabac_b_mb_sub_type(), decode_cabac_field_decoding_flag(), decode_cabac_intra_mb_type(), decode_cabac_mb_cbp_chroma(), decode_cabac_mb_cbp_luma(), decode_cabac_mb_chroma_pre_mode(), decode_cabac_mb_intra4x4_pred_mode(), decode_cabac_mb_mvd(), decode_cabac_mb_ref(), decode_cabac_mb_skip(), decode_cabac_p_mb_sub_type(), decode_cabac_residual_dc(), decode_cabac_residual_internal(), decode_cabac_residual_nondc(), decode_slice(), and ff_h264_decode_mb_cabac().
uint8_t H264Context::cabac_state[460] |
Definition at line 417 of file h264.h.
Referenced by decode_cabac_b_mb_sub_type(), decode_cabac_field_decoding_flag(), decode_cabac_intra_mb_type(), decode_cabac_mb_cbp_chroma(), decode_cabac_mb_cbp_luma(), decode_cabac_mb_chroma_pre_mode(), decode_cabac_mb_intra4x4_pred_mode(), decode_cabac_mb_mvd(), decode_cabac_mb_ref(), decode_cabac_mb_skip(), decode_cabac_p_mb_sub_type(), decode_cabac_residual_dc(), decode_cabac_residual_internal(), decode_cabac_residual_nondc(), ff_h264_decode_mb_cabac(), and ff_h264_init_cabac_states().
uint16_t* H264Context::cbp_table |
Definition at line 420 of file h264.h.
Referenced by clone_tables(), decode_cabac_residual_internal(), ff_h264_alloc_tables(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), fill_decode_caches(), fill_filter_caches(), filter_mb_dir(), and free_tables().
int H264Context::cbp |
Definition at line 421 of file h264.h.
Referenced by decode_cabac_mb_cbp_luma(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb_fast(), fill_filter_caches(), filter_mb_dir(), hl_decode_mb_internal(), and svq3_decode_mb().
Definition at line 422 of file h264.h.
Referenced by decode_cabac_mb_cbp_chroma(), decode_cabac_mb_cbp_luma(), fill_decode_caches(), and get_cabac_cbf_ctx().
Definition at line 423 of file h264.h.
Referenced by decode_cabac_mb_cbp_chroma(), decode_cabac_mb_cbp_luma(), fill_decode_caches(), and get_cabac_cbf_ctx().
uint8_t* H264Context::chroma_pred_mode_table |
Definition at line 425 of file h264.h.
Referenced by clone_tables(), decode_cabac_mb_chroma_pre_mode(), ff_h264_alloc_tables(), ff_h264_decode_mb_cabac(), and free_tables().
Definition at line 426 of file h264.h.
Referenced by decode_slice_header(), and ff_h264_decode_mb_cabac().
uint8_t(*[2] H264Context::mvd_table)[2] |
Definition at line 427 of file h264.h.
Referenced by clone_tables(), ff_h264_alloc_tables(), fill_decode_caches(), free_tables(), and write_back_motion().
uint8_t* H264Context::direct_table |
Definition at line 429 of file h264.h.
Referenced by clone_tables(), ff_h264_alloc_tables(), fill_decode_caches(), free_tables(), and write_back_motion().
uint8_t H264Context::direct_cache[5 *8] |
Definition at line 430 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 432 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 433 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 434 of file h264.h.
Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().
uint8_t H264Context::field_scan[16] |
Definition at line 435 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 436 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 437 of file h264.h.
Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().
const uint8_t* H264Context::zigzag_scan_q0 |
Definition at line 438 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and init_scan_tables().
const uint8_t* H264Context::zigzag_scan8x8_q0 |
Definition at line 439 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().
const uint8_t* H264Context::zigzag_scan8x8_cavlc_q0 |
Definition at line 440 of file h264.h.
Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().
const uint8_t* H264Context::field_scan_q0 |
Definition at line 441 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and init_scan_tables().
const uint8_t* H264Context::field_scan8x8_q0 |
Definition at line 442 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().
const uint8_t* H264Context::field_scan8x8_cavlc_q0 |
Definition at line 443 of file h264.h.
Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().
Definition at line 445 of file h264.h.
Referenced by decode_slice_header(), decode_unregistered_user_data(), ff_h264_decode_init(), and pred_spatial_direct_motion().
Definition at line 447 of file h264.h.
Referenced by decode_cabac_field_decoding_flag(), decode_cabac_mb_skip(), decode_cabac_residual_internal(), decode_mb(), decode_mb_skip(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), ff_h264_hl_decode_mb(), ff_h264_write_back_intra_pred_mode(), fill_decode_neighbors(), fill_filter_caches(), hl_decode_mb_internal(), hl_motion(), loop_filter(), pred_spatial_direct_motion(), pred_temp_direct_motion(), svq3_decode_frame(), svq3_decode_mb(), svq3_decode_slice_header(), write_back_motion(), and write_back_non_zero_count().
Definition at line 449 of file h264.h.
Referenced by decode_slice(), ff_h264_hl_decode_mb(), and svq3_decode_init().
disable_deblocking_filter_idc with 1<->0
Definition at line 452 of file h264.h.
Referenced by decode_slice(), decode_slice_header(), fill_filter_caches(), fill_slice_long(), hl_decode_mb_internal(), loop_filter(), and xchg_mb_border().
Definition at line 453 of file h264.h.
Referenced by decode_slice(), decode_slice_header(), ff_h264_filter_mb_fast(), fill_slice_long(), filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), and filter_mb_mbaff_edgev().
Definition at line 454 of file h264.h.
Referenced by decode_slice(), decode_slice_header(), fill_slice_long(), filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), and filter_mb_mbaff_edgev().
Definition at line 459 of file h264.h.
Referenced by decode_nal_units(), decode_slice_header(), ff_h264_decode_nal(), fill_picture_parameters(), init_poc(), and start_frame().
Definition at line 460 of file h264.h.
Referenced by decode_frame(), decode_nal_units(), decode_slice_header(), ff_h264_decode_nal(), ff_h264_decode_ref_pic_marking(), and parse_nal_units().
uint8_t* H264Context::rbsp_buffer[2] |
unsigned int H264Context::rbsp_buffer_size[2] |
Used to parse AVC variant of h264.
this flag is != 0 if codec is avc1
Definition at line 467 of file h264.h.
Referenced by decode_nal_units(), and ff_h264_decode_extradata().
Number of bytes used for nal length (1, 2 or 4).
Definition at line 468 of file h264.h.
Referenced by decode_nal_units(), and ff_h264_decode_extradata().
this flag is != 0 if we've parsed a frame
Definition at line 469 of file h264.h.
Referenced by h264_parse().
SPS* H264Context::sps_buffers[MAX_SPS_COUNT] |
Definition at line 471 of file h264.h.
Referenced by decode_buffering_period(), decode_slice_header(), ff_h264_decode_picture_parameter_set(), ff_h264_free_context(), and parse_nal_units().
PPS* H264Context::pps_buffers[MAX_PPS_COUNT] |
Definition at line 472 of file h264.h.
Referenced by decode_slice_header(), ff_h264_decode_picture_parameter_set(), ff_h264_free_context(), and parse_nal_units().
reinit tables when pps changes
Definition at line 474 of file h264.h.
Referenced by common_init(), decode_slice_header(), and ff_h264_decode_picture_parameter_set().
uint16_t* H264Context::slice_table_base |
Definition at line 480 of file h264.h.
Referenced by decode_slice_header(), ff_h264_execute_ref_pic_marking(), field_end(), and init_poc().
Definition at line 481 of file h264.h.
Referenced by ff_h264_execute_ref_pic_marking(), field_end(), and init_poc().
int H264Context::delta_poc[2] |
Definition at line 484 of file h264.h.
Referenced by decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_execute_ref_pic_marking(), ff_vdpau_h264_picture_start(), field_end(), fill_picture_parameters(), init_poc(), parse_nal_units(), start_frame(), and svq3_decode_frame().
poc_msb of the last reference pic for POC type 0
Definition at line 485 of file h264.h.
Referenced by clone_slice(), ff_h264_decode_init(), field_end(), idr(), and init_poc().
poc_lsb of the last reference pic for POC type 0
Definition at line 486 of file h264.h.
Referenced by clone_slice(), field_end(), idr(), and init_poc().
for POC type 2
Definition at line 487 of file h264.h.
Referenced by field_end(), init_poc(), svq3_decode_frame(), and svq3_mc_dir().
for POC type 2
Definition at line 488 of file h264.h.
Referenced by clone_slice(), field_end(), idr(), init_poc(), svq3_decode_frame(), and svq3_mc_dir().
frame_num of the last pic for POC type 1/2
Definition at line 489 of file h264.h.
Referenced by clone_slice(), decode_slice_header(), field_end(), idr(), init_poc(), and svq3_decode_frame().
frame_num for frames or 2*frame_num+1 for field pics.
Definition at line 494 of file h264.h.
Referenced by decode_slice_header(), ff_h264_decode_ref_pic_list_reordering(), and ff_h264_decode_ref_pic_marking().
max_frame_num or 2*max_frame_num for field pics.
Definition at line 499 of file h264.h.
Referenced by decode_slice_header(), ff_h264_decode_ref_pic_list_reordering(), and ff_h264_decode_ref_pic_marking().
Definition at line 501 of file h264.h.
Referenced by decode_nal_units(), decode_slice_header(), and fill_slice_long().
Definition at line 503 of file h264.h.
Referenced by clone_slice(), decode_slice_header(), ff_generate_sliding_window_mmcos(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_execute_ref_pic_marking(), ff_h264_fill_default_ref_list(), ff_h264_remove_all_refs(), ff_vdpau_h264_set_reference_frames(), fill_picture_parameters(), fill_vaapi_ReferenceFrames(), find_short(), print_short_term(), and remove_short_at_index().
Definition at line 504 of file h264.h.
Referenced by clone_slice(), decode_slice_header(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_execute_ref_pic_marking(), ff_h264_fill_default_ref_list(), ff_vdpau_h264_set_reference_frames(), fill_picture_parameters(), fill_vaapi_ReferenceFrames(), print_long_term(), and remove_long().
base reference list for all slices of a coded picture
Definition at line 505 of file h264.h.
Referenced by clone_slice(), ff_h264_decode_ref_pic_list_reordering(), and ff_h264_fill_default_ref_list().
Picture* H264Context::delayed_pic[MAX_DELAYED_PIC_COUNT+2] |
Definition at line 506 of file h264.h.
Referenced by decode_frame(), flush_dpb(), and unreference_pic().
Definition at line 507 of file h264.h.
Referenced by decode_frame(), ff_h264_decode_init(), and flush_dpb().
MMCO H264Context::mmco[MAX_MMCO_COUNT] |
memory management control operations buffer.
Definition at line 512 of file h264.h.
Referenced by decode_slice_header(), ff_generate_sliding_window_mmcos(), ff_h264_decode_ref_pic_marking(), ff_h264_execute_ref_pic_marking(), and field_end().
Definition at line 513 of file h264.h.
Referenced by decode_slice_header(), ff_generate_sliding_window_mmcos(), ff_h264_decode_ref_pic_marking(), and field_end().
number of actual long term references
Definition at line 515 of file h264.h.
Referenced by decode_slice_header(), ff_generate_sliding_window_mmcos(), ff_h264_execute_ref_pic_marking(), ff_h264_remove_all_refs(), and remove_long().
number of actual short term references
Definition at line 516 of file h264.h.
Referenced by clone_slice(), decode_slice_header(), ff_generate_sliding_window_mmcos(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_execute_ref_pic_marking(), ff_h264_fill_default_ref_list(), ff_h264_remove_all_refs(), ff_vdpau_h264_set_reference_frames(), fill_picture_parameters(), fill_vaapi_ReferenceFrames(), find_short(), print_short_term(), remove_short(), and remove_short_at_index().
Definition at line 518 of file h264.h.
Referenced by decode_slice(), decode_slice_header(), ff_h264_init_cabac_states(), and fill_slice_long().
pic_struct in picture timing SEI message
Definition at line 551 of file h264.h.
Referenced by decode_frame(), decode_picture_timing(), and parse_nal_units().
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 559 of file h264.h.
Referenced by decode_frame(), decode_slice_header(), and flush_dpb().
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 566 of file h264.h.
Referenced by decode_frame(), and decode_picture_timing().
dpb_output_delay in picture timing SEI message, see H.264 C.2.2
Definition at line 571 of file h264.h.
Referenced by decode_picture_timing(), ff_h264_reset_sei(), h264_parse(), and parse_nal_units().
cpb_removal_delay in picture timing SEI message, see H.264 C.1.2
Definition at line 576 of file h264.h.
Referenced by decode_picture_timing(), ff_h264_reset_sei(), h264_parse(), and parse_nal_units().
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 585 of file h264.h.
Referenced by decode_nal_units(), decode_recovery_point(), ff_h264_reset_sei(), and parse_nal_units().
7.4.3.2 luma_weight_lX_flag
Definition at line 587 of file h264.h.
Referenced by decode_slice_header(), fill_slice_long(), fill_vaapi_plain_pred_weight_table(), implicit_weight_table(), and pred_weight_table().
7.4.3.2 chroma_weight_lX_flag
Definition at line 588 of file h264.h.
Referenced by decode_slice_header(), fill_slice_long(), fill_vaapi_plain_pred_weight_table(), implicit_weight_table(), and pred_weight_table().
Buffering period SEI flag.
Definition at line 591 of file h264.h.
Referenced by decode_buffering_period(), ff_h264_reset_sei(), h264_parse(), and parse_nal_units().
Initial timestamps for CPBs.
Definition at line 592 of file h264.h.
Referenced by decode_buffering_period().
Definition at line 595 of file h264.h.
Referenced by svq3_decode_frame(), svq3_decode_init(), and svq3_decode_mb().
Definition at line 596 of file h264.h.
Referenced by svq3_decode_frame(), svq3_decode_init(), and svq3_decode_mb().
Definition at line 597 of file h264.h.
Referenced by svq3_decode_init(), and svq3_decode_slice_header().
Definition at line 598 of file h264.h.
Referenced by svq3_decode_frame(), and svq3_decode_slice_header().
uint32_t H264Context::svq3_watermark_key |
Definition at line 599 of file h264.h.
Referenced by svq3_decode_init(), and svq3_decode_slice_header().