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

H264Context. More...

#include <h264.h>

Data Fields

const AVClassclass
 
AVCodecContextavctx
 
VideoDSPContext vdsp
 
H264DSPContext h264dsp
 
H264ChromaContext h264chroma
 
H264QpelContext h264qpel
 
GetBitContext gb
 
H264Picture DPB [H264_MAX_PICTURE_COUNT]
 
H264Picturecur_pic_ptr
 
H264Picture cur_pic
 
H264Picture last_pic_for_ec
 
H264SliceContextslice_ctx
 
int nb_slice_ctx
 
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 backup_width
 Backup frame properties: needed, because they can be different between returned frame and last decoded frame. More...
 
int backup_height
 
enum AVPixelFormat backup_pix_fmt
 
int droppable
 
int coded_picture_number
 
int context_initialized
 
int flags
 
int workaround_bugs
 
int postpone_filter
 
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
 
unsigned current_sps_id
 id of the current SPS More...
 
int au_pps_id
 pps_id of current access unit More...
 
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]
 
uint8_t zigzag_scan_q0 [16]
 
uint8_t zigzag_scan8x8_q0 [64]
 
uint8_t zigzag_scan8x8_cavlc_q0 [64]
 
uint8_t field_scan_q0 [16]
 
uint8_t field_scan8x8_q0 [64]
 
uint8_t field_scan8x8_cavlc_q0 [64]
 
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
 
int curr_pic_num
 frame_num for frames or 2 * frame_num + 1 for field pics. More...
 
int max_pic_num
 max_frame_num or 2 * max_frame_num for field pics. More...
 
H264Ref default_ref [2]
 
H264Pictureshort_ref [32]
 
H264Picturelong_ref [32]
 
H264Picturedelayed_pic [MAX_DELAYED_PIC_COUNT+2]
 
int last_pocs [MAX_DELAYED_PIC_COUNT]
 
H264Picturenext_output_pic
 
int next_outputed_poc
 
MMCO mmco [MAX_MMCO_COUNT]
 memory management control operations buffer. More...
 
int mmco_index
 
int mmco_reset
 
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 valid_recovery_point
 Are the SEI recovery points looking valid. 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 has_recovery_point
 
int missing_fields
 
int setup_finished
 
int cur_chroma_format_idc
 
int cur_bit_depth_luma
 
int16_t slice_row [MAX_SLICES]
 to detect when MAX_SLICES is too low More...
 
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...
 
int max_contexts
 Max number of threads / contexts. More...
 
int single_decode_warning
 1 if the single thread fallback warning has already been displayed, 0 otherwise. More...
 

Detailed Description

H264Context.

Definition at line 456 of file h264.h.

Field Documentation

const AVClass* H264Context::class

Definition at line 457 of file h264.h.

AVCodecContext* H264Context::avctx
VideoDSPContext H264Context::vdsp

Definition at line 459 of file h264.h.

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

H264DSPContext H264Context::h264dsp
H264ChromaContext H264Context::h264chroma

Definition at line 461 of file h264.h.

Referenced by h264_slice_header_init().

H264QpelContext H264Context::h264qpel

Definition at line 462 of file h264.h.

Referenced by h264_slice_header_init().

GetBitContext H264Context::gb

Definition at line 463 of file h264.h.

H264Picture* H264Context::cur_pic_ptr
H264Picture H264Context::cur_pic
H264Picture H264Context::last_pic_for_ec
H264SliceContext* H264Context::slice_ctx
int H264Context::nb_slice_ctx
H2645Packet H264Context::pkt

Definition at line 473 of file h264.h.

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

int H264Context::pixel_shift
int H264Context::width
int H264Context::height
int H264Context::chroma_x_shift

Definition at line 479 of file h264.h.

Referenced by h264_slice_header_init().

int H264Context::chroma_y_shift
int H264Context::backup_width

Backup frame properties: needed, because they can be different between returned frame and last decoded frame.

Definition at line 485 of file h264.h.

Referenced by ff_h264_update_thread_context(), h264_decode_frame(), h264_init_context(), and output_frame().

int H264Context::backup_height
enum AVPixelFormat H264Context::backup_pix_fmt
int H264Context::droppable
int H264Context::coded_picture_number

Definition at line 490 of file h264.h.

Referenced by ff_h264_update_thread_context(), and h264_frame_start().

int H264Context::context_initialized
int H264Context::flags
int H264Context::workaround_bugs

Definition at line 494 of file h264.h.

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

int H264Context::postpone_filter
int8_t* H264Context::intra4x4_pred_mode

Definition at line 501 of file h264.h.

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

H264PredContext H264Context::hpc
uint8_t(* H264Context::non_zero_count)[48]
int H264Context::block_offset[2 *(16 *3)]

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

Definition at line 513 of file h264.h.

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

uint32_t* H264Context::mb2b_xy
uint32_t* H264Context::mb2br_xy
int H264Context::b_stride
unsigned H264Context::current_sps_id

id of the current SPS

Definition at line 520 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and h264_init_context().

int H264Context::au_pps_id

pps_id of current access unit

Definition at line 522 of file h264.h.

Referenced by decode_nal_units(), and ff_h264_decode_slice_header().

uint16_t* H264Context::slice_table
int H264Context::mb_aff_frame

Definition at line 527 of file h264.h.

Referenced by ff_h264_decode_slice_header().

int H264Context::picture_structure
int H264Context::first_field
uint8_t* H264Context::list_counts

Array of list_count per MB specifying the slice type.

Definition at line 531 of file h264.h.

Referenced by ff_h264_alloc_tables(), and ff_h264_free_tables().

uint16_t* H264Context::cbp_table
uint8_t* H264Context::chroma_pred_mode_table
uint8_t(*[2] H264Context::mvd_table)[2]

