FFmpeg
Loading...
Searching...
No Matches
H264Context Struct Reference

H264Context. More...

#include <libavcodec/h264dec.h>

Data Fields

const AVClass * class
AVCodecContext * avctx
VideoDSPContext vdsp
H264DSPContext h264dsp
H264ChromaContext h264chroma
H264QpelContext h264qpel
H264Picture DPB [H264_MAX_PICTURE_COUNT]
H264Picture * cur_pic_ptr
H264Picture cur_pic
H264Picture last_pic_for_ec
H264SliceContext * slice_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
int width
int height
int chroma_x_shift
int chroma_y_shift
int droppable
int context_initialized
int flags
int workaround_bugs
int x264_build
int postpone_filter
int picture_idr
int picture_intra_only
int crop_left
int crop_right
int crop_top
int crop_bottom
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
uint32_t * mb2b_xy
uint32_t * mb2br_xy
int b_stride
uint16_t * slice_table
 slice_table_base + 2*mb_stride + 1
int mb_aff_frame
int picture_structure
int first_field
uint8_t * list_counts
 Array of list_count per MB specifying the slice type.
uint16_t * cbp_table
uint8_t * chroma_pred_mode_table
uint8_t(*[2] mvd_table )[2]
uint8_t * direct_table
uint8_t scan_padding [16]
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 has_slice
 slice NAL is found in the packet, set by decode_nal_units, its state does not need to be preserved outside h264_decode_frame()
int is_avc
 Used to parse AVC variant of H.264.
int nal_length_size
 Number of bytes used for nal length (1, 2 or 4).
int bit_depth_luma
 luma bit depth from sps to detect changes
int chroma_format_idc
 chroma format from sps to detect changes
H264ParamSets ps
uint16_t * slice_table_base
H264POCContext poc
H264Ref default_ref [2]
H264Picture * short_ref [32]
H264Picture * long_ref [32]
H264Picture * delayed_pic [H264_MAX_DPB_FRAMES+2]
int last_pocs [H264_MAX_DPB_FRAMES]
H264Picture * next_output_pic
int next_outputed_poc
int poc_offset
 PicOrderCnt_offset from SMPTE RDD-2006.
MMCO mmco [H264_MAX_MMCO_COUNT]
 memory management control operations buffer.
int nb_mmco
int mmco_reset
int explicit_ref_marking
int long_ref_count
 number of actual long term references
int short_ref_count
 number of actual short term references
int prev_interlaced_frame
 Complement sei_pic_struct SEI_PIC_STRUCT_TOP_BOTTOM and SEI_PIC_STRUCT_BOTTOM_TOP indicate interlaced frames.
int valid_recovery_point
 Are the SEI recovery points looking valid.
int recovery_frame
 recovery_frame is the frame_num at which the next frame should be fully constructed.
int frame_recovered
 Initial frame has been completely recovered.
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
int width_from_caller
int height_from_caller
int enable_er
ERContext er
int16_t * dc_val_base
H264SEIContext sei
struct AVRefStructPool * qscale_table_pool
struct AVRefStructPool * mb_type_pool
struct AVRefStructPool * motion_val_pool
struct AVRefStructPool * ref_index_pool
struct AVRefStructPool * decode_error_flags_pool
int ref2frm [MAX_SLICES][2][64]
 reference to frame number lists, used in the loop filter, the first 2 are for -2,-1
int non_gray
 Did we encounter a intra frame after a gray gap frame.
int noref_gray
int skip_gray
Members for slice based multithreading
int current_slice
 current slice number, used to initialize slice_num of each thread/context

Detailed Description

H264Context.

Definition at line 347 of file h264dec.h.

Field Documentation

◆ class

const AVClass* H264Context::class

Definition at line 348 of file h264dec.h.

◆ avctx

AVCodecContext* H264Context::avctx

Definition at line 349 of file h264dec.h.

Referenced by decode_cabac_mb_mvd(), and get_scale_factor().

◆ vdsp

VideoDSPContext H264Context::vdsp

Definition at line 350 of file h264dec.h.

◆ h264dsp

H264DSPContext H264Context::h264dsp

Definition at line 351 of file h264dec.h.

◆ h264chroma

H264ChromaContext H264Context::h264chroma

Definition at line 352 of file h264dec.h.

◆ h264qpel

H264QpelContext H264Context::h264qpel

