Struct brotli::enc::context_map_entropy::ContextMapEntropy
source · pub struct ContextMapEntropy<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> {
input: InputPair<'a>,
context_map: PredictionModeContextMap<InputReferenceMut<'a>>,
block_type: u8,
cur_stride: u8,
local_byte_offset: usize,
weight: [[Weights; 16]; 2],
cm_priors: <Alloc as Allocator<u16>>::AllocatedMemory,
stride_priors: <Alloc as Allocator<u16>>::AllocatedMemory,
_stride_pyramid_leaves: [u8; 8],
singleton_costs: [[[floatX; 16]; 2]; 3],
}
Fields§
§input: InputPair<'a>
§context_map: PredictionModeContextMap<InputReferenceMut<'a>>
§block_type: u8
§cur_stride: u8
§local_byte_offset: usize
§weight: [[Weights; 16]; 2]
§cm_priors: <Alloc as Allocator<u16>>::AllocatedMemory
§stride_priors: <Alloc as Allocator<u16>>::AllocatedMemory
§_stride_pyramid_leaves: [u8; 8]
§singleton_costs: [[[floatX; 16]; 2]; 3]
Implementations§
source§impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> ContextMapEntropy<'a, Alloc>
impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> ContextMapEntropy<'a, Alloc>
pub fn new( m16: &mut Alloc, input: InputPair<'a>, stride: [u8; 8], prediction_mode: PredictionModeContextMap<InputReferenceMut<'a>>, cdf_detection_quality: u8, ) -> Self
pub fn take_prediction_mode( &mut self, ) -> PredictionModeContextMap<InputReferenceMut<'a>>
pub fn prediction_mode_mut( &mut self, ) -> &mut PredictionModeContextMap<InputReferenceMut<'a>>
pub fn best_singleton_speeds( &self, cm: bool, combined: bool, ) -> ([SpeedAndMax; 2], [floatX; 2])
pub fn best_speeds(&mut self, cm: bool, combined: bool) -> [SpeedAndMax; 2]
pub fn best_speeds_costs(&mut self, cm: bool, combined: bool) -> [floatX; 2]
pub fn free(&mut self, alloc: &mut Alloc)
fn update_cost_base( &mut self, stride_prior: u8, _selected_bits: u8, cm_prior: usize, literal: u8, )
Trait Implementations§
source§impl<'a, 'b, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> CommandProcessor<'b> for ContextMapEntropy<'a, Alloc>
impl<'a, 'b, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> CommandProcessor<'b> for ContextMapEntropy<'a, Alloc>
fn push(&mut self, val: Command<InputReference<'b>>)
fn push_literals(&mut self, data: &InputPair<'a>)
fn push_rand_literals(&mut self, data: &InputPair<'a>)
fn push_block_switch_literal(&mut self, block_type: u8)
source§impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> IRInterpreter for ContextMapEntropy<'a, Alloc>
impl<'a, Alloc: Allocator<u16> + Allocator<u32> + Allocator<floatX>> IRInterpreter for ContextMapEntropy<'a, Alloc>
fn inc_local_byte_offset(&mut self, inc: usize)
fn local_byte_offset(&self) -> usize
fn update_block_type(&mut self, new_type: u8, stride: u8)
fn block_type(&self) -> u8
fn literal_data_at_offset(&self, index: usize) -> u8
fn literal_context_map(&self) -> &[u8] ⓘ
fn prediction_mode(&self) -> LiteralPredictionModeNibble
fn update_cost( &mut self, stride_prior: [u8; 8], stride_prior_offset: usize, selected_bits: u8, cm_prior: usize, literal: u8, )
Auto Trait Implementations§
impl<'a, Alloc> Freeze for ContextMapEntropy<'a, Alloc>
impl<'a, Alloc> RefUnwindSafe for ContextMapEntropy<'a, Alloc>
impl<'a, Alloc> Send for ContextMapEntropy<'a, Alloc>
impl<'a, Alloc> Sync for ContextMapEntropy<'a, Alloc>
impl<'a, Alloc> Unpin for ContextMapEntropy<'a, Alloc>
impl<'a, Alloc> !UnwindSafe for ContextMapEntropy<'a, Alloc>
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