Libav
Data Fields
H264Context Struct Reference

H264Context. More...

#include <h264dec.h>

Data Fields

const AVClassclass
 
AVCodecContextavctx
 
VideoDSPContext vdsp
 
H264DSPContext h264dsp
 
H264ChromaContext h264chroma
 
H264QpelContext h264qpel
 
H264Picture DPB [H264_MAX_PICTURE_COUNT]
 
H264Picturecur_pic_ptr
 
H264Picture cur_pic
 
H264SliceContextslice_ctx
 
int nb_slice_ctx
 
int nb_slice_ctx_queued
 
H2645Packet pkt
 
int pixel_shift
 0 for 8-bit H.264, 1 for high-bit-depth H.264 More...
 
int width
 
int height
 
int chroma_x_shift
 
int chroma_y_shift
 
int droppable
 
int coded_picture_number
 
int context_initialized
 
int flags
 
int workaround_bugs
 
int x264_build
 
int postpone_filter
 
int picture_idr
 
int8_t * intra4x4_pred_mode
 
H264PredContext hpc
 
uint8_t(* non_zero_count )[48]
 
int block_offset [2 *(16 *3)]
 block_offset[ 0..23] for frame macroblocks block_offset[24..47] for field macroblocks More...
 
uint32_t * mb2b_xy
 
uint32_t * mb2br_xy
 
int b_stride
 
uint16_t * slice_table
 slice_table_base + 2*mb_stride + 1 More...
 
int mb_aff_frame
 
int picture_structure
 
int first_field
 
uint8_tlist_counts
 Array of list_count per MB specifying the slice type. More...
 
uint16_t * cbp_table
 
uint8_tchroma_pred_mode_table
 
uint8_t(*[2] mvd_table )[2]
 
uint8_tdirect_table
 
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_tzigzag_scan_q0
 
const uint8_tzigzag_scan8x8_q0
 
const uint8_tzigzag_scan8x8_cavlc_q0
 
const uint8_tfield_scan_q0
 
const uint8_tfield_scan8x8_q0
 
const uint8_tfield_scan8x8_cavlc_q0
 
int mb_y
 
int mb_height
 
int mb_width
 
int mb_stride
 
int mb_num
 
int nal_ref_idc
 
int nal_unit_type
 
int is_avc
 Used to parse AVC variant of H.264. More...
 
int nal_length_size
 Number of bytes used for nal length (1, 2 or 4) More...
 
int bit_depth_luma
 luma bit depth from sps to detect changes More...
 
int chroma_format_idc
 chroma format from sps to detect changes More...
 
H264ParamSets ps
 
uint16_t * slice_table_base
 
H264POCContext poc
 
H264Pictureshort_ref [32]
 
H264Picturelong_ref [32]
 
H264Picturedelayed_pic [MAX_DELAYED_PIC_COUNT+2]
 
int last_pocs [MAX_DELAYED_PIC_COUNT]
 
int next_outputed_poc
 
MMCO mmco [MAX_MMCO_COUNT]
 memory management control operations buffer. More...
 
int nb_mmco
 
int mmco_reset
 
int explicit_ref_marking
 
int long_ref_count
 number of actual long term references More...
 
int short_ref_count
 number of actual short term references More...
 
int prev_interlaced_frame
 Complement sei_pic_struct SEI_PIC_STRUCT_TOP_BOTTOM and SEI_PIC_STRUCT_BOTTOM_TOP indicate interlaced frames. More...
 
int recovery_frame
 recovery_frame is the frame_num at which the next frame should be fully constructed. More...
 
int frame_recovered
 Initial frame has been completely recovered. More...
 
int setup_finished
 
int field_started
 
AVFrameoutput_frame
 
int enable_er
 
H264SEIContext sei
 
AVBufferPoolqscale_table_pool
 
AVBufferPoolmb_type_pool
 
AVBufferPoolmotion_val_pool
 
AVBufferPoolref_index_pool
 
