Struct AV1CodecConfigurationRecord

Source
pub struct AV1CodecConfigurationRecord {
    pub seq_profile: u8,
    pub seq_level_idx_0: u8,
    pub seq_tier_0: bool,
    pub high_bitdepth: bool,
    pub twelve_bit: bool,
    pub monochrome: bool,
    pub chroma_subsampling_x: bool,
    pub chroma_subsampling_y: bool,
    pub chroma_sample_position: u8,
    pub hdr_wcg_idc: u8,
    pub initial_presentation_delay_minus_one: Option<u8>,
    pub config_obu: Bytes,
}
Expand description

Fields§

§seq_profile: u8

This field shall be coded according to the semantics defined in AV1.

3 bits

§seq_level_idx_0: u8

This field shall be coded according to the semantics defined in AV1.

5 bits

§seq_tier_0: bool

This field shall be coded according to the semantics defined in AV1, when present. If they are not present, they will be coded using the value inferred by the semantics.

1 bit

§high_bitdepth: bool

This field shall be coded according to the semantics defined in AV1.

1 bit

§twelve_bit: bool

This field shall be coded according to the semantics defined in AV1, when present. If they are not present, they will be coded using the value inferred by the semantics.

1 bit

§monochrome: bool

This field shall be coded according to the semantics defined in AV1, when present. If they are not present, they will be coded using the value inferred by the semantics.

1 bit

§chroma_subsampling_x: bool

This field shall be coded according to the semantics defined in AV1, when present. If they are not present, they will be coded using the value inferred by the semantics.

1 bit

§chroma_subsampling_y: bool

This field shall be coded according to the semantics defined in AV1, when present. If they are not present, they will be coded using the value inferred by the semantics.

1 bit

§chroma_sample_position: u8

This field shall be coded according to the semantics defined in AV1, when present. If they are not present, they will be coded using the value inferred by the semantics.

2 bits

§hdr_wcg_idc: u8

The value of this syntax element indicates the presence or absence of high dynamic range (HDR) and/or wide color gamut (WCG) video components in the associated PID according to the table below.

HDR/WCG IDCDescription
0SDR
1WCG only
2HDR and WCG
3No indication

2 bits

From a newer spec: https://aomediacodec.github.io/av1-mpeg2-ts/#av1-video-descriptor

§initial_presentation_delay_minus_one: Option<u8>

Ignored for MPEG-2 TS use, included only to aid conversion to/from ISOBMFF.

4 bits

§config_obu: Bytes

Zero or more OBUs. Refer to the linked specification for details.

8 bits

Implementations§

Source§

impl AV1CodecConfigurationRecord

Source

pub fn demux(reader: &mut Cursor<Bytes>) -> Result<Self>

Demuxes the AV1 Codec Configuration Record from the given reader.

Source

pub fn size(&self) -> u64

Returns the size of the AV1 Codec Configuration Record.

Source

pub fn mux<T: Write>(&self, writer: &mut T) -> Result<()>

Muxes the AV1 Codec Configuration Record to the given writer.

Trait Implementations§

Source§

impl Clone for AV1CodecConfigurationRecord

Source§

fn clone(&self) -> AV1CodecConfigurationRecord

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 AV1CodecConfigurationRecord

Source§

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

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

impl PartialEq for AV1CodecConfigurationRecord

Source§

fn eq(&self, other: &AV1CodecConfigurationRecord) -> 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 StructuralPartialEq for AV1CodecConfigurationRecord

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, 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, 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.