Struct Pcm

Source
pub struct Pcm {
    pub pcm_sample_bit_depth_luma_minus1: u8,
    pub pcm_sample_bit_depth_chroma_minus1: u8,
    pub log2_min_pcm_luma_coding_block_size_minus3: u64,
    pub log2_diff_max_min_pcm_luma_coding_block_size: u64,
    pub pcm_loop_filter_disabled_flag: bool,
}
Expand description

Directly part of SPS RBSP.

Fields§

§pcm_sample_bit_depth_luma_minus1: u8

Defines PcmBitDepth_Y.

§pcm_sample_bit_depth_chroma_minus1: u8

Defines PcmBitDepth_C.

§log2_min_pcm_luma_coding_block_size_minus3: u64

This value plus 3 specifies the minimum size of coding blocks with pcm_flag equal to true.

Defines Log2MinIpcmCbSizeY.

§log2_diff_max_min_pcm_luma_coding_block_size: u64

Specifies the difference between the maximum and minimum size of coding blocks with pcm_flag equal to true.

Defines Log2MaxIpcmCbSizeY.

§pcm_loop_filter_disabled_flag: bool

Specifies whether the loop filter process is disabled on reconstructed samples in a coding unit with pcm_flag equal to true.

Implementations§

Source§

impl Pcm

Source

pub fn pcm_bit_depth_y(&self) -> u8

Specifies the number of bits used to represent each of PCM sample values of the luma component.

The value of PcmBitDepthY is less than or equal to the value of BitDepthY.

PcmBitDepthY = pcm_sample_bit_depth_luma_minus1 + 1 (7-25)

ISO/IEC 23008-2 - 7.4.3.2.1

Source

pub fn pcm_bit_depth_c(&self) -> u8

Specifies the number of bits used to represent each of PCM sample values of the chroma components.

The value of PcmBitDepthC is less than or equal to the value of BitDepthC. When ChromaArrayType is equal to 0, decoders shall ignore its value.

PcmBitDepthC = pcm_sample_bit_depth_chroma_minus1 + 1 (7-26)

ISO/IEC 23008-2 - 7.4.3.2.1

Source

pub fn log2_min_ipcm_cb_size_y(&self) -> u64

The value is range [Min(MinCbLog2SizeY, 5), Min(CtbLog2SizeY, 5)].

Log2MinIpcmCbSizeY = log2_min_pcm_luma_coding_block_size_minus3 + 3

ISO/IEC 23008-2 - 7.4.3.2.1

Source

pub fn log2_max_ipcm_cb_size_y(&self) -> u64

The value is less than or equal to Min(CtbLog2SizeY, 5).

Log2MaxIpcmCbSizeY = log2_diff_max_min_pcm_luma_coding_block_size + Log2MinIpcmCbSizeY

ISO/IEC 23008-2 - 7.4.3.2.1

Trait Implementations§

Source§

impl Clone for Pcm

Source§

fn clone(&self) -> Pcm

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 Pcm

Source§

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

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

impl PartialEq for Pcm

Source§

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

Auto Trait Implementations§

§

impl Freeze for Pcm

§

impl RefUnwindSafe for Pcm

§

impl Send for Pcm

§

impl Sync for Pcm

§

impl Unpin for Pcm

§

impl UnwindSafe for Pcm

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.