Struct BitStreamRestriction

Source
pub struct BitStreamRestriction {
    pub tiles_fixed_structure_flag: bool,
    pub motion_vectors_over_pic_boundaries_flag: bool,
    pub restricted_ref_pic_lists_flag: Option<bool>,
    pub min_spatial_segmentation_idc: u16,
    pub max_bytes_per_pic_denom: u8,
    pub max_bits_per_min_cu_denom: u8,
    pub log2_max_mv_length_horizontal: u8,
    pub log2_max_mv_length_vertical: u8,
}
Expand description

Directly part of VuiParameters.

Fields§

§tiles_fixed_structure_flag: bool

Equal to true indicates that each PPS that is active in the CVS has the same value of the syntax elements num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, column_width_minus1[i], row_height_minus1[i] and loop_filter_across_tiles_enabled_flag, when present.

Equal to false indicates that tiles syntax elements in different PPSs may or may not have the same value.

§motion_vectors_over_pic_boundaries_flag: bool

Equal to false indicates that no sample outside the picture boundaries and no sample at a fractional sample position for which the sample value is derived using one or more samples outside the picture boundaries is used for inter prediction of any sample.

Equal to true indicates that one or more samples outside the picture boundaries may be used in inter prediction.

§restricted_ref_pic_lists_flag: Option<bool>

Equal to Some(true) indicates that all P and B slices (when present) that belong to the same picture have an identical reference picture list 0, and that all B slices (when present) that belong to the same picture have an identical reference picture list 1.

§min_spatial_segmentation_idc: u16

When not equal to 0, establishes a bound on the maximum possible size of distinct coded spatial segmentation regions in the pictures of the CVS.

The value is in range [0, 4095].

Defines minSpatialSegmentationTimes4.

§max_bytes_per_pic_denom: u8

Indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units associated with any coded picture in the CVS.

The number of bytes that represent a picture in the NAL unit stream is specified for this purpose as the total number of bytes of VCL NAL unit data (i.e. the total of the NumBytesInNalUnit variables for the VCL NAL units) for the picture.

The value is in range [0, 16].

§max_bits_per_min_cu_denom: u8

Indicates an upper bound for the number of coded bits of coding_unit() data for any coding block in any picture of the CVS.

The value is in range [0, 16].

§log2_max_mv_length_horizontal: u8

Indicates the maximum absolute value of a decoded horizontal and vertical motion vector component, respectively, in quarter luma sample units, for all pictures in the CVS. A value of n asserts that no value of a motion vector component is outside the range of [−2n, 2n − 1], in units of quarter luma sample displacement, where n refers to the value of log2_max_mv_length_horizontal and log2_max_mv_length_vertical for the horizontal and vertical component of the MV, respectively.

The value is in range [0, 15].

§log2_max_mv_length_vertical: u8

Implementations§

Source§

impl BitStreamRestriction

Source

pub fn min_spatial_segmentation_times4(&self) -> u16

minSpatialSegmentationTimes4 = min_spatial_segmentation_idc + 4 (E-72)

ISO/IEC 23008-2 - E.3.1

Trait Implementations§

Source§

impl Clone for BitStreamRestriction

Source§

fn clone(&self) -> BitStreamRestriction

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 BitStreamRestriction

Source§

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

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

impl Default for BitStreamRestriction

Source§

fn default() -> Self

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

impl PartialEq for BitStreamRestriction

Source§

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

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.