FFmpeg
|
#include <internal.h>
Data Fields | |
int | is_copy |
Whether the parent AVCodecContext is a copy of the context which had init() called on it. More... | |
int | allocate_progress |
Whether to allocate progress for frame threading. More... | |
int | last_audio_frame |
An audio frame with less than required samples has been submitted and padded with silence. More... | |
AVFrame * | to_free |
FramePool * | pool |
void * | thread_ctx |
DecodeSimpleContext | ds |
DecodeFilterContext | filter |
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 |
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... | |
AVPacket * | buffer_pkt |
buffers for using new encode/decode API through legacy API More... | |
int | buffer_pkt_valid |
AVFrame * | buffer_frame |
int | draining_done |
int | compat_decode |
int | compat_decode_warned |
size_t | compat_decode_consumed |
size_t | compat_decode_partial_size |
AVFrame * | compat_decode_frame |
int | showed_multi_packet_warning |
int | skip_samples_multiplier |
int | nb_draining_errors |
Definition at line 129 of file internal.h.
int AVCodecInternal::is_copy |
Whether the parent AVCodecContext is a copy of the context which had init() called on it.
This is used by multithreading - shared tables and picture pointers should be freed from the original context only.
Definition at line 136 of file internal.h.
Referenced by cfhd_close(), decode_end(), ff_frame_thread_free(), ff_frame_thread_init(), ff_rv34_decode_init_thread_copy(), hqx_decode_close(), mimic_decode_end(), png_dec_init(), and vp3_decode_end().
int AVCodecInternal::allocate_progress |
Whether to allocate progress for frame threading.
The codec must set it to 1 if it uses ff_thread_await/report_progress(), then progress will be allocated in ff_thread_get_buffer(). The frames then MUST be freed with ff_thread_release_buffer().
If the codec does not need to call the progress functions (there are no dependencies between the frames), it should leave this at 0. Then it can decode straight to the user-provided frames (which the user will then free with av_frame_unref()), there is no need to call ff_thread_release_buffer().
Definition at line 151 of file internal.h.
Referenced by decode_init(), ff_rv34_decode_init(), frame_worker_thread(), h264_decode_init(), hevc_decode_init(), mimic_decode_init(), png_dec_init(), thread_get_buffer_internal(), vp3_decode_init(), vp78_decode_init(), and vp9_decode_init().
int AVCodecInternal::last_audio_frame |
An audio frame with less than required samples has been submitted and padded with silence.
Reject all subsequent frames.
Definition at line 157 of file internal.h.
Referenced by avcodec_encode_audio2().
AVFrame* AVCodecInternal::to_free |
Definition at line 159 of file internal.h.
Referenced by avcodec_close(), avcodec_flush_buffers(), avcodec_open2(), and unrefcount_frame().
FramePool* AVCodecInternal::pool |
Definition at line 161 of file internal.h.
Referenced by audio_get_buffer(), avcodec_close(), avcodec_open2(), update_frame_pool(), and video_get_buffer().
void* AVCodecInternal::thread_ctx |
Definition at line 163 of file internal.h.
Referenced by avcodec_close(), ff_alloc_entries(), ff_frame_thread_free(), ff_frame_thread_init(), ff_reset_entries(), ff_slice_thread_execute_with_mainfunc(), ff_slice_thread_free(), ff_slice_thread_init(), ff_thread_await_progress(), ff_thread_await_progress2(), ff_thread_can_start_frame(), ff_thread_decode_frame(), ff_thread_finish_setup(), ff_thread_flush(), ff_thread_get_format(), ff_thread_release_buffer(), ff_thread_report_progress(), ff_thread_report_progress2(), main_function(), thread_execute(), thread_execute2(), thread_get_buffer_internal(), and worker_func().
DecodeSimpleContext AVCodecInternal::ds |
Definition at line 165 of file internal.h.
Referenced by avcodec_close(), avcodec_flush_buffers(), avcodec_open2(), and decode_simple_internal().
DecodeFilterContext AVCodecInternal::filter |
Definition at line 166 of file internal.h.
Referenced by avcodec_send_packet(), bsfs_init(), bsfs_poll(), and ff_decode_bsfs_uninit().
AVPacket* AVCodecInternal::last_pkt_props |
Properties (timestamps+side data) extracted from the last packet passed for decoding.
Definition at line 172 of file internal.h.
Referenced by avcodec_close(), avcodec_open2(), decode_simple_internal(), extract_packet_props(), ff_decode_frame_props(), and ff_frame_thread_init().
uint8_t* AVCodecInternal::byte_buffer |
temporary buffer used for encoders to store their bitstream
Definition at line 177 of file internal.h.
Referenced by avcodec_close(), avcodec_encode_audio2(), avcodec_encode_video2(), ff_alloc_packet2(), ff_mpv_encode_picture(), and ff_mpv_reallocate_putbitbuffer().
unsigned int AVCodecInternal::byte_buffer_size |
Definition at line 178 of file internal.h.
Referenced by avcodec_close(), encode_thread(), ff_alloc_packet2(), ff_mpv_encode_picture(), and ff_mpv_reallocate_putbitbuffer().
void* AVCodecInternal::frame_thread_encoder |
Definition at line 180 of file internal.h.
Referenced by avcodec_close(), avcodec_encode_video2(), avcodec_open2(), ff_frame_thread_encoder_free(), ff_frame_thread_encoder_init(), ff_thread_video_encode_frame(), and worker().
int AVCodecInternal::skip_samples |
Number of audio samples to skip at the start of the next decoded frame.
Definition at line 185 of file internal.h.
Referenced by cng_decode_frame(), decode_fill(), decode_simple_internal(), libopus_decode_init(), and libopus_flush().
void* AVCodecInternal::hwaccel_priv_data |
hwaccel-specific private data
Definition at line 190 of file internal.h.
Referenced by avcodec_close(), 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_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_videotoolbox_h264_decode_slice(), ff_videotoolbox_h264_start_frame(), ff_videotoolbox_uninit(), hwaccel_init(), hwaccel_uninit(), nvdec_h264_decode_slice(), nvdec_h264_start_frame(), 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(), update_context_from_thread(), vaapi_decode_find_best_format(), videotoolbox_h264_decode_params(), and videotoolbox_set_frame().
int AVCodecInternal::draining |
checks API usage: after codec draining, flush is required to resume operation
Definition at line 195 of file internal.h.
Referenced by avcodec_flush_buffers(), avcodec_receive_packet(), avcodec_send_frame(), avcodec_send_packet(), compat_decode(), decode_simple_internal(), and ff_decode_get_packet().
AVPacket* AVCodecInternal::buffer_pkt |
buffers for using new encode/decode API through legacy API
Definition at line 200 of file internal.h.
Referenced by avcodec_close(), avcodec_flush_buffers(), avcodec_open2(), avcodec_receive_packet(), avcodec_send_packet(), and do_encode().
int AVCodecInternal::buffer_pkt_valid |
Definition at line 201 of file internal.h.
Referenced by avcodec_flush_buffers(), avcodec_receive_packet(), avcodec_send_frame(), and do_encode().
AVFrame* AVCodecInternal::buffer_frame |
Definition at line 202 of file internal.h.
Referenced by avcodec_close(), avcodec_flush_buffers(), avcodec_open2(), avcodec_receive_frame(), and avcodec_send_packet().
int AVCodecInternal::draining_done |
Definition at line 203 of file internal.h.
Referenced by avcodec_flush_buffers(), compat_decode(), decode_receive_frame_internal(), and decode_simple_internal().
int AVCodecInternal::compat_decode |
Definition at line 205 of file internal.h.
Referenced by compat_decode().
int AVCodecInternal::compat_decode_warned |
Definition at line 206 of file internal.h.
Referenced by compat_decode().
size_t AVCodecInternal::compat_decode_consumed |
Definition at line 209 of file internal.h.
Referenced by compat_decode(), and ff_decode_get_packet().
size_t AVCodecInternal::compat_decode_partial_size |
Definition at line 212 of file internal.h.
Referenced by compat_decode().
AVFrame* AVCodecInternal::compat_decode_frame |
Definition at line 213 of file internal.h.
Referenced by avcodec_close(), avcodec_flush_buffers(), avcodec_open2(), and compat_decode().
int AVCodecInternal::showed_multi_packet_warning |
Definition at line 215 of file internal.h.
int AVCodecInternal::skip_samples_multiplier |
Definition at line 217 of file internal.h.
Referenced by aac_decode_frame_int(), avcodec_open2(), and decode_simple_internal().
int AVCodecInternal::nb_draining_errors |
Definition at line 220 of file internal.h.
Referenced by avcodec_flush_buffers().