Skip to main content

MbSyntax

Trait MbSyntax 

Source
trait MbSyntax {
Show 13 methods // Required methods fn mb_type( &mut self, st: &DecState, mb_x: u32, mb_y: u32, kind: SliceKind, ) -> Result<u32, &'static str>; fn sub_mb_type(&mut self, kind: SliceKind) -> Result<u32, &'static str>; fn intra4x4_rem(&mut self) -> Option<i32>; fn intra_chroma_mode( &mut self, st: &DecState, mb_x: u32, mb_y: u32, ) -> Result<u8, &'static str>; fn cbp( &mut self, st: &DecState, mb_x: u32, mb_y: u32, intra: bool, ) -> Result<u32, &'static str>; fn qp_delta(&mut self) -> Result<i32, &'static str>; fn ref_idx( &mut self, st: &DecState, list: usize, px: usize, py: usize, pw: usize, ph: usize, num_ref: u32, ) -> Result<i8, &'static str>; fn mvd( &mut self, st: &DecState, list: usize, px: usize, py: usize, pw: usize, ph: usize, ) -> Result<[i16; 2], &'static str>; fn residual( &mut self, st: &DecState, blk: ResBlock, ) -> Result<([i32; 16], u8), &'static str>; fn pcm(&mut self, out: &mut [u8; 384]); fn transform_8x8(&mut self, st: &DecState, mb_x: u32, mb_y: u32) -> bool; fn residual8x8( &mut self, st: &DecState, bx4: usize, by4: usize, ) -> Result<([i32; 64], [u8; 4]), &'static str>; // Provided method fn mark_direct(&mut self, _px: usize, _py: usize, _pw: usize, _ph: usize) { ... }
}
Expand description

MB 層の構文要素の読み手。値の番号付けは CAVLC(表 7-11/7-13/7-14/7-17/7-18)に揃える。

Required Methods§

Source

fn mb_type( &mut self, st: &DecState, mb_x: u32, mb_y: u32, kind: SliceKind, ) -> Result<u32, &'static str>

Source

fn sub_mb_type(&mut self, kind: SliceKind) -> Result<u32, &'static str>

Source

fn intra4x4_rem(&mut self) -> Option<i32>

prev_intra4x4_pred_mode_flag が 1 なら None、0 なら rem_intra4x4_pred_mode。

Source

fn intra_chroma_mode( &mut self, st: &DecState, mb_x: u32, mb_y: u32, ) -> Result<u8, &'static str>

Source

fn cbp( &mut self, st: &DecState, mb_x: u32, mb_y: u32, intra: bool, ) -> Result<u32, &'static str>

Source

fn qp_delta(&mut self) -> Result<i32, &'static str>

Source

fn ref_idx( &mut self, st: &DecState, list: usize, px: usize, py: usize, pw: usize, ph: usize, num_ref: u32, ) -> Result<i8, &'static str>

パーティション (px, py, pw, ph) の ref_idx_lX。

Source

fn mvd( &mut self, st: &DecState, list: usize, px: usize, py: usize, pw: usize, ph: usize, ) -> Result<[i16; 2], &'static str>

パーティション (px, py, pw, ph) の mvd_lX。

Source

fn residual( &mut self, st: &DecState, blk: ResBlock, ) -> Result<([i32; 16], u8), &'static str>

残差 1 ブロック(走査順の係数, 非ゼロ係数の数)。

Source

fn pcm(&mut self, out: &mut [u8; 384])

I_PCM の 384 バイト(Y 256・Cb 64・Cr 64)。

Source

fn transform_8x8(&mut self, st: &DecState, mb_x: u32, mb_y: u32) -> bool

transform_size_8x8_flag。

Source

fn residual8x8( &mut self, st: &DecState, bx4: usize, by4: usize, ) -> Result<([i32; 64], [u8; 4]), &'static str>

輝度 8x8 の残差(左上の 4x4 位置)。(8x8 走査順の係数 64 個, 4 つの 4x4 ごとの係数の数)。

Provided Methods§

Source

fn mark_direct(&mut self, _px: usize, _py: usize, _pw: usize, _ph: usize)

B_Skip / B_Direct の領域を記録する(CABAC の ref_idx の文脈用)。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§