FFmpeg
Data Fields
H264SliceContext Struct Reference

#include <h264dec.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
 
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 More...
 
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 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...
 
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 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
 
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
 

Detailed Description

Definition at line 184 of file h264dec.h.

Field Documentation

◆ h264

struct H264Context* H264SliceContext::h264

◆ gb

GetBitContext H264SliceContext::gb

◆ er

ERContext H264SliceContext::er

◆ slice_num

int H264SliceContext::slice_num

◆ slice_type

int H264SliceContext::slice_type

◆ slice_type_nos

int H264SliceContext::slice_type_nos

◆ slice_type_fixed

int H264SliceContext::slice_type_fixed

Definition at line 192 of file h264dec.h.

Referenced by fill_slice_long(), h264_slice_header_parse(), and h264_slice_init().

◆ qscale

int H264SliceContext::qscale

◆ chroma_qp

int H264SliceContext::chroma_qp[2]

◆ qp_thresh

int H264SliceContext::qp_thresh

QP threshold to skip loopfilter.

Definition at line 196 of file h264dec.h.

Referenced by fill_filter_caches(), and h264_slice_init().

◆ last_qscale_diff

int H264SliceContext::last_qscale_diff

Definition at line 197 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and h264_slice_header_parse().

◆ deblocking_filter

int H264SliceContext::deblocking_filter

◆ slice_alpha_c0_offset

int H264SliceContext::slice_alpha_c0_offset

◆ slice_beta_offset

int H264SliceContext::slice_beta_offset

◆ pwt

H264PredWeightTable H264SliceContext::pwt

◆ prev_mb_skipped

int H264SliceContext::prev_mb_skipped

Definition at line 206 of file h264dec.h.

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

◆ next_mb_skipped

int H264SliceContext::next_mb_skipped

Definition at line 207 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac().

◆ chroma_pred_mode

int H264SliceContext::chroma_pred_mode

Definition at line 209 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().

◆ intra16x16_pred_mode

int H264SliceContext::intra16x16_pred_mode

◆ intra4x4_pred_mode_cache

int8_t H264SliceContext::intra4x4_pred_mode_cache[5 *8]

◆ intra4x4_pred_mode

int8_t* H264SliceContext::intra4x4_pred_mode

◆ topleft_mb_xy

int H264SliceContext::topleft_mb_xy

Definition at line 215 of file h264dec.h.

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

◆ top_mb_xy

int H264SliceContext::top_mb_xy

◆ topright_mb_xy

int H264SliceContext::topright_mb_xy

Definition at line 217 of file h264dec.h.

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

◆ left_mb_xy

int H264SliceContext::left_mb_xy[LEFT_MBS]

◆ topleft_type

int H264SliceContext::topleft_type

Definition at line 220 of file h264dec.h.

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

◆ top_type

int H264SliceContext::top_type

◆ topright_type

int H264SliceContext::topright_type

Definition at line 222 of file h264dec.h.

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

◆ left_type

int H264SliceContext::left_type[LEFT_MBS]

◆ left_block

const uint8_t* H264SliceContext::left_block

Definition at line 225 of file h264dec.h.

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

◆ topleft_partition

int H264SliceContext::topleft_partition

Definition at line 226 of file h264dec.h.

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

◆ topleft_samples_available

unsigned int H264SliceContext::topleft_samples_available

Definition at line 228 of file h264dec.h.

Referenced by fill_decode_caches(), and hl_decode_mb_predict_luma().

◆ top_samples_available

unsigned int H264SliceContext::top_samples_available

Definition at line 229 of file h264dec.h.

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

◆ topright_samples_available

unsigned int H264SliceContext::topright_samples_available

Definition at line 230 of file h264dec.h.

Referenced by fill_decode_caches(), and hl_decode_mb_predict_luma().

◆ left_samples_available

unsigned int H264SliceContext::left_samples_available

Definition at line 231 of file h264dec.h.

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

◆ linesize

ptrdiff_t H264SliceContext::linesize

Definition at line 233 of file h264dec.h.

Referenced by decode_slice(), loop_filter(), and prefetch_motion().

◆ uvlinesize

ptrdiff_t H264SliceContext::uvlinesize

Definition at line 233 of file h264dec.h.

Referenced by decode_slice(), loop_filter(), and prefetch_motion().

◆ mb_linesize

