optionallys et
(&mut self, posterize_bits: u8)
| 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; |
no test coverage detected