#[repr(C)]pub struct AVCodecInternal {Show 34 fields
pub is_copy: c_int,
pub allocate_progress: c_int,
pub last_audio_frame: c_int,
pub to_free: *mut AVFrame,
pub pool: *mut FramePool,
pub thread_ctx: *mut c_void,
pub ds: DecodeSimpleContext,
pub filter: DecodeFilterContext,
pub last_pkt_props: *mut AVPacket,
pub byte_buffer: *mut u8,
pub byte_buffer_size: c_uint,
pub frame_thread_encoder: *mut c_void,
pub skip_samples: c_int,
pub hwaccel_priv_data: *mut c_void,
pub draining: c_int,
pub buffer_pkt: *mut AVPacket,
pub buffer_pkt_valid: c_int,
pub buffer_frame: *mut AVFrame,
pub draining_done: c_int,
pub compat_decode: c_int,
pub compat_decode_warned: c_int,
pub compat_decode_consumed: usize,
pub compat_decode_partial_size: usize,
pub compat_decode_frame: *mut AVFrame,
pub showed_multi_packet_warning: c_int,
pub skip_samples_multiplier: c_int,
pub nb_draining_errors: c_int,
pub changed_frames_dropped: c_int,
pub initial_format: c_int,
pub initial_width: c_int,
pub initial_height: c_int,
pub initial_sample_rate: c_int,
pub initial_channels: c_int,
pub initial_channel_layout: u64,
}
Expand description
@}
Fields§
§is_copy: c_int
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.
allocate_progress: c_int
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().
last_audio_frame: c_int
An audio frame with less than required samples has been submitted and padded with silence. Reject all subsequent frames.
to_free: *mut AVFrame
§pool: *mut FramePool
§thread_ctx: *mut c_void
§ds: DecodeSimpleContext
§filter: DecodeFilterContext
§last_pkt_props: *mut AVPacket
Properties (timestamps+side data) extracted from the last packet passed for decoding.
byte_buffer: *mut u8
temporary buffer used for encoders to store their bitstream
byte_buffer_size: c_uint
§frame_thread_encoder: *mut c_void
§skip_samples: c_int
Number of audio samples to skip at the start of the next decoded frame
hwaccel_priv_data: *mut c_void
hwaccel-specific private data
draining: c_int
checks API usage: after codec draining, flush is required to resume operation
buffer_pkt: *mut AVPacket
buffers for using new encode/decode API through legacy API
buffer_pkt_valid: c_int
§buffer_frame: *mut AVFrame
§draining_done: c_int
§compat_decode: c_int
§compat_decode_warned: c_int
§compat_decode_consumed: usize
§compat_decode_partial_size: usize
§compat_decode_frame: *mut AVFrame
§showed_multi_packet_warning: c_int
§skip_samples_multiplier: c_int
§nb_draining_errors: c_int
§changed_frames_dropped: c_int
§initial_format: c_int
§initial_width: c_int
§initial_height: c_int
§initial_sample_rate: c_int
§initial_channels: c_int
§initial_channel_layout: u64
Trait Implementations§
Source§impl Clone for AVCodecInternal
impl Clone for AVCodecInternal
Source§fn clone(&self) -> AVCodecInternal
fn clone(&self) -> AVCodecInternal
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more