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

#include <h264.h>

Data Fields

struct H264Contexth264
 
GetBitContext gb
 
ERContext er
 
int slice_num
 
int slice_type
 
int slice_type_nos
 S free slice type (SI/SP are remapped to I/P) More...
 
int slice_type_fixed
 
int qscale
 
int chroma_qp [2]
 
int qp_thresh
 QP threshold to skip loopfilter. More...
 
int last_qscale_diff
 
int deblocking_filter
 disable_deblocking_filter_idc with 1 <-> 0 More...
 
int slice_alpha_c0_offset
 
int slice_beta_offset
 
int use_weight
 
int use_weight_chroma
 
int luma_log2_weight_denom
 
int chroma_log2_weight_denom
 
int luma_weight_flag [2]
 7.4.3.2 luma_weight_lX_flag More...
 
int chroma_weight_flag [2]
 7.4.3.2 chroma_weight_lX_flag More...
 
int luma_weight [48][2][2]
 
int chroma_weight [48][2][2][2]
 
int implicit_weight [48][48][2]
 
int prev_mb_skipped
 
int next_mb_skipped
 
int chroma_pred_mode
 
int intra16x16_pred_mode
 
int8_t intra4x4_pred_mode_cache [5 *8]
 
int8_t * intra4x4_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
 
unsigned int topleft_samples_available
 
unsigned int top_samples_available
 
unsigned int topright_samples_available
 
unsigned int left_samples_available
 
ptrdiff_t linesize
 
ptrdiff_t uvlinesize
 
ptrdiff_t mb_linesize
 may be equal to s->linesize or s->linesize * 2, for mbaff More...
 
ptrdiff_t mb_uvlinesize
 
int mb_x
 
int mb_y
 
int mb_xy
 
int resync_mb_x
 
int resync_mb_y
 
int next_slice_idx
 
int mb_skip_run
 
int is_complex
 
int mb_field_decoding_flag
 
int mb_mbaff
 mb_aff_frame && mb_field_decoding_flag More...
 
int redundant_pic_count
 
int neighbor_transform_size
 number of neighbors (top and/or left) that used 8x8 dct More...
 
int direct_spatial_mv_pred
 
int col_parity
 
int col_fieldoff
 
int cbp
 
int top_cbp
 
int left_cbp
 
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 More...
 
unsigned int list_count
 
H264Ref ref_list [2][48]
 0..15: frame refs, 16..47: mbaff field refs. More...
 
int ref2frm [MAX_SLICES][2][64]
 reference to frame number lists, used in the loop filter, the first 2 are for -2,-1 More...
 
const uint8_tintra_pcm_ptr
 
int16_t * dc_val_base
 
uint8_tbipred_scratchpad
 
uint8_tedge_emu_buffer
 
uint8_t(*[2] top_borders )[(16 *3)*2]
 
int bipred_scratchpad_allocated
 
int edge_emu_buffer_allocated
 
int top_borders_allocated [2]
 
uint8_t non_zero_count_cache [15 *8]
 non zero coeff count cache. More...
 
int16_t mv_cache [2][5 *8][2]
 Motion vector cache. More...
 
int8_t ref_cache [2][5 *8]
 
uint8_t mvd_cache [2][5 *8][2]
 
uint8_t direct_cache [5 *8]
 
uint16_t sub_mb_type [4]
 as a dct coefficient is int32_t in high depth, we need to reserve twice the space. More...
 
int16_t mb [16 *48 *2]
 
