Struct Profile

Source
pub struct Profile {
    pub profile_space: u8,
    pub tier_flag: bool,
    pub profile_idc: u8,
    pub profile_compatibility_flag: ProfileCompatibilityFlags,
    pub progressive_source_flag: bool,
    pub interlaced_source_flag: bool,
    pub non_packed_constraint_flag: bool,
    pub frame_only_constraint_flag: bool,
    pub additional_flags: ProfileAdditionalFlags,
    pub inbld_flag: Option<bool>,
    pub level_idc: Option<u8>,
}
Expand description

Profile part of the Profile, tier and level structure.

Fields§

§profile_space: u8

Decoders shall ignore the CVS when general_profile_space is not equal to 0.

§tier_flag: bool

Specifies the tier context for the interpretation of general_level_idc as specified in ISO/IEC 23008-2 - Annex A.

§profile_idc: u8

When general_profile_space is equal to 0, indicates a profile to which the CVS conforms as specified in ISO/IEC 23008-2 - Annex A.

§profile_compatibility_flag: ProfileCompatibilityFlags

profile_compatibility_flag[j] equal to true, when general_profile_space is equal to 0, indicates that the CVS conforms to the profile indicated by general_profile_idc equal to j as specified in ISO/IEC 23008-2 - Annex A.

§progressive_source_flag: bool
  • If general_progressive_source_flag is equal to true and general_interlaced_source_flag is equal to false, the source scan type of the pictures in the CVS should be interpreted as progressive only.
  • Otherwise, if general_progressive_source_flag is equal to false and general_interlaced_source_flag is equal to true, the source scan type of the pictures in the CVS should be interpreted as interlaced only.
  • Otherwise, if general_progressive_source_flag is equal to false and general_interlaced_source_flag is equal to false, the source scan type of the pictures in the CVS should be interpreted as unknown or unspecified.
  • Otherwise (general_progressive_source_flag is equal to true and general_interlaced_source_flag is equal to true), the source scan type of each picture in the CVS is indicated at the picture level using the syntax element source_scan_type in a picture timing SEI message.
§interlaced_source_flag: bool§non_packed_constraint_flag: bool

Equal to true specifies that there are no frame packing arrangement SEI messages, segmented rectangular frame packing arrangement SEI messages, equirectangular projection SEI messages, or cubemap projection SEI messages present in the CVS.

Equal to false indicates that there may or may not be one or more frame packing arrangement SEI messages, segmented rectangular frame packing arrangement SEI messages, equirectangular projection SEI messages, or cubemap projection SEI messages present in the CVS.

§frame_only_constraint_flag: bool

Equal to true specifies that field_seq_flag is equal to 0.

Equal to false indicates that field_seq_flag may or may not be equal to 0.

§additional_flags: ProfileAdditionalFlags

Any additional flags that may be present in the profile.

§inbld_flag: Option<bool>

Equal to true specifies that the INBLD capability as specified in ISO/IEC 23008-2 - Annex F is required for decoding of the layer to which the profile_tier_level( ) syntax structure applies.

Equal to false specifies that the INBLD capability as specified in ISO/IEC 23008-2 - Annex F is not required for decoding of the layer to which the profile_tier_level( ) syntax structure applies.

§level_idc: Option<u8>

Indicates a level to which the CVS conforms as specified in ISO/IEC 23008-2 - Annex A.

Always present for the general profile.

Trait Implementations§

Source§

impl Clone for Profile

Source§

fn clone(&self) -> Profile

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 Profile

Source§

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

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

impl PartialEq for Profile

Source§

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

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.