pub struct BoolEncoder { /* private fields */ }Expand description
VP8 boolean entropy encoder (RFC 6386 §7.3).
Construct with BoolEncoder::new, write bools/literals/tree symbols, then call
BoolEncoder::finish exactly once to flush the interval and obtain the partition bytes.
Implementations§
Source§impl BoolEncoder
impl BoolEncoder
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates an encoder with the initial interval state (range = 255, bottom = 0).
Sourcepub fn put_bool(&mut self, prob: Prob, bool_value: bool)
pub fn put_bool(&mut self, prob: Prob, bool_value: bool)
Encodes one bool_value whose probability of being 0 is prob / 256 (RFC 6386 §7.3
write_bool).
Sourcepub fn put_flag(&mut self, value: bool)
pub fn put_flag(&mut self, value: bool)
Encodes a one-bit flag (a bool at probability 128, i.e. 1/2) — the F / L(1) of §8.
Sourcepub fn put_literal(&mut self, value: u32, num_bits: u32)
pub fn put_literal(&mut self, value: u32, num_bits: u32)
Encodes the low num_bits of value as an unsigned literal L(num_bits): num_bits flags
written high-order bit first (RFC 6386 §7.3 read_literal). num_bits must be 0..=32.
Sourcepub fn put_signed_literal(&mut self, value: i32, num_bits: u32)
pub fn put_signed_literal(&mut self, value: i32, num_bits: u32)
Encodes value as a signed num_bits-bit literal in the §7.3 read_signed_literal form: a
sign flag followed by num_bits - 1 magnitude bits (the num_bits-bit two’s-complement of
value, written high-order bit first). value must fit in num_bits two’s-complement bits.
Sourcepub fn put_tree_start(
&mut self,
tree: &Tree,
probs: &[Prob],
value: usize,
start: usize,
)
pub fn put_tree_start( &mut self, tree: &Tree, probs: &[Prob], value: usize, start: usize, )
Encodes the tree-coded value from tree using interior-node probabilities probs, starting
the descent at interior node start (use 0 for the root; a non-zero start skips earlier
decisions, e.g. the DCT token tree’s end-of-block branch).
In a release build a value not reachable from start writes nothing (a caller bug — the
trees and values are static); in a debug build it triggers a debug_assert.
Sourcepub fn put_tree(&mut self, tree: &Tree, probs: &[Prob], value: usize)
pub fn put_tree(&mut self, tree: &Tree, probs: &[Prob], value: usize)
Encodes the tree-coded value from the root (equivalent to
put_tree_start with start = 0).
Trait Implementations§
Source§impl Clone for BoolEncoder
impl Clone for BoolEncoder
Source§fn clone(&self) -> BoolEncoder
fn clone(&self) -> BoolEncoder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more