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 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
 
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
 checks API usage: after codec draining, flush is required to resume operation 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
 

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(), h264_decode_init(), hevc_decode_init(), and vp3_decode_init().

◆ 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 60 of file internal.h.

Referenced by aptx_encode_init(), and encode_send_frame_internal().

◆ pool

struct FramePool* AVCodecInternal::pool

◆ 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 74 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(), init(), 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 81 of file internal.h.

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

◆ byte_buffer

uint8_t* AVCodecInternal::byte_buffer

temporary buffer used for encoders to store their bitstream

Definition at line 86 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 87 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 97 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 105 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 111 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 116 of file internal.h.

Referenced by cng_decode_frame(), decode_fill(), discard_samples(), ff_opus_parse_extradata(), flush(), 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 121 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(), ff_vk_update_thread_context(), 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(), update_context_from_thread(), vaapi_av1_decode_init(), vaapi_av1_decode_uninit(), vaapi_av1_end_frame(), vaapi_av1_start_frame(), vaapi_decode_find_best_format(), 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

checks API usage: after codec draining, flush is required to resume operation

Definition at line 126 of file internal.h.

Referenced by avcodec_flush_buffers(), avcodec_send_frame(), decode_get_packet(), decode_simple_internal(), encode_simple_internal(), ff_decode_get_packet(), ff_encode_get_frame(), ff_nvenc_receive_packet(), and librav1e_receive_packet().

◆ buffer_pkt

AVPacket* AVCodecInternal::buffer_pkt

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

Definition at line 131 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 137 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_format

int AVCodecInternal::initial_format

Definition at line 138 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_width

int AVCodecInternal::initial_width

Definition at line 139 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_height

int AVCodecInternal::initial_height

Definition at line 139 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_sample_rate

int AVCodecInternal::initial_sample_rate

Definition at line 140 of file internal.h.

Referenced by ff_decode_receive_frame().

◆ initial_ch_layout

AVChannelLayout AVCodecInternal::initial_ch_layout

Definition at line 141 of file internal.h.

Referenced by ff_codec_close(), and ff_decode_receive_frame().


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