FFmpeg
Public Member Functions | Public Attributes | List of all members
H264SliceContext Struct Reference

Public Member Functions

 DECLARE_ALIGNED (8, uint8_t, non_zero_count_cache)[15 *8]
 non zero coeff count cache. More...
 
 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 (16, uint8_t, mvd_cache)[2][5 *8][2]
 
 DECLARE_ALIGNED (8, uint16_t, sub_mb_type)[4]
 as a DCT coefficient is int32_t in high depth, we need to reserve twice the space.
 
 DECLARE_ALIGNED (16, int16_t, mb)[16 *48 *2]
 
 DECLARE_ALIGNED (16, 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
 

Public Attributes

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)
 
int slice_type_fixed
 
int qscale
 
int chroma_qp [2]
 
int qp_thresh
 QP threshold to skip loopfilter.
 
int last_qscale_diff
 
int deblocking_filter
 disable_deblocking_filter_idc with 1 <-> 0
 
int slice_alpha_c0_offset
 
int slice_beta_offset
 
H264PredWeightTable pwt
 
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_t * left_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
 
ptrdiff_t mb_uvlinesize
 
int mb_x
 
int mb_y
 
int mb_xy
 
int resync_mb_x
 
int resync_mb_y
 
unsigned int first_mb_addr
 
int next_slice_idx
 
int mb_skip_run
 
int is_complex
 
int picture_structure
 
int mb_field_decoding_flag
 
int mb_mbaff
 mb_aff_frame && mb_field_decoding_flag
 
int redundant_pic_count
 
int neighbor_transform_size
 number of neighbors (top and/or left) that used 8x8 dct
 
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...
 
struct {
   uint8_t   op
 
   uint32_t   val
 
ref_modifications [2][32]
 
int nb_ref_modifications [2]
 
unsigned int pps_id
 
const uint8_t * intra_pcm_ptr
 
int16_t * dc_val_base
 
uint8_t * bipred_scratchpad
 
uint8_t * edge_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 direct_cache [5 *8]
 
int16_t mb_padding [256 *2]
 
uint8_t(*[2] mvd_table )[2]
 
CABACContext cabac
 Cabac.
 
uint8_t cabac_state [1024]
 
int cabac_init_idc
 
MMCO mmco [MAX_MMCO_COUNT]
 
int nb_mmco
 
int explicit_ref_marking
 
int frame_num
 
int poc_lsb
 
int delta_poc_bottom
 
int delta_poc [2]
 
int curr_pic_num
 
int max_pic_num
 

Member Function Documentation

§ DECLARE_ALIGNED()

H264SliceContext::DECLARE_ALIGNED ( ,
uint8_t  ,
non_zero_count_cache   
)

non zero coeff count cache.

is 64 if not available.

Member Data Documentation

§ ref_count

unsigned int H264SliceContext::ref_count[2]

num_ref_idx_l0/1_active_minus1 + 1

counts frames or fields, depending on current mb mode

§ ref_list

H264Ref H264SliceContext::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


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