FFmpeg
|
#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 FramePool * | pool |
struct FFRefStructPool * | progress_frame_pool |
void * | thread_ctx |
AVPacket * | 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(). More... | |
struct AVBSFContext * | bsf |
AVPacket * | last_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 |
AVFrame * | in_frame |
The input frame is stored here for encoders implementing the simple encode API. More... | |
AVFrame * | recon_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... | |
AVPacket * | buffer_pkt |
Temporary buffers for newly received or not yet output packets/frames. More... | |
AVFrame * | buffer_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... | |
Definition at line 49 of file internal.h.
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().
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().
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().
struct FramePool* AVCodecInternal::pool |
Definition at line 69 of file internal.h.
Referenced by audio_get_buffer(), ff_codec_close(), and update_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().
void* AVCodecInternal::thread_ctx |
Definition at line 73 of file internal.h.
Referenced by ff_codec_close(), ff_frame_thread_free(), ff_frame_thread_init(), ff_slice_thread_execute_with_mainfunc(), ff_slice_thread_free(), ff_slice_thread_init(), ff_thread_can_start_frame(), ff_thread_finish_setup(), ff_thread_flush(), ff_thread_get_packet(), ff_thread_receive_frame(), ff_thread_sync_ref(), main_function(), thread_execute(), thread_execute2(), thread_get_buffer_internal(), and worker_func().
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().
struct AVBSFContext* AVCodecInternal::bsf |
Definition at line 84 of file internal.h.
Referenced by cuvid_decode_init(), decode_bsfs_init(), decode_get_packet(), ff_codec_close(), ff_decode_flush_buffers(), and ff_decode_get_packet().
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().
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().
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().
void* AVCodecInternal::frame_thread_encoder |
Definition at line 98 of file internal.h.
Referenced by avcodec_open2(), encode_simple_internal(), ff_codec_close(), ff_frame_thread_encoder_free(), ff_frame_thread_encoder_init(), ff_thread_video_encode_frame(), and worker().
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().
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().
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().
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().
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().
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().
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().
AVFrame* AVCodecInternal::buffer_frame |
Definition at line 145 of file internal.h.
Referenced by avcodec_flush_buffers(), avcodec_open2(), avcodec_send_frame(), avcodec_send_packet(), encode_send_frame_internal(), ff_codec_close(), ff_decode_receive_frame(), and ff_encode_get_frame().
int AVCodecInternal::draining_done |
Definition at line 146 of file internal.h.
Referenced by avcodec_flush_buffers(), decode_simple_internal(), encode_receive_packet_internal(), encode_simple_internal(), ff_decode_receive_frame_internal(), and ff_encode_receive_frame().
int AVCodecInternal::changed_frames_dropped |
Definition at line 150 of file internal.h.
Referenced by ff_decode_receive_frame().
int AVCodecInternal::initial_format |
Definition at line 151 of file internal.h.
Referenced by ff_decode_receive_frame().
int AVCodecInternal::initial_width |
Definition at line 152 of file internal.h.
Referenced by ff_decode_receive_frame().
int AVCodecInternal::initial_height |
Definition at line 152 of file internal.h.
Referenced by ff_decode_receive_frame().
int AVCodecInternal::initial_sample_rate |
Definition at line 153 of file internal.h.
Referenced by ff_decode_receive_frame().
AVChannelLayout AVCodecInternal::initial_ch_layout |
Definition at line 154 of file internal.h.
Referenced by ff_codec_close(), and ff_decode_receive_frame().
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().