Definition at line 353 of file h264dec.h.

◆ DPB

Definition at line 355 of file h264dec.h.

Referenced by copy_picture_range().

◆ cur_pic_ptr

H264Picture* H264Context::cur_pic_ptr

Definition at line 356 of file h264dec.h.

◆ cur_pic

H264Picture H264Context::cur_pic

Definition at line 357 of file h264dec.h.

◆ last_pic_for_ec

H264Picture H264Context::last_pic_for_ec

Definition at line 358 of file h264dec.h.

◆ slice_ctx

H264SliceContext* H264Context::slice_ctx

Definition at line 360 of file h264dec.h.

◆ nb_slice_ctx

int H264Context::nb_slice_ctx

Definition at line 361 of file h264dec.h.

◆ nb_slice_ctx_queued

int H264Context::nb_slice_ctx_queued

Definition at line 362 of file h264dec.h.

◆ pkt

H2645Packet H264Context::pkt

Definition at line 364 of file h264dec.h.

◆ pixel_shift

int H264Context::pixel_shift

0 for 8-bit H.264, 1 for high-bit-depth H.264

Definition at line 366 of file h264dec.h.

◆ width

int H264Context::width

Definition at line 369 of file h264dec.h.

◆ height

int H264Context::height

Definition at line 369 of file h264dec.h.

◆ chroma_x_shift

int H264Context::chroma_x_shift

Definition at line 370 of file h264dec.h.

◆ chroma_y_shift

int H264Context::chroma_y_shift

Definition at line 370 of file h264dec.h.

◆ droppable

int H264Context::droppable

Definition at line 372 of file h264dec.h.

◆ context_initialized

int H264Context::context_initialized

Definition at line 374 of file h264dec.h.

◆ flags

int H264Context::flags

Definition at line 375 of file h264dec.h.

◆ workaround_bugs

int H264Context::workaround_bugs

Definition at line 376 of file h264dec.h.

◆ x264_build

int H264Context::x264_build

Definition at line 377 of file h264dec.h.

◆ postpone_filter

int H264Context::postpone_filter

Definition at line 382 of file h264dec.h.

◆ picture_idr

int H264Context::picture_idr

Definition at line 387 of file h264dec.h.

◆ picture_intra_only

int H264Context::picture_intra_only

Definition at line 392 of file h264dec.h.

◆ crop_left

int H264Context::crop_left

Definition at line 394 of file h264dec.h.

◆ crop_right

int H264Context::crop_right

Definition at line 395 of file h264dec.h.

◆ crop_top

int H264Context::crop_top

Definition at line 396 of file h264dec.h.

◆ crop_bottom

int H264Context::crop_bottom

Definition at line 397 of file h264dec.h.

◆ intra4x4_pred_mode

int8_t* H264Context::intra4x4_pred_mode

Definition at line 399 of file h264dec.h.

◆ hpc

H264PredContext H264Context::hpc

Definition at line 400 of file h264dec.h.

◆ non_zero_count

uint8_t(* H264Context::non_zero_count)[48]

Definition at line 402 of file h264dec.h.

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

◆ mb2b_xy

uint32_t* H264Context::mb2b_xy

Definition at line 412 of file h264dec.h.

◆ mb2br_xy

uint32_t* H264Context::mb2br_xy

Definition at line 413 of file h264dec.h.

◆ b_stride

int H264Context::b_stride

Definition at line 414 of file h264dec.h.

◆ slice_table

uint16_t* H264Context::slice_table

slice_table_base + 2*mb_stride + 1

Definition at line 416 of file h264dec.h.

◆ mb_aff_frame

int H264Context::mb_aff_frame

Definition at line 419 of file h264dec.h.

◆ picture_structure

int H264Context::picture_structure

Definition at line 420 of file h264dec.h.

◆ first_field

int H264Context::first_field

Definition at line 421 of file h264dec.h.

◆ list_counts

uint8_t* H264Context::list_counts

Array of list_count per MB specifying the slice type.

Definition at line 423 of file h264dec.h.

◆ cbp_table

uint16_t* H264Context::cbp_table

Definition at line 426 of file h264dec.h.

◆ chroma_pred_mode_table

uint8_t* H264Context::chroma_pred_mode_table

Definition at line 429 of file h264dec.h.

◆ mvd_table

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

