Skip to main content

ParameterFootprint

Struct ParameterFootprint 

Source
pub struct ParameterFootprint { /* private fields */ }
Expand description

The heap bytes an AVCodecParameters holds — measured, never allocated.

See [bounded_clone_parameters] for the rule this measurement serves and for the field-by-field inventory it is derived from.

Implementations§

Source§

impl ParameterFootprint

Source

pub const fn extradata(&self) -> usize

Bytes a copy of extradata allocates — the payload plus the AV_INPUT_BUFFER_PADDING_SIZE trailing zeroes decoders read past the end into.

The padding is counted because it is allocated: a ceiling that measured only the payload admitted a copy sixty-four bytes larger than it agreed to, once per stream. Zero when there is no extradata at all — no payload, no padding.

Source

pub const fn extradata_payload(&self) -> usize

The extradata_size the parameters declare — the payload alone, with no padding.

Self::extradata is what a parameter clone costs, padding included. This is what a carrier costs: the synthesized attachment road copies these bytes into an FfmpegBytes, which allocates exactly them, so charging the padded figure against the attachment budget would bill sixty-four bytes nobody allocates — and reject a payload sitting in the last sixty-four bytes below the ceiling that the image road, judging the same bytes, accepts.

Source

pub const fn coded_side_data(&self) -> usize

Bytes across every coded_side_data entry, plus the array of descriptors itself.

Source

pub const fn channel_map(&self) -> usize

Bytes in a custom channel map, or zero for every other layout order.

Source

pub const fn total(&self) -> Option<usize>

Everything a clone of these parameters would retain.

None on overflow — a set of declared sizes that cannot be added up is not a set anything should try to copy.

Source

pub const fn total_without_extradata(&self) -> Option<usize>

The same total with extradata left out — what a clone retains when the caller is going to strip it.

The synthesized-attachment road does exactly that: a font’s extradata is its payload, the carrier already holds it, and counting it twice would make the budget describe the file rather than the memory.

Trait Implementations§

Source§

impl Clone for ParameterFootprint

Source§

fn clone(&self) -> ParameterFootprint

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for ParameterFootprint

Source§

impl Debug for ParameterFootprint

Source§

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

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

impl Default for ParameterFootprint

Source§

fn default() -> ParameterFootprint

Returns the “default value” for a type. Read more
Source§

impl Eq for ParameterFootprint

Source§

impl PartialEq for ParameterFootprint

Source§

fn eq(&self, other: &ParameterFootprint) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ParameterFootprint

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

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

Source§

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

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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 = !

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more