H264Context Struct Reference

#include <h264.h>

List of all members.


Detailed Description

H264Context.

Definition at line 179 of file h264.h.


Public Member Functions

 DECLARE_ALIGNED_8 (uint8_t, non_zero_count_cache[6 *8])
 non zero coeff count cache.
 DECLARE_ALIGNED_8 (int16_t, mv_cache[2][5 *8][2])
 Motion vector cache.
 DECLARE_ALIGNED_8 (int8_t, ref_cache[2][5 *8])
 DECLARE_ALIGNED_8 (DCTELEM, mb[16 *24])
 DECLARE_ALIGNED_8 (int16_t, mvd_cache[2][5 *8][2])

Public Attributes

MpegEncContext s
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 got_avcC
 flag used to parse avcC data only once
int nal_length_size
 Number of bytes used for nal length (1, 2 or 4).
int chroma_qp [2]
int prev_mb_skipped
int next_mb_skipped
int chroma_pred_mode
int intra16x16_pred_mode
int top_mb_xy
int left_mb_xy [2]
int8_t intra4x4_pred_mode_cache [5 *8]
int8_t(* intra4x4_pred_mode )[8]
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 left_border [2 *(17+2 *9)]
uint8_t(* non_zero_count )[16]
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_tmb2b_xy
uint32_tmb2b8_xy
int b_stride
int b8_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
int halfpel_flag
int thirdpel_flag
int unknown_svq3_flag
int next_slice_index
SPSsps_buffers [MAX_SPS_COUNT]
SPS sps
 current sps
PPSpps_buffers [MAX_PPS_COUNT]
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 dequant_coeff_pps
 reinit tables when pps changes
int slice_num
uint8_t * slice_table_base
uint8_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
unsigned int sub_mb_type [4]
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 use_weight
int use_weight_chroma
int luma_log2_weight_denom
int chroma_log2_weight_denom
int luma_weight [2][48]
int luma_offset [2][48]
int chroma_weight [2][48][2]
int chroma_offset [2][48][2]
int implicit_weight [48][48]
int deblocking_filter
 disable_deblocking_filter_idc with 1<->0
int slice_alpha_c0_offset
int slice_beta_offset
int redundant_pic_count
int direct_spatial_mv_pred
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
Pictureshort_ref [32]
Picturelong_ref [32]
Picture default_ref_list [2][32]
 base reference list for all slices of a coded picture
Picture ref_list [2][48]
 0.
int ref2frm [16][2][64]
 reference to frame number lists, used in the loop filter, the first 2 are for -2,-1
Picturedelayed_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
GetBitContext intra_gb
GetBitContext inter_gb
GetBitContextintra_gb_ptr
GetBitContextinter_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 to large or ensure that there is some unused stuff after mb
CABACContext cabac
 Cabac.
uint8_t cabac_state [460]
int cabac_init_idc
uint16_t * cbp_table
int cbp
int top_cbp
int left_cbp
uint8_t * chroma_pred_mode_table
int last_qscale_diff
int16_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
struct H264Contextthread_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
int mb_xy

Member Function Documentation

H264Context::DECLARE_ALIGNED_8 ( uint8_t  ,
non_zero_count_cache  [6 *8] 
)

non zero coeff count cache.

is 64 if not available.

H264Context::DECLARE_ALIGNED_8 ( int16_t  ,
mv_cache  [2][5 *8][2] 
)

Motion vector cache.

H264Context::DECLARE_ALIGNED_8 ( int8_t  ,
ref_cache  [2][5 *8] 
)

H264Context::DECLARE_ALIGNED_8 ( DCTELEM  ,
mb  [16 *24] 
)

H264Context::DECLARE_ALIGNED_8 ( int16_t  ,
mvd_cache  [2][5 *8][2] 
)


Member Data Documentation

Definition at line 180 of file h264.h.

