Struct CompositionToDecodeBox

Source
pub struct CompositionToDecodeBox {
    pub full_header: FullBoxHeader,
    pub composition_to_dt_shift: i64,
    pub least_decode_to_display_delta: i64,
    pub greatest_decode_to_display_delta: i64,
    pub composition_start_time: i64,
    pub composition_end_time: i64,
}
Expand description

Composition to decode box

ISO/IEC 14496-12 - 8.6.1.4

Fields§

§full_header: FullBoxHeader

The full box header.

§composition_to_dt_shift: i64

If this value is added to the composition timestamps (as calculated by the CTS offsets from the DTS), then for all samples, their CTS is guaranteed to be greater than or equal to their DTS, and the buffer model implied by the indicated profile/level will be honoured; if leastDecodeToDisplayDelta is positive or zero, this field can be 0; otherwise it should be at least (-leastDecodeToDisplayDelta)

§least_decode_to_display_delta: i64

The smallest composition offset in the CompositionOffsetBox in this track.

§greatest_decode_to_display_delta: i64

The largest composition offset in the CompositionOffsetBox in this track.

§composition_start_time: i64

The smallest computed composition timestamp (CTS) for any sample in the media of this track.

§composition_end_time: i64

The composition timestamp plus the composition duration, of the sample with the largest computed composition timestamp (CTS) in the media of this track; if this field takes the value 0, the composition end time is unknown.

Trait Implementations§

Source§

impl Debug for CompositionToDecodeBox

Source§

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

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

impl<'a> Deserialize<'a> for CompositionToDecodeBox

Source§

fn deserialize<R>(reader: R) -> Result<Self>
where R: ZeroCopyReader<'a>,

Deserialize a value from the given zero-copy reader.
Source§

impl<'a> DeserializeSeed<'a, BoxHeader> for CompositionToDecodeBox

Source§

fn deserialize_seed<R>(reader: R, _seed: BoxHeader) -> Result<Self>
where R: ZeroCopyReader<'a>,

Deserialize a value from the given zero-copy reader using the provided seed.
Source§

impl IsoBox for CompositionToDecodeBox

Source§

const TYPE: BoxType

The box type of this box.
Source§

fn add_header_size(payload_size: usize) -> usize

This function calculates the header size, adds it to the given payload size and return the result. Read more
Source§

fn box_header(&self) -> BoxHeader

Constructs a BoxHeader for this box.
Source§

fn serialize_box_header<W>(&self, writer: W) -> Result<()>
where W: Write,

Serializes the box header returned by IsoBox::box_header to the given writer.
Source§

impl IsoSized for CompositionToDecodeBox

Source§

fn size(&self) -> usize

Returns the size of the type when serialized.
Source§

impl PartialEq for CompositionToDecodeBox

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for CompositionToDecodeBox

Source§

fn serialize<W>(&self, writer: W) -> Result<()>
where W: Write,

Serialize the value into the given writer.
Source§

impl Eq for CompositionToDecodeBox

Source§

impl StructuralPartialEq for CompositionToDecodeBox

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> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.