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... | |
int64_t | sample_count |
Internal sample count used by avcodec_encode_audio() to fabricate pts. 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 |
AVPacket * | pkt |
Current packet as passed into the decoder, to avoid having to pass the packet into every function. 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... | |
Definition at line 93 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 100 of file internal.h.
Referenced by decode_init_thread_copy(), ff_frame_thread_free(), ff_frame_thread_init(), ff_rv34_decode_init_thread_copy(), 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 115 of file internal.h.
Referenced by decode_init(), ff_h264_decode_init(), ff_rv34_decode_init(), frame_worker_thread(), hevc_decode_init(), mimic_decode_init(), png_dec_init(), thread_get_buffer_internal(), vp3_decode_init(), vp78_decode_init(), and vp9_decode_init().
int64_t AVCodecInternal::sample_count |
Internal sample count used by avcodec_encode_audio() to fabricate pts.
Can be removed along with avcodec_encode_audio().
Definition at line 122 of file internal.h.
Referenced by avcodec_encode_audio().
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 129 of file internal.h.
Referenced by avcodec_encode_audio2().
AVFrame* AVCodecInternal::to_free |
Definition at line 131 of file internal.h.
Referenced by avcodec_close(), avcodec_flush_buffers(), avcodec_open2(), and unrefcount_frame().
FramePool* AVCodecInternal::pool |
Definition at line 133 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 135 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_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(), thread_execute(), thread_execute2(), thread_get_buffer_internal(), and worker().
AVPacket* AVCodecInternal::pkt |
Current packet as passed into the decoder, to avoid having to pass the packet into every function.
Definition at line 141 of file internal.h.
Referenced by avcodec_decode_audio4(), avcodec_decode_subtitle2(), avcodec_decode_video2(), decode(), ff_frame_thread_init(), and ff_init_buffer_info().
uint8_t* AVCodecInternal::byte_buffer |
temporary buffer used for encoders to store their bitstream
Definition at line 146 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 147 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 149 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 154 of file internal.h.
Referenced by avcodec_decode_audio4(), decode_fill(), libopus_decode_init(), and libopus_flush().
void* AVCodecInternal::hwaccel_priv_data |
hwaccel-specific private data
Definition at line 159 of file internal.h.
Referenced by avcodec_close(), ff_get_format(), ff_vaapi_get_context(), ff_vda_output_callback(), ff_vdpau_common_end_frame(), ff_vdpau_common_init(), ff_vdpau_common_reinit(), ff_vdpau_common_uninit(), ff_videotoolbox_h264_decode_slice(), ff_videotoolbox_h264_start_frame(), ff_videotoolbox_uninit(), setup_hwaccel(), update_context_from_thread(), vda_h264_end_frame(), vda_old_h264_decode_slice(), vda_old_h264_end_frame(), and vda_old_h264_start_frame().