Skip to main content

SliceHeader

Struct SliceHeader 

Source
pub struct SliceHeader {
Show 16 fields pub first_mb: u32, pub kind: SliceKind, pub frame_num: u32, pub pic_order_cnt_lsb: u32, pub delta_pic_order_cnt_bottom: i32, pub direct_spatial_mv_pred: bool, pub num_ref_idx_active: [u32; 2], pub cabac_init_idc: u32, pub slice_qp: i32, pub disable_deblocking_filter_idc: u32, pub slice_alpha_c0_offset: i32, pub slice_beta_offset: i32, pub list_mod: [Vec<(u32, u32)>; 2], pub adaptive_marking: bool, pub mmco_unmark: Vec<u32>, pub pwt: Option<PredWeightTable>,
}
Expand description

解析済みのスライスヘッダ(7.3.3)。

Fields§

§first_mb: u32§kind: SliceKind§frame_num: u32§pic_order_cnt_lsb: u32§delta_pic_order_cnt_bottom: i32§direct_spatial_mv_pred: bool§num_ref_idx_active: [u32; 2]

num_ref_idx_l0/l1_active(上書き反映後)。

§cabac_init_idc: u32§slice_qp: i32§disable_deblocking_filter_idc: u32§slice_alpha_c0_offset: i32§slice_beta_offset: i32§list_mod: [Vec<(u32, u32)>; 2]

ref_pic_list_modification(L0/L1)。(modification_of_pic_nums_idc, abs_diff_pic_num_minus1)、 idc は 0(引く)か 1(足す)だけ。

§adaptive_marking: bool

adaptive_ref_pic_marking_mode_flag。真ならスライディングウィンドウを使わず mmco に従う。

§mmco_unmark: Vec<u32>

MMCO 1 の difference_of_pic_nums_minus1 の並び(その PicNum の短期参照を外す)。

§pwt: Option<PredWeightTable>

明示的な重み付き予測の表(P で weighted_pred_flag、B で weighted_bipred_idc = 1 のとき)。

Trait Implementations§

Source§

impl Clone for SliceHeader

Source§

fn clone(&self) -> SliceHeader

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SliceHeader

Source§

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

Formats the value using the given formatter. Read more

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> Same for T

Source§

type Output = T

Should always be Self
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.