Struct AVCodecInternal

Source
#[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

Source§

fn clone(&self) -> AVCodecInternal

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AVCodecInternal

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for AVCodecInternal

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.