Definition at line 538 of file h264.h.

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

uint8_t* H264Context::direct_table
uint8_t H264Context::zigzag_scan[16]

Definition at line 541 of file h264.h.

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

uint8_t H264Context::zigzag_scan8x8[64]

Definition at line 542 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::zigzag_scan8x8_cavlc[64]

Definition at line 543 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::field_scan[16]

Definition at line 544 of file h264.h.

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

uint8_t H264Context::field_scan8x8[64]

Definition at line 545 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::field_scan8x8_cavlc[64]

Definition at line 546 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::zigzag_scan_q0[16]

Definition at line 547 of file h264.h.

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

uint8_t H264Context::zigzag_scan8x8_q0[64]

Definition at line 548 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::zigzag_scan8x8_cavlc_q0[64]

Definition at line 549 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

uint8_t H264Context::field_scan_q0[16]

Definition at line 550 of file h264.h.

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

uint8_t H264Context::field_scan8x8_q0[64]

Definition at line 551 of file h264.h.

Referenced by ff_h264_decode_mb_cabac(), and init_scan_tables().

uint8_t H264Context::field_scan8x8_cavlc_q0[64]

Definition at line 552 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc(), and init_scan_tables().

int H264Context::mb_y
int H264Context::mb_height
int H264Context::mb_width
int H264Context::mb_stride
int H264Context::mb_num
int H264Context::nal_ref_idc
int H264Context::nal_unit_type
int H264Context::is_avc

Used to parse AVC variant of H.264.

this flag is != 0 if codec is avc1

Definition at line 568 of file h264.h.

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

int H264Context::nal_length_size

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

Definition at line 569 of file h264.h.

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

int H264Context::bit_depth_luma

luma bit depth from sps to detect changes

Definition at line 571 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and h264_slice_header_init().

int H264Context::chroma_format_idc

chroma format from sps to detect changes

Definition at line 572 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and h264_slice_header_init().

H264ParamSets H264Context::ps
uint16_t* H264Context::slice_table_base

Definition at line 576 of file h264.h.

Referenced by ff_h264_alloc_tables(), and ff_h264_free_tables().

H264POCContext H264Context::poc
int H264Context::curr_pic_num

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

Definition at line 583 of file h264.h.

Referenced by ff_h264_decode_ref_pic_list_reordering(), ff_h264_decode_ref_pic_marking(), ff_h264_decode_slice_header(), and ff_h264_update_thread_context().

int H264Context::max_pic_num

max_frame_num or 2 * max_frame_num for field pics.

Definition at line 588 of file h264.h.

Referenced by ff_h264_decode_ref_pic_list_reordering(), ff_h264_decode_ref_pic_marking(), ff_h264_decode_slice_header(), and ff_h264_update_thread_context().

H264Ref H264Context::default_ref[2]
H264Picture* H264Context::short_ref[32]
H264Picture* H264Context::long_ref[32]
H264Picture* H264Context::delayed_pic[MAX_DELAYED_PIC_COUNT+2]
int H264Context::last_pocs[MAX_DELAYED_PIC_COUNT]
H264Picture* H264Context::next_output_pic
int H264Context::next_outputed_poc
MMCO H264Context::mmco[MAX_MMCO_COUNT]
int H264Context::mmco_index
int H264Context::mmco_reset
int H264Context::long_ref_count
int H264Context::short_ref_count
int H264Context::current_slice

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

Definition at line 615 of file h264.h.

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

int H264Context::max_contexts

Max number of threads / contexts.

This is equal to AVCodecContext.thread_count unless multithreaded decoding is impossible, in which case it is reduced to 1.

Definition at line 623 of file h264.h.

Referenced by decode_nal_units(), and ff_h264_decode_slice_header().

int H264Context::single_decode_warning

1 if the single thread fallback warning has already been displayed, 0 otherwise.

Definition at line 629 of file h264.h.

Referenced by ff_h264_decode_slice_header().

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

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

int H264Context::valid_recovery_point

Are the SEI recovery points looking valid.

Definition at line 644 of file h264.h.

Referenced by decode_nal_units().

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

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

int H264Context::frame_recovered
int H264Context::has_recovery_point

Definition at line 667 of file h264.h.

Referenced by decode_nal_units(), and ff_h264_execute_ref_pic_marking().

int H264Context::missing_fields

Definition at line 669 of file h264.h.

Referenced by decode_postinit(), and ff_h264_decode_slice_header().

int H264Context::setup_finished

Definition at line 675 of file h264.h.

Referenced by decode_postinit(), ff_h264_decode_slice_header(), and h264_decode_frame().

int H264Context::cur_chroma_format_idc

Definition at line 677 of file h264.h.

Referenced by ff_h264_decode_slice_header(), h264_init_context(), and h264_slice_header_init().

int H264Context::cur_bit_depth_luma

Definition at line 678 of file h264.h.

Referenced by ff_h264_decode_slice_header(), and h264_slice_header_init().

int16_t H264Context::slice_row[MAX_SLICES]

to detect when MAX_SLICES is too low

Definition at line 679 of file h264.h.

Referenced by ff_h264_decode_slice_header().

int H264Context::enable_er
H264SEIContext H264Context::sei
AVBufferPool* H264Context::qscale_table_pool

Definition at line 685 of file h264.h.

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

AVBufferPool* H264Context::mb_type_pool

Definition at line 686 of file h264.h.

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

AVBufferPool* H264Context::motion_val_pool

Definition at line 687 of file h264.h.

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

AVBufferPool* H264Context::ref_index_pool

Definition at line 688 of file h264.h.

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

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

Referenced by ff_h264_decode_slice_header(), and fill_filter_caches_inter().


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