Referenced by alloc_parameter_set(), alloc_tables(), backup_mb_border(), check_intra4x4_pred_mode(), check_intra_pred_mode(), clone_slice(), clone_tables(), common_init(), compute_mb_neighbors(), context_init(), decode_cabac_field_decoding_flag(), decode_cabac_intra_mb_type(), decode_cabac_mb_mvd(), decode_cabac_mb_ref(), decode_cabac_mb_skip(), decode_cabac_mb_type(), decode_end(), decode_frame(), decode_hrd_parameters(), decode_init(), decode_mb_cabac(), decode_mb_cavlc(), decode_mb_skip(), decode_nal_units(), decode_picture_parameter_set(), decode_rbsp_trailing(), decode_ref_pic_list_reordering(), decode_ref_pic_marking(), decode_residual(), decode_scaling_list(), decode_scaling_matrices(), decode_sei(), decode_seq_parameter_set(), decode_slice(), decode_slice_header(), decode_unregistered_user_data(), decode_vui_parameters(), direct_dist_scale_factor(), direct_ref_list_init(), execute_decode_slices(), execute_ref_pic_marking(), fetch_diagonal_mv(), ff_h264_find_frame_end(), fill_caches(), fill_colmap(), fill_default_ref_list(), fill_mb_avail(), filter_mb(), filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_fast(), filter_mb_mbaff_edgecv(), filter_mb_mbaff_edgev(), find_short(), flush_dpb(), frame_start(), free_tables(), h264_parse(), hl_decode_mb(), hl_decode_mb_internal(), hl_motion(), implicit_weight_table(), init_dequant4_coeff_table(), init_dequant8_coeff_table(), init_poc(), init_scan_tables(), mc_dir_part(), mc_part_std(), mc_part_weighted(), pic_num_extract(), pred_16x8_motion(), pred_8x16_motion(), pred_direct_motion(), pred_intra_mode(), pred_motion(), pred_non_zero_count(), pred_pskip_motion(), pred_weight_table(), predict_field_decoding_flag(), prefetch_motion(), print_long_term(), print_short_term(), remove_short(), svq3_decode_frame(), svq3_decode_mb(), svq3_decode_slice_header(), svq3_mc_dir(), write_back_motion(), and xchg_mb_border().

Definition at line 181 of file h264.h.

Referenced by decode_nal(), decode_nal_units(), decode_slice_header(), and init_poc().

Definition at line 182 of file h264.h.

Referenced by decode_nal(), decode_nal_units(), decode_ref_pic_marking(), and decode_slice_header().

Definition at line 183 of file h264.h.

Referenced by decode_end(), and decode_nal().

Definition at line 184 of file h264.h.

Referenced by decode_nal().

Used to parse AVC variant of h264.

this flag is != 0 if codec is avc1

Definition at line 189 of file h264.h.

Referenced by decode_frame(), decode_init(), and decode_nal_units().

flag used to parse avcC data only once

Definition at line 190 of file h264.h.

Referenced by decode_frame(), and decode_init().

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

Definition at line 191 of file h264.h.

Referenced by decode_frame(), and decode_nal_units().

Definition at line 195 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and decode_mb_skip().

Definition at line 196 of file h264.h.

Referenced by decode_mb_cabac().

Definition at line 199 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), hl_decode_mb_internal(), and svq3_decode_mb().

Definition at line 200 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), hl_decode_mb_internal(), and svq3_decode_mb().

Definition at line 207 of file h264.h.

Referenced by clone_tables(), common_init(), and hl_decode_mb_internal().

Definition at line 208 of file h264.h.

Referenced by fill_caches(), and hl_decode_mb_internal().

Definition at line 210 of file h264.h.

Referenced by fill_caches(), hl_decode_mb_internal(), and svq3_decode_mb().

uint8_t(*[2] H264Context::top_borders)[16+2 *8]

Definition at line 212 of file h264.h.

Referenced by backup_mb_border(), context_init(), free_tables(), and xchg_mb_border().

uint8_t H264Context::left_border[2 *(17+2 *9)]

Definition at line 213 of file h264.h.

Referenced by backup_mb_border(), and xchg_mb_border().

is 1 if the specific list MV&references are set to 0,0,-2.

Definition at line 233 of file h264.h.

Referenced by fill_caches().

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

Definition at line 238 of file h264.h.

Referenced by decode_cabac_mb_transform_size(), and fill_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 244 of file h264.h.

Referenced by clone_slice(), frame_start(), and hl_decode_mb_internal().

Definition at line 246 of file h264.h.

Referenced by alloc_tables(), clone_tables(), fill_caches(), free_tables(), and pred_direct_motion().

Definition at line 247 of file h264.h.

Referenced by alloc_tables(), clone_tables(), fill_caches(), free_tables(), and pred_direct_motion().

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

Definition at line 251 of file h264.h.

Referenced by hl_decode_mb_internal(), hl_motion(), mc_dir_part(), mc_part_weighted(), and prefetch_motion().

Definition at line 252 of file h264.h.

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

Definition at line 254 of file h264.h.

Referenced by decode_slice_header(), and mc_dir_part().

Definition at line 255 of file h264.h.

