[][src]Struct ffmpeg_dev::sys::AVCodecInternal

#[repr(C)]
pub struct AVCodecInternal {
    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,
}

@}

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 AVFramepool: *mut FramePoolthread_ctx: *mut c_voidds: DecodeSimpleContextfilter: DecodeFilterContextlast_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_uintframe_thread_encoder: *mut c_voidskip_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_intbuffer_frame: *mut AVFramedraining_done: c_intcompat_decode: c_intcompat_decode_warned: c_intcompat_decode_consumed: usizecompat_decode_partial_size: usizecompat_decode_frame: *mut AVFrameshowed_multi_packet_warning: c_intskip_samples_multiplier: c_intnb_draining_errors: c_intchanged_frames_dropped: c_intinitial_format: c_intinitial_width: c_intinitial_height: c_intinitial_sample_rate: c_intinitial_channels: c_intinitial_channel_layout: u64

Trait Implementations

impl Clone for AVCodecInternal[src]

impl Copy for AVCodecInternal[src]

impl Debug for AVCodecInternal[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]