FFmpeg
Data Fields
AVCodecInternal Struct Reference

#include <internal.h>

Data Fields

int is_copy
 When using frame-threaded decoding, this field is set for the first worker thread (e.g. More...
 
int is_frame_mt
 This field is set to 1 when frame threading is being used and the parent AVCodecContext of this AVCodecInternal is a worker-thread context (i.e. More...
 
int pad_samples
 Audio encoders can set this flag during init to indicate that they want the small last frame to be padded to a multiple of pad_samples. More...
 
struct FramePoolpool
 
struct FFRefStructPoolprogress_frame_pool
 
void * thread_ctx
 
AVPacketin_pkt
 This packet is used to hold the packet given to decoders implementing the .decode API; it is unused by the generic code for decoders implementing the .receive_frame API and may be freely used (but not freed) by them with the caveat that the packet will be unreferenced generically in avcodec_flush_buffers(). More...
 
struct AVBSFContextbsf
 
AVPacketlast_pkt_props
 Properties (timestamps+side data) extracted from the last packet passed for decoding. More...
 
uint8_t * byte_buffer
 temporary buffer used for encoders to store their bitstream More...
 
unsigned int byte_buffer_size
 
void * frame_thread_encoder
 
AVFramein_frame
 The input frame is stored here for encoders implementing the simple encode API. More...
 
AVFramerecon_frame
 When the AV_CODEC_FLAG_RECON_FRAME flag is used. More...
 
int needs_close
 If this is set, then FFCodec->close (if existing) needs to be called for the parent AVCodecContext. More...
 
int skip_samples
 Number of audio samples to skip at the start of the next decoded frame. More...
 
void * hwaccel_priv_data
 hwaccel-specific private data More...
 
int draining
 decoding: AVERROR_EOF has been returned from ff_decode_get_packet(); must not be used by decoders that use the decode() callback, as they do not call ff_decode_get_packet() directly. More...
 
AVPacketbuffer_pkt
 Temporary buffers for newly received or not yet output packets/frames. More...
 
AVFramebuffer_frame
 
int draining_done
 
int changed_frames_dropped
 
int initial_format
 
int initial_width
 
int initial_height
 
int initial_sample_rate
 
AVChannelLayout initial_ch_layout
 
int warned_on_failed_allocation_from_fixed_pool
 Set when the user has been warned about a failed allocation from a fixed frame pool. More...
 

Detailed Description

Definition at line 49 of file internal.h.

Field Documentation

◆ is_copy

int AVCodecInternal::is_copy

When using frame-threaded decoding, this field is set for the first worker thread (e.g.

to decode extradata just once).

Definition at line 54 of file internal.h.

Referenced by cfhd_decode(), ff_thread_sync_ref(), h264_decode_init(), hevc_decode_init(), and vp3_decode_init().

◆ is_frame_mt

int AVCodecInternal::is_frame_mt

This field is set to 1 when frame threading is being used and the parent AVCodecContext of this AVCodecInternal is a worker-thread context (i.e.

one of those actually doing the decoding), 0 otherwise.

Definition at line 61 of file internal.h.

Referenced by avcodec_flush_buffers(), and ff_decode_get_packet().

◆ pad_samples

int AVCodecInternal::pad_samples

Audio encoders can set this flag during init to indicate that they want the small last frame to be padded to a multiple of pad_samples.

Definition at line 67 of file internal.h.

Referenced by aptx_encode_init(), and encode_send_frame_internal().

◆ pool

struct FramePool* AVCodecInternal::pool

Definition at line 69 of file internal.h.

Referenced by audio_get_buffer(), ff_codec_close(), and update_frame_pool().

◆ progress_frame_pool

struct FFRefStructPool* AVCodecInternal::progress_frame_pool

Definition at line 71 of file internal.h.

Referenced by ff_codec_close(), ff_decode_preinit(), ff_progress_frame_alloc(), and init_thread().

◆ thread_ctx

void* AVCodecInternal::thread_ctx

◆ in_pkt

AVPacket* AVCodecInternal::in_pkt

This packet is used to hold the packet given to decoders implementing the .decode API; it is unused by the generic code for decoders implementing the .receive_frame API and may be freely used (but not freed) by them with the caveat that the packet will be unreferenced generically in avcodec_flush_buffers().

Definition at line 83 of file internal.h.

Referenced by av1_decode_init(), cuvid_decode_init(), decode_init(), decode_simple_internal(), ff_codec_close(), ff_decode_flush_buffers(), ff_decode_preinit(), ffmmal_init_decoder(), hevc_receive_frame(), libjxl_decode_init(), and osq_init().

◆ bsf

struct AVBSFContext* AVCodecInternal::bsf

◆ last_pkt_props

AVPacket* AVCodecInternal::last_pkt_props

Properties (timestamps+side data) extracted from the last packet passed for decoding.

Definition at line 90 of file internal.h.

Referenced by decode_simple_internal(), extract_packet_props(), ff_codec_close(), ff_decode_flush_buffers(), ff_decode_frame_props(), and ff_decode_preinit().

◆ byte_buffer

uint8_t* AVCodecInternal::byte_buffer

temporary buffer used for encoders to store their bitstream

Definition at line 95 of file internal.h.

Referenced by ff_alloc_packet(), ff_codec_close(), and ff_mpv_encode_picture().

◆ byte_buffer_size

unsigned int AVCodecInternal::byte_buffer_size

Definition at line 96 of file internal.h.

Referenced by ff_alloc_packet(), ff_codec_close(), and ff_mpv_encode_picture().

◆ frame_thread_encoder

void* AVCodecInternal::frame_thread_encoder

◆ in_frame

AVFrame* AVCodecInternal::in_frame

The input frame is stored here for encoders implementing the simple encode API.

Not allocated in other cases.

Definition at line 106 of file internal.h.

Referenced by encode_simple_internal(), ff_codec_close(), ff_encode_flush_buffers(), and ff_encode_preinit().

◆ recon_frame

AVFrame* AVCodecInternal::recon_frame

When the AV_CODEC_FLAG_RECON_FRAME flag is used.

the encoder should store here the reconstructed frame corresponding to the last returned packet.

Not allocated in other cases.

Definition at line 114 of file internal.h.

Referenced by aom_encode(), encode_frame(), ff_codec_close(), ff_encode_flush_buffers(), ff_encode_preinit(), ff_encode_receive_frame(), librav1e_receive_packet(), and X264_frame().

◆ needs_close

int AVCodecInternal::needs_close

If this is set, then FFCodec->close (if existing) needs to be called for the parent AVCodecContext.

Definition at line 120 of file internal.h.

Referenced by avcodec_open2(), and ff_codec_close().

◆ skip_samples

int AVCodecInternal::skip_samples

Number of audio samples to skip at the start of the next decoded frame.

Definition at line 125 of file internal.h.

Referenced by cng_decode_frame(), decode_fill(), discard_samples(), ff_opus_parse_extradata(), flush(), liblc3_decode_init(), libopus_decode_init(), libopus_flush(), vorbis_decode_frame(), wma_decode_init(), and xma_decode_packet().

◆ hwaccel_priv_data

void* AVCodecInternal::hwaccel_priv_data

hwaccel-specific private data

Definition at line 130 of file internal.h.

Referenced by avcodec_get_hw_frames_parameters(), dxva2_av1_decode_slice(), dxva2_av1_uninit(), ff_frame_thread_free(), ff_hwaccel_uninit(), ff_nvdec_decode_init(), ff_nvdec_decode_uninit(), ff_nvdec_end_frame(), ff_nvdec_simple_decode_slice(), ff_nvdec_simple_end_frame(), ff_nvdec_start_frame(), ff_nvdec_start_frame_sep_ref(), ff_thread_finish_setup(), ff_vaapi_decode_destroy_buffers(), ff_vaapi_decode_init(), ff_vaapi_decode_issue(), ff_vaapi_decode_make_param_buffer(), ff_vaapi_decode_make_slice_buffer(), ff_vaapi_decode_uninit(), ff_vdpau_common_end_frame(), ff_vdpau_common_init(), ff_vdpau_common_reinit(), ff_vdpau_common_uninit(), ff_videotoolbox_avcc_extradata_create(), ff_vk_decode_add_slice(), ff_vk_decode_flush(), ff_vk_decode_frame(), ff_vk_decode_init(), ff_vk_decode_uninit(), ff_vk_frame_params(), ff_vk_params_invalidate(), frame_worker_thread(), hwaccel_init(), nvdec_av1_decode_slice(), nvdec_av1_start_frame(), nvdec_h264_decode_slice(), nvdec_h264_start_frame(), nvdec_hevc_decode_init(), nvdec_hevc_decode_slice(), nvdec_hevc_start_frame(), nvdec_mjpeg_start_frame(), nvdec_mpeg12_start_frame(), nvdec_mpeg4_start_frame(), nvdec_vc1_start_frame(), nvdec_vp8_start_frame(), nvdec_vp9_start_frame(), submit_packet(), vaapi_av1_decode_init(), vaapi_av1_decode_slice(), vaapi_av1_decode_uninit(), vaapi_av1_end_frame(), vaapi_av1_start_frame(), vaapi_decode_find_best_format(), videotoolbox_av1_end_frame(), videotoolbox_vp9_decode_slice(), vk_av1_create_params(), vk_av1_end_frame(), vk_av1_fill_pict(), vk_av1_start_frame(), vk_h264_create_params(), vk_h264_end_frame(), vk_h264_fill_pict(), vk_h264_start_frame(), vk_hevc_create_params(), vk_hevc_end_frame(), vk_hevc_fill_pict(), vk_hevc_start_frame(), vulkan_decode_bootstrap(), and vulkan_decode_get_profile().

◆ draining

int AVCodecInternal::draining

decoding: AVERROR_EOF has been returned from ff_decode_get_packet(); must not be used by decoders that use the decode() callback, as they do not call ff_decode_get_packet() directly.

encoding: a flush frame has been submitted to avcodec_send_frame().

Definition at line 139 of file internal.h.

Referenced by avcodec_flush_buffers(), avcodec_send_frame(), decode_simple_internal(), encode_simple_internal(), ff_decode_get_packet(), ff_encode_get_frame(), ff_nvenc_receive_packet(), ff_thread_get_packet(), ff_thread_receive_frame(), hevc_receive_frame(), librav1e_receive_packet(), and submit_packet().

◆ buffer_pkt

AVPacket* AVCodecInternal::buffer_pkt

Temporary buffers for newly received or not yet output packets/frames.

Definition at line 144 of file internal.h.

Referenced by avcodec_decode_subtitle2(), avcodec_flush_buffers(), avcodec_open2(), avcodec_receive_packet(), avcodec_send_frame(), avcodec_send_packet(), ff_codec_close(), and ff_decode_get_packet().

◆ buffer_frame

AVFrame* AVCodecInternal::buffer_frame

◆ draining_done

int AVCodecInternal::draining_done

◆ changed_frames_dropped

int AVCodecInternal::changed_frames_dropped

Definition at line 150 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_format

int AVCodecInternal::initial_format

Definition at line 151 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_width

int AVCodecInternal::initial_width

Definition at line 152 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_height

int AVCodecInternal::initial_height

Definition at line 152 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_sample_rate

int AVCodecInternal::initial_sample_rate

Definition at line 153 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_ch_layout

AVChannelLayout AVCodecInternal::initial_ch_layout

Definition at line 154 of file internal.h.

Referenced by ff_codec_close(), and ff_decode_receive_frame().

◆ warned_on_failed_allocation_from_fixed_pool

int AVCodecInternal::warned_on_failed_allocation_from_fixed_pool

Set when the user has been warned about a failed allocation from a fixed frame pool.

Definition at line 165 of file internal.h.

Referenced by avcodec_default_get_buffer2().


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