Referenced by decode_slice_header(), and mc_dir_part().

Definition at line 257 of file h264.h.

Referenced by svq3_decode_frame(), and svq3_decode_mb().

Definition at line 258 of file h264.h.

Referenced by svq3_decode_frame(), and svq3_decode_mb().

Definition at line 260 of file h264.h.

Referenced by svq3_decode_frame(), and svq3_decode_slice_header().

Definition at line 261 of file h264.h.

Referenced by svq3_decode_frame(), and svq3_decode_slice_header().

SPS* H264Context::sps_buffers[MAX_SPS_COUNT]

PPS* H264Context::pps_buffers[MAX_PPS_COUNT]

Definition at line 266 of file h264.h.

Referenced by decode_picture_parameter_set(), decode_slice_header(), and free_tables().

Definition at line 272 of file h264.h.

Referenced by init_dequant4_coeff_table().

Definition at line 273 of file h264.h.

Referenced by init_dequant8_coeff_table().

reinit tables when pps changes

Definition at line 276 of file h264.h.

Referenced by common_init(), decode_picture_parameter_set(), and decode_slice_header().

Definition at line 279 of file h264.h.

Referenced by alloc_tables(), and free_tables().

Definition at line 283 of file h264.h.

Referenced by decode_slice_header().

Definition at line 286 of file h264.h.

Referenced by decode_slice_header().

mb_aff_frame && mb_field_decoding_flag

Definition at line 288 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), decode_slice_header(), and predict_field_decoding_flag().

unsigned int H264Context::sub_mb_type[4]

Definition at line 293 of file h264.h.

Referenced by decode_frame(), decode_slice_header(), execute_ref_pic_marking(), and init_poc().

Definition at line 294 of file h264.h.

Referenced by decode_frame(), execute_ref_pic_marking(), and init_poc().

Definition at line 295 of file h264.h.

Referenced by decode_slice_header(), and init_poc().

Definition at line 296 of file h264.h.

Referenced by decode_slice_header(), and init_poc().

poc_msb of the last reference pic for POC type 0

Definition at line 298 of file h264.h.

Referenced by clone_slice(), decode_frame(), decode_init(), idr(), and init_poc().

poc_lsb of the last reference pic for POC type 0

Definition at line 299 of file h264.h.

Referenced by clone_slice(), decode_frame(), idr(), and init_poc().

for POC type 2

Definition at line 300 of file h264.h.

Referenced by decode_frame(), init_poc(), svq3_decode_frame(), and svq3_mc_dir().

for POC type 2

Definition at line 301 of file h264.h.

Referenced by clone_slice(), decode_frame(), idr(), init_poc(), svq3_decode_frame(), and svq3_mc_dir().

frame_num of the last pic for POC type 1/2

Definition at line 302 of file h264.h.

Referenced by clone_slice(), decode_frame(), decode_slice_header(), idr(), init_poc(), and svq3_decode_frame().

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

Definition at line 307 of file h264.h.

Referenced by decode_ref_pic_list_reordering(), decode_ref_pic_marking(), and decode_slice_header().

max_frame_num or 2*max_frame_num for field pics.

Definition at line 312 of file h264.h.

Referenced by decode_ref_pic_list_reordering(), decode_ref_pic_marking(), and decode_slice_header().

Definition at line 317 of file h264.h.

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

Definition at line 318 of file h264.h.

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

Definition at line 319 of file h264.h.

Referenced by fill_mbaff_ref_list(), mc_part_weighted(), and pred_weight_table().

Definition at line 320 of file h264.h.

Referenced by fill_mbaff_ref_list(), mc_part_weighted(), and pred_weight_table().

Definition at line 321 of file h264.h.

Referenced by fill_mbaff_ref_list(), mc_part_weighted(), and pred_weight_table().

Definition at line 322 of file h264.h.

Referenced by fill_mbaff_ref_list(), mc_part_weighted(), and pred_weight_table().

Definition at line 323 of file h264.h.

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

disable_deblocking_filter_idc with 1<->0

Definition at line 326 of file h264.h.

Referenced by decode_slice_header(), fill_caches(), filter_mb(), filter_mb_fast(), hl_decode_mb_internal(), and xchg_mb_border().

Definition at line 330 of file h264.h.

Referenced by decode_nal_units(), and decode_slice_header().

Definition at line 332 of file h264.h.

Referenced by decode_slice_header(), direct_ref_list_init(), fill_caches(), and pred_direct_motion().

Definition at line 333 of file h264.h.

