Struct brotli::enc::prior_eval::PriorEval
source · pub struct PriorEval<'a, Alloc: Allocator<s16> + Allocator<u32> + Allocator<v8>> {Show 15 fields
input: InputPair<'a>,
context_map: PredictionModeContextMap<InputReferenceMut<'a>>,
block_type: u8,
local_byte_offset: usize,
_nop: <Alloc as Allocator<u32>>::AllocatedMemory,
cm_priors: <Alloc as Allocator<s16>>::AllocatedMemory,
slow_cm_priors: <Alloc as Allocator<s16>>::AllocatedMemory,
fast_cm_priors: <Alloc as Allocator<s16>>::AllocatedMemory,
stride_priors: [<Alloc as Allocator<s16>>::AllocatedMemory; 4],
adv_priors: <Alloc as Allocator<s16>>::AllocatedMemory,
_stride_pyramid_leaves: [u8; 8],
score: <Alloc as Allocator<v8>>::AllocatedMemory,
cm_speed: [(u16, u16); 2],
stride_speed: [(u16, u16); 2],
cur_stride: u8,
}
Fields§
§input: InputPair<'a>
§context_map: PredictionModeContextMap<InputReferenceMut<'a>>
§block_type: u8
§local_byte_offset: usize
§_nop: <Alloc as Allocator<u32>>::AllocatedMemory
§cm_priors: <Alloc as Allocator<s16>>::AllocatedMemory
§slow_cm_priors: <Alloc as Allocator<s16>>::AllocatedMemory
§fast_cm_priors: <Alloc as Allocator<s16>>::AllocatedMemory
§stride_priors: [<Alloc as Allocator<s16>>::AllocatedMemory; 4]
§adv_priors: <Alloc as Allocator<s16>>::AllocatedMemory
§_stride_pyramid_leaves: [u8; 8]
§score: <Alloc as Allocator<v8>>::AllocatedMemory
§cm_speed: [(u16, u16); 2]
§stride_speed: [(u16, u16); 2]
§cur_stride: u8
Implementations§
source§impl<'a, Alloc: Allocator<s16> + Allocator<u32> + Allocator<v8>> PriorEval<'a, Alloc>
impl<'a, Alloc: Allocator<s16> + Allocator<u32> + Allocator<v8>> PriorEval<'a, Alloc>
pub fn new( alloc: &mut Alloc, input: InputPair<'a>, stride: [u8; 8], prediction_mode: PredictionModeContextMap<InputReferenceMut<'a>>, params: &BrotliEncoderParams, ) -> Self
pub fn choose_bitmask(&mut self)
pub fn free(&mut self, alloc: &mut Alloc)
pub fn take_prediction_mode( &mut self, ) -> PredictionModeContextMap<InputReferenceMut<'a>>
fn update_cost_base( &mut self, stride_prior: [u8; 8], stride_prior_offset: usize, selected_bits: u8, cm_prior: usize, literal: u8, )
Trait Implementations§
source§impl<'a, 'b, Alloc: Allocator<s16> + Allocator<u32> + Allocator<v8>> CommandProcessor<'b> for PriorEval<'a, Alloc>
impl<'a, 'b, Alloc: Allocator<s16> + Allocator<u32> + Allocator<v8>> CommandProcessor<'b> for PriorEval<'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<s16> + Allocator<u32> + Allocator<v8>> IRInterpreter for PriorEval<'a, Alloc>
impl<'a, Alloc: Allocator<s16> + Allocator<u32> + Allocator<v8>> IRInterpreter for PriorEval<'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 PriorEval<'a, Alloc>where
<Alloc as Allocator<u32>>::AllocatedMemory: Freeze,
<Alloc as Allocator<Compat16x16>>::AllocatedMemory: Freeze,
<Alloc as Allocator<CompatF8>>::AllocatedMemory: Freeze,
impl<'a, Alloc> RefUnwindSafe for PriorEval<'a, Alloc>where
<Alloc as Allocator<u32>>::AllocatedMemory: RefUnwindSafe,
<Alloc as Allocator<Compat16x16>>::AllocatedMemory: RefUnwindSafe,
<Alloc as Allocator<CompatF8>>::AllocatedMemory: RefUnwindSafe,
impl<'a, Alloc> Send for PriorEval<'a, Alloc>where
<Alloc as Allocator<u32>>::AllocatedMemory: Send,
<Alloc as Allocator<Compat16x16>>::AllocatedMemory: Send,
<Alloc as Allocator<CompatF8>>::AllocatedMemory: Send,
impl<'a, Alloc> Sync for PriorEval<'a, Alloc>where
<Alloc as Allocator<u32>>::AllocatedMemory: Sync,
<Alloc as Allocator<Compat16x16>>::AllocatedMemory: Sync,
<Alloc as Allocator<CompatF8>>::AllocatedMemory: Sync,
impl<'a, Alloc> Unpin for PriorEval<'a, Alloc>where
<Alloc as Allocator<u32>>::AllocatedMemory: Unpin,
<Alloc as Allocator<Compat16x16>>::AllocatedMemory: Unpin,
<Alloc as Allocator<CompatF8>>::AllocatedMemory: Unpin,
impl<'a, Alloc> !UnwindSafe for PriorEval<'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