ptrdiff_t H264SliceContext::mb_linesize

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

Definition at line 234 of file h264dec.h.

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

◆ mb_uvlinesize

ptrdiff_t H264SliceContext::mb_uvlinesize

Definition at line 235 of file h264dec.h.

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

◆ mb_x

int H264SliceContext::mb_x

◆ mb_y

int H264SliceContext::mb_y

◆ mb_xy

int H264SliceContext::mb_xy

◆ resync_mb_x

int H264SliceContext::resync_mb_x

Definition at line 239 of file h264dec.h.

Referenced by decode_slice(), ff_h264_execute_decode_slices(), and h264_slice_init().

◆ resync_mb_y

int H264SliceContext::resync_mb_y

Definition at line 240 of file h264dec.h.

Referenced by decode_slice(), ff_h264_execute_decode_slices(), and h264_slice_init().

◆ first_mb_addr

unsigned int H264SliceContext::first_mb_addr

Definition at line 241 of file h264dec.h.

Referenced by ff_h264_queue_decode_slice(), h264_slice_header_parse(), and h264_slice_init().

◆ next_slice_idx

int H264SliceContext::next_slice_idx

Definition at line 243 of file h264dec.h.

Referenced by decode_slice(), and ff_h264_execute_decode_slices().

◆ mb_skip_run

int H264SliceContext::mb_skip_run

Definition at line 244 of file h264dec.h.

Referenced by decode_slice(), and ff_h264_decode_mb_cavlc().

◆ is_complex

int H264SliceContext::is_complex

Definition at line 245 of file h264dec.h.

Referenced by decode_slice(), and ff_h264_hl_decode_mb().

◆ picture_structure

int H264SliceContext::picture_structure

◆ mb_field_decoding_flag

int H264SliceContext::mb_field_decoding_flag

◆ mb_mbaff

int H264SliceContext::mb_mbaff

mb_aff_frame && mb_field_decoding_flag

Definition at line 249 of file h264dec.h.

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

◆ redundant_pic_count

int H264SliceContext::redundant_pic_count

Definition at line 251 of file h264dec.h.

Referenced by ff_h264_queue_decode_slice(), fill_slice_long(), and h264_slice_header_parse().

◆ neighbor_transform_size

int H264SliceContext::neighbor_transform_size

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

Definition at line 256 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and fill_decode_caches().

◆ direct_spatial_mv_pred

int H264SliceContext::direct_spatial_mv_pred

◆ col_parity

int H264SliceContext::col_parity

◆ col_fieldoff

int H264SliceContext::col_fieldoff

◆ cbp

int H264SliceContext::cbp

◆ top_cbp

int H264SliceContext::top_cbp

Definition at line 263 of file h264dec.h.

Referenced by decode_cabac_mb_cbp_luma(), and fill_decode_caches().

◆ left_cbp

int H264SliceContext::left_cbp

◆ dist_scale_factor

int H264SliceContext::dist_scale_factor[32]

Definition at line 266 of file h264dec.h.

Referenced by ff_h264_direct_dist_scale_factor(), and pred_temp_direct_motion().

◆ dist_scale_factor_field

int H264SliceContext::dist_scale_factor_field[2][32]

Definition at line 267 of file h264dec.h.

Referenced by ff_h264_direct_dist_scale_factor(), and pred_temp_direct_motion().

◆ map_col_to_list0

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

Definition at line 268 of file h264dec.h.

Referenced by ff_h264_direct_ref_list_init(), and pred_temp_direct_motion().

◆ map_col_to_list0_field

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

Definition at line 269 of file h264dec.h.

Referenced by ff_h264_direct_ref_list_init(), and pred_temp_direct_motion().

◆ ref_count

unsigned int H264SliceContext::ref_count[2]

◆ list_count

unsigned int H264SliceContext::list_count

◆ ref_list

H264Ref H264SliceContext::ref_list[2][48]

◆ op

uint8_t H264SliceContext::op

Definition at line 280 of file h264dec.h.

Referenced by ff_h264_build_ref_list(), and ff_h264_decode_ref_pic_list_reordering().

◆ val

uint32_t H264SliceContext::val

Definition at line 281 of file h264dec.h.

Referenced by ff_h264_build_ref_list(), and ff_h264_decode_ref_pic_list_reordering().

◆ ref_modifications

struct { ... } H264SliceContext::ref_modifications[2][32]