Definition at line 430 of file h264dec.h.

◆ direct_table

uint8_t* H264Context::direct_table

Definition at line 431 of file h264dec.h.

◆ scan_padding

uint8_t H264Context::scan_padding[16]

Definition at line 433 of file h264dec.h.

◆ zigzag_scan

uint8_t H264Context::zigzag_scan[16]

Definition at line 434 of file h264dec.h.

◆ zigzag_scan8x8

uint8_t H264Context::zigzag_scan8x8[64]

Definition at line 435 of file h264dec.h.

◆ zigzag_scan8x8_cavlc

uint8_t H264Context::zigzag_scan8x8_cavlc[64]

Definition at line 436 of file h264dec.h.

◆ field_scan

uint8_t H264Context::field_scan[16]

Definition at line 437 of file h264dec.h.

◆ field_scan8x8

uint8_t H264Context::field_scan8x8[64]

Definition at line 438 of file h264dec.h.

◆ field_scan8x8_cavlc

uint8_t H264Context::field_scan8x8_cavlc[64]

Definition at line 439 of file h264dec.h.

◆ zigzag_scan_q0

uint8_t H264Context::zigzag_scan_q0[16]

Definition at line 440 of file h264dec.h.

◆ zigzag_scan8x8_q0

uint8_t H264Context::zigzag_scan8x8_q0[64]

Definition at line 441 of file h264dec.h.

◆ zigzag_scan8x8_cavlc_q0

uint8_t H264Context::zigzag_scan8x8_cavlc_q0[64]

Definition at line 442 of file h264dec.h.

◆ field_scan_q0

uint8_t H264Context::field_scan_q0[16]

Definition at line 443 of file h264dec.h.

◆ field_scan8x8_q0

uint8_t H264Context::field_scan8x8_q0[64]

Definition at line 444 of file h264dec.h.

◆ field_scan8x8_cavlc_q0

uint8_t H264Context::field_scan8x8_cavlc_q0[64]

Definition at line 445 of file h264dec.h.

◆ mb_y

int H264Context::mb_y

Definition at line 447 of file h264dec.h.

◆ mb_height

int H264Context::mb_height

Definition at line 448 of file h264dec.h.

◆ mb_width

int H264Context::mb_width

Definition at line 448 of file h264dec.h.

◆ mb_stride

int H264Context::mb_stride

Definition at line 449 of file h264dec.h.

◆ mb_num

int H264Context::mb_num

Definition at line 450 of file h264dec.h.

◆ nal_ref_idc

int H264Context::nal_ref_idc

Definition at line 455 of file h264dec.h.

◆ nal_unit_type

int H264Context::nal_unit_type

Definition at line 456 of file h264dec.h.

◆ has_slice

int H264Context::has_slice

slice NAL is found in the packet, set by decode_nal_units, its state does not need to be preserved outside h264_decode_frame()

Definition at line 458 of file h264dec.h.

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

Referenced by ff_h264_update_thread_context_for_user().

◆ nal_length_size

int H264Context::nal_length_size

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

Definition at line 464 of file h264dec.h.

Referenced by ff_h264_update_thread_context_for_user().

◆ bit_depth_luma

int H264Context::bit_depth_luma

luma bit depth from sps to detect changes

Definition at line 466 of file h264dec.h.

◆ chroma_format_idc

int H264Context::chroma_format_idc

chroma format from sps to detect changes

Definition at line 467 of file h264dec.h.

◆ ps

H264ParamSets H264Context::ps

Definition at line 469 of file h264dec.h.

◆ slice_table_base

uint16_t* H264Context::slice_table_base

Definition at line 471 of file h264dec.h.

◆ poc

H264POCContext H264Context::poc

Definition at line 473 of file h264dec.h.

◆ default_ref

H264Ref H264Context::default_ref[2]

Definition at line 475 of file h264dec.h.

◆ short_ref

H264Picture* H264Context::short_ref[32]

Definition at line 476 of file h264dec.h.

◆ long_ref

H264Picture* H264Context::long_ref[32]

Definition at line 477 of file h264dec.h.

◆ delayed_pic

H264Picture* H264Context::delayed_pic[H264_MAX_DPB_FRAMES+2]

Definition at line 478 of file h264dec.h.

◆ last_pocs

int H264Context::last_pocs[H264_MAX_DPB_FRAMES]