Referenced by direct_dist_scale_factor(), and pred_direct_motion().

Definition at line 334 of file h264.h.

Referenced by direct_dist_scale_factor(), and pred_direct_motion().

Definition at line 335 of file h264.h.

Referenced by direct_ref_list_init(), and pred_direct_motion().

Definition at line 336 of file h264.h.

Referenced by direct_ref_list_init(), and pred_direct_motion().

unsigned int H264Context::ref_count[2]

base reference list for all slices of a coded picture

Definition at line 345 of file h264.h.

Referenced by clone_slice(), decode_ref_pic_list_reordering(), and fill_default_ref_list().

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 346 of file h264.h.

Referenced by clone_slice(), decode_ref_pic_list_reordering(), decode_slice_header(), direct_dist_scale_factor(), direct_ref_list_init(), fill_colmap(), fill_mbaff_ref_list(), get_scale_factor(), implicit_weight_table(), mc_part_std(), mc_part_weighted(), pred_direct_motion(), and prefetch_motion().

int H264Context::ref2frm[16][2][64]

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

Definition at line 349 of file h264.h.

Referenced by decode_slice_header().

Picture* H264Context::delayed_pic[MAX_DELAYED_PIC_COUNT+2]

Definition at line 350 of file h264.h.

Referenced by decode_frame(), flush_dpb(), and unreference_pic().

Definition at line 351 of file h264.h.

Referenced by decode_frame(), decode_init(), and flush_dpb().

MMCO H264Context::mmco[MAX_MMCO_COUNT]

memory management control operations buffer.

Definition at line 356 of file h264.h.

Referenced by decode_frame(), decode_ref_pic_marking(), and execute_ref_pic_marking().

Definition at line 357 of file h264.h.

Referenced by decode_frame(), and decode_ref_pic_marking().

number of actual long term references

Definition at line 359 of file h264.h.

Referenced by decode_ref_pic_marking(), execute_ref_pic_marking(), idr(), and remove_long().

Definition at line 363 of file h264.h.

Referenced by decode_nal_units().

Definition at line 364 of file h264.h.

Referenced by decode_nal_units().

Definition at line 365 of file h264.h.

Referenced by decode_mb_cavlc(), and decode_nal_units().

Definition at line 366 of file h264.h.

Referenced by decode_mb_cavlc(), and decode_nal_units().

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

Definition at line 369 of file h264.h.

Definition at line 376 of file h264.h.

Referenced by decode_slice(), and decode_slice_header().

Definition at line 380 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and filter_mb_fast().

Definition at line 381 of file h264.h.

Referenced by decode_cabac_mb_cbp_luma(), and fill_caches().

Definition at line 385 of file h264.h.

Referenced by decode_cabac_mb_dqp(), decode_mb_cabac(), and decode_slice_header().

Definition at line 386 of file h264.h.

Referenced by alloc_tables(), clone_tables(), fill_caches(), free_tables(), and write_back_motion().

Definition at line 388 of file h264.h.

Referenced by alloc_tables(), clone_tables(), fill_caches(), free_tables(), and write_back_motion().

Definition at line 389 of file h264.h.

Referenced by decode_cabac_mb_ref(), decode_mb_cabac(), and fill_caches().

Definition at line 391 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and init_scan_tables().

Definition at line 392 of file h264.h.

Referenced by decode_mb_cabac(), and init_scan_tables().

Definition at line 393 of file h264.h.

Referenced by decode_mb_cavlc(), and init_scan_tables().

Definition at line 394 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and init_scan_tables().

Definition at line 395 of file h264.h.

Referenced by decode_mb_cabac(), and init_scan_tables().

Definition at line 396 of file h264.h.

Referenced by decode_mb_cavlc(), and init_scan_tables().

Definition at line 397 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and init_scan_tables().

Definition at line 398 of file h264.h.

Referenced by decode_mb_cabac(), and init_scan_tables().

Definition at line 399 of file h264.h.

Referenced by decode_mb_cavlc(), and init_scan_tables().

Definition at line 400 of file h264.h.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and init_scan_tables().

Definition at line 401 of file h264.h.

Referenced by decode_mb_cabac(), and init_scan_tables().

Definition at line 402 of file h264.h.

Referenced by decode_mb_cavlc(), and init_scan_tables().

Definition at line 404 of file h264.h.

Referenced by decode_slice_header(), decode_unregistered_user_data(), and pred_direct_motion().


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

Generated on Sat Dec 18 05:16:03 2010 for MythTV by  doxygen 1.5.5