MCPcopy Create free account
hub / github.com/ImageOptim/libimagequant / init_posterize_bits

Method init_posterize_bits

src/hist.rs:236–248  ·  view source on GitHub ↗

optionallys et

(&mut self, posterize_bits: u8)

Source from the content-addressed store, hash-verified

234
235 /// optionallys et
236 fn init_posterize_bits(&mut self, posterize_bits: u8) {
237 if self.posterize_bits >= posterize_bits {
238 return;
239 }
240 self.posterize_bits = posterize_bits;
241 let new_posterize_mask = self.posterize_mask();
242
243 let new_size = (self.hashmap.len() / 3).max(self.hashmap.capacity() / 5);
244 let old_hashmap = std::mem::replace(&mut self.hashmap, HashMap::with_capacity_and_hasher(new_size, U32Hasher(0)));
245 self.hashmap.extend(old_hashmap.into_iter().map(move |(k, v)| {
246 (k & new_posterize_mask, v)
247 }));
248 }
249
250 pub(crate) fn add_pixel_rows(&mut self, image: &DynamicRows<'_, '_>, importance_map: Option<&[u8]>, posterize_bits: u8) -> Result<(), Error> {
251 let width = image.width as usize;

Callers 1

add_pixel_rowsMethod · 0.80

Calls 4

U32HasherClass · 0.85
posterize_maskMethod · 0.80
into_iterMethod · 0.80
lenMethod · 0.45

Tested by

no test coverage detected