int ref2frm [MAX_SLICES][2][64]
 reference to frame number lists, used in the loop filter, the first 2 are for -2,-1 More...
 
Members for slice based multithreading
int current_slice
 current slice number, used to initialize slice_num of each thread/context More...
 

Detailed Description

H264Context.

Definition at line 334 of file h264dec.h.

Field Documentation

◆ class

const AVClass* H264Context::class

Definition at line 335 of file h264dec.h.

◆ avctx

AVCodecContext* H264Context::avctx

◆ vdsp

VideoDSPContext H264Context::vdsp

Definition at line 337 of file h264dec.h.

Referenced by h264_slice_header_init(), mc_dir_part(), and prefetch_motion().

◆ h264dsp

H264DSPContext H264Context::h264dsp

◆ h264chroma

H264ChromaContext H264Context::h264chroma

Definition at line 339 of file h264dec.h.

Referenced by h264_slice_header_init().

◆ h264qpel

H264QpelContext H264Context::h264qpel

Definition at line 340 of file h264dec.h.

Referenced by h264_slice_header_init().

◆ DPB

◆ cur_pic_ptr

H264Picture* H264Context::cur_pic_ptr

◆ cur_pic

H264Picture H264Context::cur_pic

◆ slice_ctx

H264SliceContext* H264Context::slice_ctx

◆ nb_slice_ctx

int H264Context::nb_slice_ctx

◆ nb_slice_ctx_queued

int H264Context::nb_slice_ctx_queued

◆ pkt

H2645Packet H264Context::pkt

Definition at line 350 of file h264dec.h.

Referenced by decode_nal_units(), get_last_needed_nal(), and h264_decode_end().

◆ pixel_shift

int H264Context::pixel_shift

◆ width

int H264Context::width

Definition at line 355 of file h264dec.h.

Referenced by ff_h264_update_thread_context(), h264_init_ps(), and init_dimensions().

◆ height

int H264Context::height

Definition at line 355 of file h264dec.h.

Referenced by ff_h264_update_thread_context(), h264_init_ps(), and init_dimensions().

◆ chroma_x_shift

int H264Context::chroma_x_shift

Definition at line 356 of file h264dec.h.

Referenced by h264_slice_header_init(), and output_frame().

◆ chroma_y_shift

int H264Context::chroma_y_shift

◆ droppable

int H264Context::droppable

◆ coded_picture_number

int H264Context::coded_picture_number

Definition at line 359 of file h264dec.h.

Referenced by ff_h264_update_thread_context(), and h264_frame_start().

◆ context_initialized

int H264Context::context_initialized

◆ flags

int H264Context::flags

◆ workaround_bugs

int H264Context::workaround_bugs

Definition at line 363 of file h264dec.h.

Referenced by decode_slice(), ff_h264_update_thread_context(), and h264_init_context().

◆ x264_build

int H264Context::x264_build

◆ postpone_filter

int H264Context::postpone_filter

◆ picture_idr

int H264Context::picture_idr

Definition at line 374 of file h264dec.h.

Referenced by h264_field_start(), and h264_slice_init().

◆ intra4x4_pred_mode

int8_t* H264Context::intra4x4_pred_mode

Definition at line 376 of file h264dec.h.

Referenced by ff_h264_alloc_tables(), ff_h264_free_tables(), and h264_slice_header_init().

◆ hpc

H264PredContext H264Context::hpc

◆ non_zero_count

uint8_t(* H264Context::non_zero_count)[48]

◆ block_offset

int H264Context::block_offset[2 *(16 *3)]

block_offset[ 0..23] for frame macroblocks block_offset[24..47] for field macroblocks

Definition at line 388 of file h264dec.h.

Referenced by ff_h264_update_thread_context(), and h264_frame_start().

◆ mb2b_xy

uint32_t* H264Context::mb2b_xy

◆ mb2br_xy

uint32_t* H264Context::mb2br_xy

◆ b_stride

int H264Context::b_stride

◆ slice_table

