Struct HEVCDecoderConfigurationRecord

Source
pub struct HEVCDecoderConfigurationRecord {
Show 18 fields pub configuration_version: u8, pub general_profile_space: u8, pub general_tier_flag: bool, pub general_profile_idc: u8, pub general_profile_compatibility_flags: u32, pub general_constraint_indicator_flags: u64, pub general_level_idc: u8, pub min_spatial_segmentation_idc: u16, pub chroma_format_idc: u8, pub bit_depth_luma_minus8: u8, pub bit_depth_chroma_minus8: u8, pub parallelism_type: u8, pub avg_frame_rate: u16, pub constant_frame_rate: u8, pub num_temporal_layers: u8, pub temporal_id_nested: bool, pub length_size_minus_one: u8, pub arrays: Vec<NaluArray>,
}
Expand description

HEVC Decoder Configuration Record ISO/IEC 14496-15:2022(E) - 8.3.2.1

Fields§

§configuration_version: u8

The configuration_version as a u8. Matches the field as defined in ISO/IEC 23008-2.

§general_profile_space: u8

The general_profile_space as a u8. Matches the field as defined in ISO/IEC 23008-2.

§general_tier_flag: bool

The general_tier_flag as a bool. Matches the field as defined in ISO/IEC 23008-2.

§general_profile_idc: u8

The general_profile_idc as a u8. Matches the field as defined in ISO/IEC 23008-2.

§general_profile_compatibility_flags: u32

The general_profile_compatibility_flags as a u32. Matches the field as defined in ISO/IEC 23008-2.

§general_constraint_indicator_flags: u64

The general_constraint_indicator_flags as a u64. Matches the field as defined in ISO/IEC 23008-2.

§general_level_idc: u8

The general_level_idc as a u32. Matches the field as defined in ISO/IEC 23008-2.

§min_spatial_segmentation_idc: u16

The min_spatial_segmentation_idc as a u16. Matches the field as defined in ISO/IEC 23008-2.

§chroma_format_idc: u8

The chroma_format_idc as a u8. Matches the field as defined in ISO/IEC 23008-2.

§bit_depth_luma_minus8: u8

The bit_depth_luma_minus8 as a u8. Matches the field as defined in ISO/IEC 23008-2.

§bit_depth_chroma_minus8: u8

The bit_depth_chroma_minus8 as a u8. Matches the field as defined in ISO/IEC 23008-2.

§parallelism_type: u8

The parallelism_type as a u8.

0 means the stream supports mixed types of parallel decoding or otherwise.

1 means the stream supports slice based parallel decoding.

2 means the stream supports tile based parallel decoding.

3 means the stream supports entropy coding sync based parallel decoding.

§avg_frame_rate: u16

The avg_frame_rate as a u16.

§constant_frame_rate: u8

The constant_frame_rate as a u8.

0 means the stream might have a constant frame rate.

1 means the stream has a constant framerate.

2 means the representation of each temporal layer in the stream has a constant framerate.

§num_temporal_layers: u8

The num_temporal_layers as a u8. This is the count of tepmoral layers or sub-layers as defined in ISO/IEC 23008-2.

0 means the stream might be temporally scalable.

1 means the stream is NOT temporally scalable.

2 or more means the stream is temporally scalable, and the count of temporal layers is equal to this value.

§temporal_id_nested: bool

The temporal_id_nested as a bool.

0 means means the opposite might not be true (refer to what 1 means for this flag).

1 means all the activated SPS have sps_temporal_id_nesting_flag (as defined in ISC/IEC 23008-2) set to 1 and that temporal sub-layer up-switching to a higehr temporal layer can be done at any sample.

§length_size_minus_one: u8

The length_size_minus_one is the u8 length of the NALUnitLength minus one.

§arrays: Vec<NaluArray>

The arrays is a vec of NaluArray. Refer to the NaluArray struct in the NaluArray docs for more info.

Implementations§

Source§

impl HEVCDecoderConfigurationRecord

Source

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

Demuxes an HEVCDecoderConfigurationRecord from a byte stream. Returns a demuxed HEVCDecoderConfigurationRecord.

Source

pub fn size(&self) -> u64

Returns the total byte size of the HEVCDecoderConfigurationRecord.

Source

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

Muxes the HEVCDecoderConfigurationRecord into a byte stream. Returns a muxed byte stream.

Trait Implementations§

Source§

impl Clone for HEVCDecoderConfigurationRecord

Source§

fn clone(&self) -> HEVCDecoderConfigurationRecord

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 HEVCDecoderConfigurationRecord

Source§

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

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

impl PartialEq for HEVCDecoderConfigurationRecord

Source§

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

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.