FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
AVCodecInternal Struct Reference

#include <internal.h>

Data Fields

int is_copy
 Whether the parent AVCodecContext is a copy of the context which had init() called on it.
 
int allocate_progress
 Whether to allocate progress for frame threading.
 
int64_t sample_count
 Internal sample count used by avcodec_encode_audio() to fabricate pts.
 
int last_audio_frame
 An audio frame with less than required samples has been submitted and padded with silence.
 
AVFrameto_free
 
FramePoolpool
 
voidthread_ctx
 
AVPacketpkt
 Current packet as passed into the decoder, to avoid having to pass the packet into every function.
 
uint8_tbyte_buffer
 temporary buffer used for encoders to store their bitstream
 
unsigned int byte_buffer_size
 
voidframe_thread_encoder
 
int skip_samples
 Number of audio samples to skip at the start of the next decoded frame.
 

Detailed Description

Definition at line 63 of file internal.h.

Field Documentation

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 70 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 85 of file internal.h.

Referenced by decode_init(), ff_h264_decode_init(), ff_rv34_decode_init(), ff_vp8_decode_init(), frame_worker_thread(), hevc_decode_init(), mimic_decode_init(), png_dec_init(), thread_get_buffer_internal(), vp3_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 92 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 99 of file internal.h.

Referenced by avcodec_encode_audio2().

AVFrame* AVCodecInternal::to_free

Definition at line 101 of file internal.h.

Referenced by avcodec_close(), avcodec_flush_buffers(), avcodec_open2(), and unrefcount_frame().

FramePool* AVCodecInternal::pool
void* AVCodecInternal::thread_ctx
AVPacket* AVCodecInternal::pkt

Current packet as passed into the decoder, to avoid having to pass the packet into every function.

Definition at line 111 of file internal.h.

Referenced by add_metadata_from_side_data(), avcodec_decode_audio4(), avcodec_decode_subtitle2(), avcodec_decode_video2(), decode(), ff_frame_thread_init(), ff_init_buffer_info(), raw_decode(), and reget_buffer_internal().

uint8_t* AVCodecInternal::byte_buffer

temporary buffer used for encoders to store their bitstream

Definition at line 116 of file internal.h.

Referenced by avcodec_close(), avcodec_encode_audio2(), avcodec_encode_video2(), and ff_alloc_packet2().

unsigned int AVCodecInternal::byte_buffer_size

Definition at line 117 of file internal.h.

Referenced by avcodec_close(), and ff_alloc_packet2().

void* AVCodecInternal::frame_thread_encoder
int AVCodecInternal::skip_samples

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

Definition at line 124 of file internal.h.

Referenced by avcodec_decode_audio4(), decode_fill(), libopus_decode_init(), and libopus_flush().


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