uint16_t* H264Context::slice_table

◆ mb_aff_frame

int H264Context::mb_aff_frame

Definition at line 397 of file h264dec.h.

Referenced by ff_h264_update_thread_context(), and h264_frame_start().

◆ picture_structure

int H264Context::picture_structure

◆ first_field

int H264Context::first_field

◆ list_counts

uint8_t* H264Context::list_counts

Array of list_count per MB specifying the slice type.

Definition at line 401 of file h264dec.h.

Referenced by ff_h264_alloc_tables(), and ff_h264_free_tables().

◆ cbp_table

uint16_t* H264Context::cbp_table

◆ chroma_pred_mode_table

uint8_t* H264Context::chroma_pred_mode_table

◆ mvd_table

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

Definition at line 408 of file h264dec.h.

Referenced by ff_h264_alloc_tables(), ff_h264_free_tables(), and h264_slice_header_init().

◆ direct_table

uint8_t* H264Context::direct_table

◆ zigzag_scan

uint8_t H264Context::zigzag_scan[16]

Definition at line 411 of file h264dec.h.

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

◆ zigzag_scan8x8

uint8_t H264Context::zigzag_scan8x8[64]

Definition at line 412 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

◆ zigzag_scan8x8_cavlc

uint8_t H264Context::zigzag_scan8x8_cavlc[64]

Definition at line 413 of file h264dec.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

◆ field_scan

uint8_t H264Context::field_scan[16]

Definition at line 414 of file h264dec.h.

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

◆ field_scan8x8

uint8_t H264Context::field_scan8x8[64]

Definition at line 415 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

◆ field_scan8x8_cavlc

uint8_t H264Context::field_scan8x8_cavlc[64]

Definition at line 416 of file h264dec.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

◆ zigzag_scan_q0

const uint8_t* H264Context::zigzag_scan_q0

Definition at line 417 of file h264dec.h.

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

◆ zigzag_scan8x8_q0

const uint8_t* H264Context::zigzag_scan8x8_q0

Definition at line 418 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

◆ zigzag_scan8x8_cavlc_q0

const uint8_t* H264Context::zigzag_scan8x8_cavlc_q0

Definition at line 419 of file h264dec.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

◆ field_scan_q0

const uint8_t* H264Context::field_scan_q0

Definition at line 420 of file h264dec.h.

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

◆ field_scan8x8_q0

const uint8_t* H264Context::field_scan8x8_q0

Definition at line 421 of file h264dec.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

◆ field_scan8x8_cavlc_q0

const uint8_t* H264Context::field_scan8x8_cavlc_q0

Definition at line 422 of file h264dec.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

◆ mb_y

int H264Context::mb_y

◆ mb_height

int H264Context::mb_height

◆ mb_width

int H264Context::mb_width

◆ mb_stride

int H264Context::mb_stride

◆ mb_num

int H264Context::mb_num

◆ nal_ref_idc

int H264Context::nal_ref_idc

◆ nal_unit_type

int H264Context::nal_unit_type

Definition at line 433 of file h264dec.h.

Referenced by decode_nal_units(), and h264_decode_frame().

◆ is_avc

int H264Context::is_avc

Used to parse AVC variant of H.264.

this flag is != 0 if codec is avc1

Definition at line 438 of file h264dec.h.

Referenced by decode_nal_units(), ff_h264_decode_init(), ff_h264_update_thread_context(), and h264_decode_frame().

◆ nal_length_size

int H264Context::nal_length_size

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

Definition at line 439 of file h264dec.h.

Referenced by decode_nal_units(), ff_h264_decode_init(), ff_h264_update_thread_context(), and h264_decode_frame().

◆ bit_depth_luma

int H264Context::bit_depth_luma

luma bit depth from sps to detect changes

Definition at line 441 of file h264dec.h.

Referenced by h264_init_ps(), and h264_slice_header_init().

◆ chroma_format_idc

int H264Context::chroma_format_idc

chroma format from sps to detect changes

