pub struct CabacEngine<'a> {
data: &'a [u8],
pos: usize,
range: u32,
offset: u32,
state: [u8; 460],
}Expand description
CABAC の復号エンジンとコンテキスト状態。
Fields§
§data: &'a [u8]§pos: usize次に読むビット位置(先頭から)。
range: u32§offset: u32§state: [u8; 460]各 ctxIdx の状態(pStateIdx << 1 | valMPS)。
Implementations§
Source§impl<'a> CabacEngine<'a>
impl<'a> CabacEngine<'a>
Sourcepub fn new(
data: &'a [u8],
bit_pos: usize,
slice_qp: i32,
cabac_init_idc: Option<u32>,
) -> Self
pub fn new( data: &'a [u8], bit_pos: usize, slice_qp: i32, cabac_init_idc: Option<u32>, ) -> Self
bit_pos はスライスヘッダ直後の位置(cabac_alignment_one_bit を飛ばしてバイト境界へ揃える)。
cabac_init_idc は I スライスなら None。
Sourcefn init_engine(&mut self)
fn init_engine(&mut self)
9.3.1.2: codIRange = 510、codIOffset = read_bits(9)。I_PCM の後にも呼ぶ。
fn bit(&mut self) -> u32
Auto Trait Implementations§
impl<'a> Freeze for CabacEngine<'a>
impl<'a> RefUnwindSafe for CabacEngine<'a>
impl<'a> Send for CabacEngine<'a>
impl<'a> Sync for CabacEngine<'a>
impl<'a> Unpin for CabacEngine<'a>
impl<'a> UnsafeUnpin for CabacEngine<'a>
impl<'a> UnwindSafe for CabacEngine<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more