◆ nb_ref_modifications

int H264SliceContext::nb_ref_modifications[2]

Definition at line 283 of file h264dec.h.

Referenced by ff_h264_build_ref_list(), and ff_h264_decode_ref_pic_list_reordering().

◆ pps_id

unsigned int H264SliceContext::pps_id

Definition at line 285 of file h264dec.h.

Referenced by ff_h264_queue_decode_slice(), h264_init_ps(), and h264_slice_header_parse().

◆ intra_pcm_ptr

const uint8_t* H264SliceContext::intra_pcm_ptr

Definition at line 287 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().

◆ dc_val_base

int16_t* H264SliceContext::dc_val_base

Definition at line 288 of file h264dec.h.

Referenced by ff_h264_free_tables(), and ff_h264_slice_context_init().

◆ bipred_scratchpad

uint8_t* H264SliceContext::bipred_scratchpad

Definition at line 290 of file h264dec.h.

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

◆ edge_emu_buffer

uint8_t* H264SliceContext::edge_emu_buffer

Definition at line 291 of file h264dec.h.

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

◆ top_borders

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

◆ bipred_scratchpad_allocated

int H264SliceContext::bipred_scratchpad_allocated

Definition at line 293 of file h264dec.h.

Referenced by alloc_scratch_buffers(), and ff_h264_free_tables().

◆ edge_emu_buffer_allocated

int H264SliceContext::edge_emu_buffer_allocated

Definition at line 294 of file h264dec.h.

Referenced by alloc_scratch_buffers(), and ff_h264_free_tables().

◆ top_borders_allocated

int H264SliceContext::top_borders_allocated[2]

Definition at line 295 of file h264dec.h.

Referenced by alloc_scratch_buffers(), and ff_h264_free_tables().

◆ non_zero_count_cache

uint8_t H264SliceContext::non_zero_count_cache[15 *8]

◆ mv_cache

int16_t H264SliceContext::mv_cache[2][5 *8][2]

◆ ref_cache

int8_t H264SliceContext::ref_cache[2][5 *8]

◆ mvd_cache

uint8_t H264SliceContext::mvd_cache[2][5 *8][2]

Definition at line 308 of file h264dec.h.

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

◆ direct_cache

uint8_t H264SliceContext::direct_cache[5 *8]

Definition at line 309 of file h264dec.h.

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

◆ sub_mb_type

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 311 of file h264dec.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().

◆ mb

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

◆ mb_luma_dc

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 315 of file h264dec.h.

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

◆ mb_padding

int16_t H264SliceContext::mb_padding[256 *2]

Definition at line 318 of file h264dec.h.

◆ mvd_table

uint8_t(*[2] H264SliceContext::mvd_table)[2]

Definition at line 320 of file h264dec.h.

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

◆ cabac

CABACContext H264SliceContext::cabac

◆ cabac_state

uint8_t H264SliceContext::cabac_state[1024]

◆ cabac_init_idc

int H264SliceContext::cabac_init_idc

◆ mmco

MMCO H264SliceContext::mmco[MAX_MMCO_COUNT]

Definition at line 329 of file h264dec.h.

Referenced by ff_h264_decode_ref_pic_marking(), and h264_field_start().

◆ nb_mmco

int H264SliceContext::nb_mmco

Definition at line 330 of file h264dec.h.

Referenced by ff_h264_decode_ref_pic_marking(), and h264_field_start().

◆ explicit_ref_marking

int H264SliceContext::explicit_ref_marking

◆ frame_num

int H264SliceContext::frame_num

Definition at line 333 of file h264dec.h.

Referenced by h264_field_start(), and h264_slice_header_parse().

◆ poc_lsb

int H264SliceContext::poc_lsb

Definition at line 334 of file h264dec.h.

Referenced by h264_field_start(), and h264_slice_header_parse().

◆ delta_poc_bottom

int H264SliceContext::delta_poc_bottom

Definition at line 335 of file h264dec.h.

Referenced by h264_field_start(), and h264_slice_header_parse().

◆ delta_poc

int H264SliceContext::delta_poc[2]

Definition at line 336 of file h264dec.h.

Referenced by h264_field_start(), and h264_slice_header_parse().

◆ curr_pic_num

int H264SliceContext::curr_pic_num

◆ max_pic_num

int H264SliceContext::max_pic_num

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