int16_t mb_luma_dc [3][16 *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 More...
 
int16_t mb_padding [256 *2]
 
uint8_t(*[2] mvd_table )[2]
 
CABACContext cabac
 Cabac. More...
 
uint8_t cabac_state [1024]
 
int cabac_init_idc
 
uint8_trbsp_buffer
 
unsigned int rbsp_buffer_size
 

Detailed Description

Definition at line 362 of file h264.h.

Field Documentation

struct H264Context* H264SliceContext::h264
GetBitContext H264SliceContext::gb
ERContext H264SliceContext::er
int H264SliceContext::slice_num
int H264SliceContext::slice_type
int H264SliceContext::slice_type_nos
int H264SliceContext::slice_type_fixed

Definition at line 370 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and fill_slice_long().

int H264SliceContext::qscale
int H264SliceContext::chroma_qp[2]
int H264SliceContext::qp_thresh

QP threshold to skip loopfilter.

Definition at line 374 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and fill_filter_caches().

int H264SliceContext::last_qscale_diff

Definition at line 375 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_slice_header().

int H264SliceContext::deblocking_filter

disable_deblocking_filter_idc with 1 <-> 0

Definition at line 378 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 H264SliceContext::slice_alpha_c0_offset
int H264SliceContext::slice_beta_offset
int H264SliceContext::use_weight
int H264SliceContext::use_weight_chroma
int H264SliceContext::luma_log2_weight_denom
int H264SliceContext::chroma_log2_weight_denom
int H264SliceContext::luma_weight_flag[2]
int H264SliceContext::chroma_weight_flag[2]
int H264SliceContext::luma_weight[48][2][2]
int H264SliceContext::chroma_weight[48][2][2][2]
int H264SliceContext::implicit_weight[48][48][2]

Definition at line 392 of file h264.h.

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

int H264SliceContext::prev_mb_skipped

Definition at line 394 of file h264.h.

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

int H264SliceContext::next_mb_skipped

Definition at line 395 of file h264.h.

Referenced by ff_h264_decode_mb_cabac().

int H264SliceContext::chroma_pred_mode

Definition at line 397 of file h264.h.

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

int H264SliceContext::intra16x16_pred_mode
int8_t H264SliceContext::intra4x4_pred_mode_cache[5 *8]
int8_t* H264SliceContext::intra4x4_pred_mode
int H264SliceContext::topleft_mb_xy

Definition at line 403 of file h264.h.

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

int H264SliceContext::top_mb_xy
int H264SliceContext::topright_mb_xy

Definition at line 405 of file h264.h.

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

int H264SliceContext::left_mb_xy[LEFT_MBS]
int H264SliceContext::topleft_type

Definition at line 408 of file h264.h.

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

int H264SliceContext::top_type
int H264SliceContext::topright_type

Definition at line 410 of file h264.h.

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

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

Definition at line 413 of file h264.h.

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

int H264SliceContext::topleft_partition

Definition at line 414 of file h264.h.

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

unsigned int H264SliceContext::topleft_samples_available

Definition at line 416 of file h264.h.

Referenced by fill_decode_caches(), and hl_decode_mb_predict_luma().

unsigned int H264SliceContext::top_samples_available
unsigned int H264SliceContext::topright_samples_available

Definition at line 418 of file h264.h.

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

unsigned int H264SliceContext::left_samples_available
ptrdiff_t H264SliceContext::linesize
ptrdiff_t H264SliceContext::uvlinesize
ptrdiff_t H264SliceContext::mb_linesize

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

Definition at line 422 of file h264.h.

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

ptrdiff_t H264SliceContext::mb_uvlinesize

Definition at line 423 of file h264.h.

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

int H264SliceContext::mb_x
int H264SliceContext::mb_y
int H264SliceContext::mb_xy
int H264SliceContext::resync_mb_x

Definition at line 427 of file h264.h.

Referenced by decode_slice(), and ff_h264_decode_slice_header().

int H264SliceContext::resync_mb_y

Definition at line 428 of file h264.h.

Referenced by decode_slice(), and ff_h264_decode_slice_header().

int H264SliceContext::next_slice_idx

Definition at line 430 of file h264.h.

Referenced by decode_slice(), and ff_h264_execute_decode_slices().

int H264SliceContext::mb_skip_run

Definition at line 431 of file h264.h.

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

int H264SliceContext::is_complex

Definition at line 432 of file h264.h.

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

int H264SliceContext::mb_field_decoding_flag
int H264SliceContext::mb_mbaff

mb_aff_frame && mb_field_decoding_flag

Definition at line 435 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 H264SliceContext::redundant_pic_count

Definition at line 437 of file h264.h.

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

int H264SliceContext::neighbor_transform_size

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

Definition at line 442 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and fill_decode_caches().

int H264SliceContext::direct_spatial_mv_pred
int H264SliceContext::col_parity
int H264SliceContext::col_fieldoff
int H264SliceContext::cbp
int H264SliceContext::top_cbp

Definition at line 449 of file h264.h.

Referenced by decode_cabac_mb_cbp_luma(), and fill_decode_caches().

int H264SliceContext::left_cbp
int H264SliceContext::dist_scale_factor[32]

Definition at line 452 of file h264.h.

Referenced by ff_h264_direct_dist_scale_factor(), and pred_temp_direct_motion().

int H264SliceContext::dist_scale_factor_field[2][32]

Definition at line 453 of file h264.h.

Referenced by ff_h264_direct_dist_scale_factor(), and pred_temp_direct_motion().

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

Definition at line 454 of file h264.h.

Referenced by ff_h264_direct_ref_list_init(), and pred_temp_direct_motion().

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

Definition at line 455 of file h264.h.

Referenced by ff_h264_direct_ref_list_init(), and pred_temp_direct_motion().

unsigned int H264SliceContext::ref_count[2]
unsigned int H264SliceContext::list_count
H264Ref H264SliceContext::ref_list[2][48]
int H264SliceContext::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 465 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and fill_filter_caches_inter().

const uint8_t* H264SliceContext::intra_pcm_ptr

Definition at line 467 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().

int16_t* H264SliceContext::dc_val_base

Definition at line 468 of file h264.h.

Referenced by ff_h264_free_tables(), and ff_h264_slice_context_init().

uint8_t* H264SliceContext::bipred_scratchpad

Definition at line 470 of file h264.h.

Referenced by alloc_scratch_buffers(), ff_h264_free_tables(), and mc_part_weighted().

uint8_t* H264SliceContext::edge_emu_buffer
uint8_t(*[2] H264SliceContext::top_borders)[(16 *3)*2]
int H264SliceContext::bipred_scratchpad_allocated

Definition at line 473 of file h264.h.

Referenced by alloc_scratch_buffers(), and ff_h264_free_tables().

int H264SliceContext::edge_emu_buffer_allocated

Definition at line 474 of file h264.h.

Referenced by alloc_scratch_buffers(), and ff_h264_free_tables().

int H264SliceContext::top_borders_allocated[2]

Definition at line 475 of file h264.h.

Referenced by alloc_scratch_buffers(), and ff_h264_free_tables().

uint8_t H264SliceContext::non_zero_count_cache[15 *8]
int16_t H264SliceContext::mv_cache[2][5 *8][2]
int8_t H264SliceContext::ref_cache[2][5 *8]
uint8_t H264SliceContext::mvd_cache[2][5 *8][2]

Definition at line 488 of file h264.h.

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

uint8_t H264SliceContext::direct_cache[5 *8]

Definition at line 489 of file h264.h.

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

uint16_t H264SliceContext::sub_mb_type[4]

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

Definition at line 491 of file h264.h.

Referenced by await_references(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), get_dct8x8_allowed(), pred_spatial_direct_motion(), pred_temp_direct_motion(), and write_back_motion().

int16_t H264SliceContext::mb[16 *48 *2]
int16_t H264SliceContext::mb_luma_dc[3][16 *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 495 of file h264.h.

Referenced by decode_cabac_luma_residual(), decode_luma_residual(), hl_decode_mb_predict_luma(), and svq3_decode_mb().

int16_t H264SliceContext::mb_padding[256 *2]

Definition at line 498 of file h264.h.

uint8_t(*[2] H264SliceContext::mvd_table)[2]
CABACContext H264SliceContext::cabac
uint8_t H264SliceContext::cabac_state[1024]
int H264SliceContext::cabac_init_idc
uint8_t* H264SliceContext::rbsp_buffer

Definition at line 510 of file h264.h.

Referenced by ff_h264_decode_nal(), and ff_h264_free_context().

unsigned int H264SliceContext::rbsp_buffer_size

Definition at line 511 of file h264.h.

Referenced by ff_h264_decode_nal().


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