Definition at line 442 of file h264dec.h.

Referenced by h264_init_ps(), and h264_slice_header_init().

◆ ps

H264ParamSets H264Context::ps

◆ slice_table_base

uint16_t* H264Context::slice_table_base

Definition at line 446 of file h264dec.h.

Referenced by ff_h264_alloc_tables(), and ff_h264_free_tables().

◆ poc

H264POCContext H264Context::poc

◆ short_ref

H264Picture* H264Context::short_ref[32]

◆ long_ref

H264Picture* H264Context::long_ref[32]

◆ delayed_pic

H264Picture* H264Context::delayed_pic[MAX_DELAYED_PIC_COUNT+2]

◆ last_pocs

int H264Context::last_pocs[MAX_DELAYED_PIC_COUNT]

◆ next_outputed_poc

int H264Context::next_outputed_poc

◆ mmco

MMCO H264Context::mmco[MAX_MMCO_COUNT]

memory management control operations buffer.

Definition at line 459 of file h264dec.h.

Referenced by ff_h264_execute_ref_pic_marking(), ff_h264_update_thread_context(), generate_sliding_window_mmcos(), and h264_field_start().

◆ nb_mmco

int H264Context::nb_mmco

◆ mmco_reset

int H264Context::mmco_reset

◆ explicit_ref_marking

int H264Context::explicit_ref_marking

◆ long_ref_count

int H264Context::long_ref_count

◆ short_ref_count

int H264Context::short_ref_count

◆ current_slice

int H264Context::current_slice

current slice number, used to initialize slice_num of each thread/context

Definition at line 474 of file h264dec.h.

Referenced by decode_nal_units(), ff_h264_field_end(), ff_h264_queue_decode_slice(), fill_slice_long(), h264_init_ps(), and h264_slice_init().

◆ prev_interlaced_frame

int H264Context::prev_interlaced_frame

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

Referenced by ff_h264_flush_change(), h264_export_frame_props(), and h264_slice_header_init().

◆ recovery_frame

int H264Context::recovery_frame

recovery_frame is the frame_num at which the next frame should be fully constructed.

Set to -1 when not expecting a recovery point.

Definition at line 492 of file h264dec.h.

Referenced by ff_h264_flush_change(), ff_h264_update_thread_context(), h264_field_start(), and h264_init_context().

◆ frame_recovered

int H264Context::frame_recovered

Initial frame has been completely recovered.

Definition at line 505 of file h264dec.h.

Referenced by ff_h264_flush_change(), ff_h264_update_thread_context(), h264_field_start(), h264_init_context(), and h264_select_output_frame().

◆ setup_finished

int H264Context::setup_finished

Definition at line 511 of file h264dec.h.

Referenced by decode_nal_units(), ff_h264_queue_decode_slice(), and h264_decode_frame().

◆ field_started

int H264Context::field_started

◆ output_frame

AVFrame* H264Context::output_frame

◆ enable_er

int H264Context::enable_er

◆ sei

H264SEIContext H264Context::sei

◆ qscale_table_pool

AVBufferPool* H264Context::qscale_table_pool

Definition at line 524 of file h264dec.h.

Referenced by alloc_picture(), ff_h264_free_tables(), and init_table_pools().

◆ mb_type_pool

AVBufferPool* H264Context::mb_type_pool

Definition at line 525 of file h264dec.h.

Referenced by alloc_picture(), ff_h264_free_tables(), and init_table_pools().

◆ motion_val_pool

AVBufferPool* H264Context::motion_val_pool

Definition at line 526 of file h264dec.h.

Referenced by alloc_picture(), ff_h264_free_tables(), and init_table_pools().

◆ ref_index_pool

AVBufferPool* H264Context::ref_index_pool

Definition at line 527 of file h264dec.h.

Referenced by alloc_picture(), ff_h264_free_tables(), and init_table_pools().

◆ ref2frm

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

Referenced by fill_filter_caches_inter(), and h264_slice_init().


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