Definition at line 479 of file h264dec.h.

◆ next_output_pic

H264Picture* H264Context::next_output_pic

Definition at line 480 of file h264dec.h.

◆ next_outputed_poc

int H264Context::next_outputed_poc

Definition at line 481 of file h264dec.h.

◆ poc_offset

int H264Context::poc_offset

PicOrderCnt_offset from SMPTE RDD-2006.

Definition at line 482 of file h264dec.h.

◆ mmco

MMCO H264Context::mmco[H264_MAX_MMCO_COUNT]

memory management control operations buffer.

Definition at line 487 of file h264dec.h.

◆ nb_mmco

int H264Context::nb_mmco

Definition at line 488 of file h264dec.h.

◆ mmco_reset

int H264Context::mmco_reset

Definition at line 489 of file h264dec.h.

◆ explicit_ref_marking

int H264Context::explicit_ref_marking

Definition at line 490 of file h264dec.h.

◆ long_ref_count

int H264Context::long_ref_count

number of actual long term references

Definition at line 492 of file h264dec.h.

◆ short_ref_count

int H264Context::short_ref_count

number of actual short term references

Definition at line 493 of file h264dec.h.

◆ current_slice

int H264Context::current_slice

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

Definition at line 502 of file h264dec.h.

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

◆ valid_recovery_point

int H264Context::valid_recovery_point

Are the SEI recovery points looking valid.

Definition at line 517 of file h264dec.h.

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

◆ frame_recovered

int H264Context::frame_recovered

Initial frame has been completely recovered.

Once this is set, all following decoded as well as displayed frames will be marked as recovered If a frame is marked as recovered frame_recovered will be set once this frame is output and thus all subsequently output fraames are also marked as recovered

In effect, if you want all subsequent DECODED frames marked as recovered, set frame_recovered If you want all subsequent DISPLAYED frames marked as recovered, set the frame->recovered

Definition at line 552 of file h264dec.h.

◆ has_recovery_point

int H264Context::has_recovery_point

Definition at line 554 of file h264dec.h.

◆ missing_fields

int H264Context::missing_fields

Definition at line 556 of file h264dec.h.

◆ setup_finished

int H264Context::setup_finished

Definition at line 562 of file h264dec.h.

◆ cur_chroma_format_idc

int H264Context::cur_chroma_format_idc

Definition at line 564 of file h264dec.h.

◆ cur_bit_depth_luma

int H264Context::cur_bit_depth_luma

Definition at line 565 of file h264dec.h.

◆ slice_row

int16_t H264Context::slice_row[MAX_SLICES]

to detect when MAX_SLICES is too low

Definition at line 566 of file h264dec.h.

◆ width_from_caller

int H264Context::width_from_caller

Definition at line 570 of file h264dec.h.

◆ height_from_caller

int H264Context::height_from_caller

Definition at line 571 of file h264dec.h.

◆ enable_er

int H264Context::enable_er

Definition at line 573 of file h264dec.h.

Referenced by er_add_slice().

◆ er

ERContext H264Context::er

Definition at line 574 of file h264dec.h.

◆ dc_val_base

int16_t* H264Context::dc_val_base

Definition at line 575 of file h264dec.h.

◆ sei

H264SEIContext H264Context::sei

Definition at line 577 of file h264dec.h.

◆ qscale_table_pool

struct AVRefStructPool* H264Context::qscale_table_pool

Definition at line 579 of file h264dec.h.

◆ mb_type_pool

struct AVRefStructPool* H264Context::mb_type_pool

Definition at line 580 of file h264dec.h.

◆ motion_val_pool

struct AVRefStructPool* H264Context::motion_val_pool

Definition at line 581 of file h264dec.h.

◆ ref_index_pool

struct AVRefStructPool* H264Context::ref_index_pool

Definition at line 582 of file h264dec.h.

◆ decode_error_flags_pool

struct AVRefStructPool* H264Context::decode_error_flags_pool

Definition at line 583 of file h264dec.h.

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

◆ non_gray

int H264Context::non_gray

Did we encounter a intra frame after a gray gap frame.

Definition at line 586 of file h264dec.h.

◆ noref_gray

int H264Context::noref_gray

Definition at line 587 of file h264dec.h.

◆ skip_gray

int H264Context::skip_gray

Definition at line 588 of file h264dec.h.


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