From 3b1fbcf2aedb809793a49d21ee5bb62ffafa3739 Mon Sep 17 00:00:00 2001 From: Jonathan Behrens Date: Sun, 18 Feb 2024 15:09:12 -0800 Subject: [PATCH] Switch to image-webp (#2148) --- .github/workflows/rust.yml | 8 +- Cargo.toml | 5 +- fuzz-afl/fuzzers/fuzz_webp.rs | 4 +- fuzz-afl/reproducers/reproduce_webp.rs | 4 +- src/codecs/webp/decoder.rs | 369 +-- src/codecs/webp/encoder.rs | 597 +--- src/codecs/webp/extended.rs | 860 ----- src/codecs/webp/huffman.rs | 202 -- src/codecs/webp/loop_filter.rs | 147 - src/codecs/webp/lossless.rs | 783 ----- src/codecs/webp/lossless_transform.rs | 464 --- src/codecs/webp/mod.rs | 14 +- src/codecs/webp/transform.rs | 77 - src/codecs/webp/vp8.rs | 2917 ----------------- ..._rgba_but_frames_are_rgb.webp.936cb4e4.png | Bin 0 -> 59392 bytes .../extended_images/anim.webp.baaea4f2.png | Bin 0 -> 9380 bytes .../extended_images/anim.webp.f6449d24.png | Bin 7508 -> 0 bytes .../lossy_alpha.webp.37efcff9.png | Bin 6786 -> 0 bytes .../lossy_alpha.webp.73837b57.png | Bin 0 -> 6424 bytes .../lossless_images/2-color.webp.1c59922a.png | Bin 0 -> 5098 bytes .../lossless_images/2-color.webp.d5b9a8bd.png | Bin 1879 -> 0 bytes .../multi-color.webp.aeee944f.png | Bin 0 -> 200104 bytes .../multi-color.webp.d98bd812.png | Bin 231300 -> 0 bytes .../lossless_images/simple.webp.18d31ac3.png | Bin 111428 -> 0 bytes .../lossless_images/simple.webp.3d047de8.png | Bin 0 -> 93022 bytes .../simple-gray.webp.6b294f50.png | Bin 7471 -> 0 bytes .../simple-gray.webp.f7c5ebfe.png | Bin 0 -> 13548 bytes .../lossy_images/simple-rgb.webp.4bb22be5.png | Bin 9879 -> 0 bytes .../lossy_images/simple-rgb.webp.86dd9540.png | Bin 0 -> 9742 bytes 29 files changed, 119 insertions(+), 6332 deletions(-) delete mode 100644 src/codecs/webp/extended.rs delete mode 100644 src/codecs/webp/huffman.rs delete mode 100644 src/codecs/webp/loop_filter.rs delete mode 100644 src/codecs/webp/lossless.rs delete mode 100644 src/codecs/webp/lossless_transform.rs delete mode 100644 src/codecs/webp/transform.rs delete mode 100644 src/codecs/webp/vp8.rs create mode 100644 tests/reference/webp/extended_images/advertises_rgba_but_frames_are_rgb.webp.936cb4e4.png create mode 100644 tests/reference/webp/extended_images/anim.webp.baaea4f2.png delete mode 100644 tests/reference/webp/extended_images/anim.webp.f6449d24.png delete mode 100644 tests/reference/webp/extended_images/lossy_alpha.webp.37efcff9.png create mode 100644 tests/reference/webp/extended_images/lossy_alpha.webp.73837b57.png create mode 100644 tests/reference/webp/lossless_images/2-color.webp.1c59922a.png delete mode 100644 tests/reference/webp/lossless_images/2-color.webp.d5b9a8bd.png create mode 100644 tests/reference/webp/lossless_images/multi-color.webp.aeee944f.png delete mode 100644 tests/reference/webp/lossless_images/multi-color.webp.d98bd812.png delete mode 100644 tests/reference/webp/lossless_images/simple.webp.18d31ac3.png create mode 100644 tests/reference/webp/lossless_images/simple.webp.3d047de8.png delete mode 100644 tests/reference/webp/lossy_images/simple-gray.webp.6b294f50.png create mode 100644 tests/reference/webp/lossy_images/simple-gray.webp.f7c5ebfe.png delete mode 100644 tests/reference/webp/lossy_images/simple-rgb.webp.4bb22be5.png create mode 100644 tests/reference/webp/lossy_images/simple-rgb.webp.86dd9540.png diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 57f852765c..6d69841791 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -38,14 +38,14 @@ jobs: strategy: fail-fast: false matrix: - rust: ["1.63.0", nightly, beta] + rust: ["1.67.1", nightly, beta] steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@nightly - if: ${{ matrix.rust == '1.63.0' }} + if: ${{ matrix.rust == '1.67.1' }} - name: Generate Cargo.lock with minimal-version dependencies - if: ${{ matrix.rust == '1.63.0' }} + if: ${{ matrix.rust == '1.67.1' }} run: cargo -Zminimal-versions generate-lockfile - uses: dtolnay/rust-toolchain@v1 @@ -58,7 +58,7 @@ jobs: - name: build run: cargo build -v - name: test - if: ${{ matrix.rust != '1.63.0' }} + if: ${{ matrix.rust != '1.67.1' }} run: cargo test -v && cargo doc -v test_other_archs: diff --git a/Cargo.toml b/Cargo.toml index 652a0eeff2..6553ec9747 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" resolver = "2" # note: when changed, also update test runner in `.github/workflows/rust.yml` -rust-version = "1.63.0" +rust-version = "1.67.1" license = "MIT OR Apache-2.0" description = "Imaging library. Provides basic image processing and encoders/decoders for common image formats." @@ -45,6 +45,7 @@ dav1d = { version = "0.10.2", optional = true } dcv-color-primitives = { version = "0.6.1", optional = true } exr = { version = "1.5.0", optional = true } gif = { version = "0.13", optional = true } +image-webp = { version = "0.1.0", optional = true } mp4parse = { version = "0.17.0", optional = true } png = { version = "0.17.6", optional = true } qoi = { version = "0.4", optional = true } @@ -84,7 +85,7 @@ pnm = [] qoi = ["dep:qoi"] tga = [] tiff = ["dep:tiff"] -webp = [] +webp = ["dep:image-webp"] # Other features rayon = ["dep:rayon"] # Enables multi-threading diff --git a/fuzz-afl/fuzzers/fuzz_webp.rs b/fuzz-afl/fuzzers/fuzz_webp.rs index 98e0437d32..ee51dd3920 100644 --- a/fuzz-afl/fuzzers/fuzz_webp.rs +++ b/fuzz-afl/fuzzers/fuzz_webp.rs @@ -1,12 +1,14 @@ extern crate afl; extern crate image; +use std::io::Cursor; + use image::{DynamicImage, ImageDecoder}; use image::error::{ImageError, ImageResult, LimitError, LimitErrorKind}; #[inline(always)] fn webp_decode(data: &[u8]) -> ImageResult { - let decoder = image::codecs::webp::WebPDecoder::new(data)?; + let decoder = image::codecs::webp::WebPDecoder::new(Cursor::new(data))?; let (width, height) = decoder.dimensions(); if width.saturating_mul(height) > 4_000_000 { diff --git a/fuzz-afl/reproducers/reproduce_webp.rs b/fuzz-afl/reproducers/reproduce_webp.rs index 99c860dd10..93a87f717f 100644 --- a/fuzz-afl/reproducers/reproduce_webp.rs +++ b/fuzz-afl/reproducers/reproduce_webp.rs @@ -1,5 +1,7 @@ extern crate image; +use std::io::Cursor; + use image::{DynamicImage, ImageDecoder}; use image::error::{ImageError, ImageResult, LimitError, LimitErrorKind}; @@ -7,7 +9,7 @@ mod utils; #[inline(always)] fn webp_decode(data: &[u8]) -> ImageResult { - let decoder = image::codecs::webp::WebPDecoder::new(data)?; + let decoder = image::codecs::webp::WebPDecoder::new(Cursor::new(data))?; let (width, height) = decoder.dimensions(); if width.saturating_mul(height) > 4_000_000 { diff --git a/src/codecs/webp/decoder.rs b/src/codecs/webp/decoder.rs index 3054fefae8..3bacdc6379 100644 --- a/src/codecs/webp/decoder.rs +++ b/src/codecs/webp/decoder.rs @@ -1,322 +1,57 @@ -use byteorder::{LittleEndian, ReadBytesExt}; use std::convert::TryFrom; -use std::io::{self, Cursor, Error, Read}; -use std::{error, fmt}; +use std::io::{Read, Seek}; -use crate::error::{DecodingError, ImageError, ImageResult, ParameterError, ParameterErrorKind}; +use crate::buffer::ConvertBuffer; +use crate::error::{DecodingError, ImageError, ImageResult}; use crate::image::{ImageDecoder, ImageFormat}; -use crate::{color, AnimationDecoder, Frames, Rgba}; - -use super::lossless::{LosslessDecoder, LosslessFrame}; -use super::vp8::{Frame as VP8Frame, Vp8Decoder}; - -use super::extended::{read_extended_header, ExtendedImage}; - -/// All errors that can occur when attempting to parse a WEBP container -#[derive(Debug, Clone, Copy)] -#[allow(clippy::enum_variant_names)] -pub(crate) enum DecoderError { - /// RIFF's "RIFF" signature not found or invalid - RiffSignatureInvalid([u8; 4]), - /// WebP's "WEBP" signature not found or invalid - WebpSignatureInvalid([u8; 4]), - /// Chunk Header was incorrect or invalid in its usage - ChunkHeaderInvalid([u8; 4]), -} - -impl fmt::Display for DecoderError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - struct SignatureWriter([u8; 4]); - impl fmt::Display for SignatureWriter { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!( - f, - "[{:#04X?}, {:#04X?}, {:#04X?}, {:#04X?}]", - self.0[0], self.0[1], self.0[2], self.0[3] - ) - } - } - - match self { - DecoderError::RiffSignatureInvalid(riff) => f.write_fmt(format_args!( - "Invalid RIFF signature: {}", - SignatureWriter(*riff) - )), - DecoderError::WebpSignatureInvalid(webp) => f.write_fmt(format_args!( - "Invalid WebP signature: {}", - SignatureWriter(*webp) - )), - DecoderError::ChunkHeaderInvalid(header) => f.write_fmt(format_args!( - "Invalid Chunk header: {}", - SignatureWriter(*header) - )), - } - } -} - -impl From for ImageError { - fn from(e: DecoderError) -> ImageError { - ImageError::Decoding(DecodingError::new(ImageFormat::WebP.into(), e)) - } -} - -impl error::Error for DecoderError {} - -/// All possible RIFF chunks in a WebP image file -#[allow(clippy::upper_case_acronyms)] -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) enum WebPRiffChunk { - RIFF, - WEBP, - VP8, - VP8L, - VP8X, - ANIM, - ANMF, - ALPH, - ICCP, - EXIF, - XMP, -} - -impl WebPRiffChunk { - pub(crate) fn from_fourcc(chunk_fourcc: [u8; 4]) -> ImageResult { - match &chunk_fourcc { - b"RIFF" => Ok(Self::RIFF), - b"WEBP" => Ok(Self::WEBP), - b"VP8 " => Ok(Self::VP8), - b"VP8L" => Ok(Self::VP8L), - b"VP8X" => Ok(Self::VP8X), - b"ANIM" => Ok(Self::ANIM), - b"ANMF" => Ok(Self::ANMF), - b"ALPH" => Ok(Self::ALPH), - b"ICCP" => Ok(Self::ICCP), - b"EXIF" => Ok(Self::EXIF), - b"XMP " => Ok(Self::XMP), - _ => Err(DecoderError::ChunkHeaderInvalid(chunk_fourcc).into()), - } - } - - pub(crate) fn to_fourcc(self) -> [u8; 4] { - match self { - Self::RIFF => *b"RIFF", - Self::WEBP => *b"WEBP", - Self::VP8 => *b"VP8 ", - Self::VP8L => *b"VP8L", - Self::VP8X => *b"VP8X", - Self::ANIM => *b"ANIM", - Self::ANMF => *b"ANMF", - Self::ALPH => *b"ALPH", - Self::ICCP => *b"ICCP", - Self::EXIF => *b"EXIF", - Self::XMP => *b"XMP ", - } - } -} - -enum WebPImage { - Lossy(VP8Frame), - Lossless(LosslessFrame), - Extended(ExtendedImage), -} +use crate::{AnimationDecoder, ColorType, Delay, Frame, Frames, RgbImage, Rgba, RgbaImage}; /// WebP Image format decoder. Currently only supports lossy RGB images or lossless RGBA images. pub struct WebPDecoder { - r: R, - image: WebPImage, + inner: image_webp::WebPDecoder, } -impl WebPDecoder { +impl WebPDecoder { /// Create a new WebPDecoder from the Reader ```r```. /// This function takes ownership of the Reader. - pub fn new(r: R) -> ImageResult> { - let image = WebPImage::Lossy(Default::default()); - - let mut decoder = WebPDecoder { r, image }; - decoder.read_data()?; - Ok(decoder) - } - - //reads the 12 bytes of the WebP file header - fn read_riff_header(&mut self) -> ImageResult { - let mut riff = [0; 4]; - self.r.read_exact(&mut riff)?; - if &riff != b"RIFF" { - return Err(DecoderError::RiffSignatureInvalid(riff).into()); - } - - let size = self.r.read_u32::()?; - - let mut webp = [0; 4]; - self.r.read_exact(&mut webp)?; - if &webp != b"WEBP" { - return Err(DecoderError::WebpSignatureInvalid(webp).into()); - } - - Ok(size) - } - - //reads the chunk header, decodes the frame and returns the inner decoder - fn read_frame(&mut self) -> ImageResult { - let chunk = read_chunk(&mut self.r)?; - - match chunk { - Some((cursor, WebPRiffChunk::VP8)) => { - let mut vp8_decoder = Vp8Decoder::new(cursor); - let frame = vp8_decoder.decode_frame()?; - - Ok(WebPImage::Lossy(frame.clone())) - } - Some((cursor, WebPRiffChunk::VP8L)) => { - let mut lossless_decoder = LosslessDecoder::new(cursor); - let frame = lossless_decoder.decode_frame()?; - - Ok(WebPImage::Lossless(frame.clone())) - } - Some((mut cursor, WebPRiffChunk::VP8X)) => { - let info = read_extended_header(&mut cursor)?; - - let image = ExtendedImage::read_extended_chunks(&mut self.r, info)?; - - Ok(WebPImage::Extended(image)) - } - None => Err(ImageError::IoError(Error::from( - io::ErrorKind::UnexpectedEof, - ))), - Some((_, chunk)) => Err(DecoderError::ChunkHeaderInvalid(chunk.to_fourcc()).into()), - } - } - - fn read_data(&mut self) -> ImageResult<()> { - let _size = self.read_riff_header()?; - - let image = self.read_frame()?; - - self.image = image; - - Ok(()) + pub fn new(r: R) -> ImageResult { + Ok(Self { + inner: image_webp::WebPDecoder::new(r).map_err(ImageError::from_webp_decode)?, + }) } /// Returns true if the image as described by the bitstream is animated. pub fn has_animation(&self) -> bool { - match &self.image { - WebPImage::Lossy(_) => false, - WebPImage::Lossless(_) => false, - WebPImage::Extended(extended) => extended.has_animation(), - } + self.inner.is_animated() } /// Sets the background color if the image is an extended and animated webp. pub fn set_background_color(&mut self, color: Rgba) -> ImageResult<()> { - match &mut self.image { - WebPImage::Extended(image) => image.set_background_color(color), - _ => Err(ImageError::Parameter(ParameterError::from_kind( - ParameterErrorKind::Generic( - "Background color can only be set on animated webp".to_owned(), - ), - ))), - } - } -} - -pub(crate) fn read_len_cursor(r: &mut R) -> ImageResult>> -where - R: Read, -{ - let unpadded_len = u64::from(r.read_u32::()?); - - // RIFF chunks containing an uneven number of bytes append - // an extra 0x00 at the end of the chunk - // - // The addition cannot overflow since we have a u64 that was created from a u32 - let len = unpadded_len + (unpadded_len % 2); - - let mut framedata = Vec::new(); - r.by_ref().take(len).read_to_end(&mut framedata)?; - - //remove padding byte - if unpadded_len % 2 == 1 { - framedata.pop(); - } - - Ok(io::Cursor::new(framedata)) -} - -/// Reads a chunk header FourCC -/// Returns None if and only if we hit end of file reading the four character code of the chunk -/// The inner error is `Err` if and only if the chunk header FourCC is present but unknown -pub(crate) fn read_fourcc(r: &mut R) -> ImageResult>> { - let mut chunk_fourcc = [0; 4]; - let result = r.read_exact(&mut chunk_fourcc); - - match result { - Ok(()) => {} - Err(err) => { - if err.kind() == io::ErrorKind::UnexpectedEof { - return Ok(None); - } else { - return Err(err.into()); - } - } - } - - let chunk = WebPRiffChunk::from_fourcc(chunk_fourcc); - Ok(Some(chunk)) -} - -/// Reads a chunk -/// Returns an error if the chunk header is not a valid webp header or some other reading error -/// Returns None if and only if we hit end of file reading the four character code of the chunk -pub(crate) fn read_chunk(r: &mut R) -> ImageResult>, WebPRiffChunk)>> -where - R: Read, -{ - if let Some(chunk) = read_fourcc(r)? { - let chunk = chunk?; - let cursor = read_len_cursor(r)?; - Ok(Some((cursor, chunk))) - } else { - Ok(None) + self.inner + .set_background_color(color.0) + .map_err(ImageError::from_webp_decode) } } -impl ImageDecoder for WebPDecoder { +impl ImageDecoder for WebPDecoder { fn dimensions(&self) -> (u32, u32) { - match &self.image { - WebPImage::Lossy(vp8_frame) => { - (u32::from(vp8_frame.width), u32::from(vp8_frame.height)) - } - WebPImage::Lossless(lossless_frame) => ( - u32::from(lossless_frame.width), - u32::from(lossless_frame.height), - ), - WebPImage::Extended(extended) => extended.dimensions(), - } + self.inner.dimensions() } - fn color_type(&self) -> color::ColorType { - match &self.image { - WebPImage::Lossy(_) => color::ColorType::Rgb8, - WebPImage::Lossless(_) => color::ColorType::Rgba8, - WebPImage::Extended(extended) => extended.color_type(), + fn color_type(&self) -> ColorType { + if self.inner.has_alpha() { + ColorType::Rgba8 + } else { + ColorType::Rgb8 } } - fn read_image(self, buf: &mut [u8]) -> ImageResult<()> { + fn read_image(mut self, buf: &mut [u8]) -> ImageResult<()> { assert_eq!(u64::try_from(buf.len()), Ok(self.total_bytes())); - match &self.image { - WebPImage::Lossy(vp8_frame) => { - vp8_frame.fill_rgb(buf); - } - WebPImage::Lossless(lossless_frame) => { - lossless_frame.fill_rgba(buf); - } - WebPImage::Extended(extended) => { - extended.fill_buf(buf); - } - } - Ok(()) + self.inner + .read_image(buf) + .map_err(ImageError::from_webp_decode) } fn read_image_boxed(self: Box, buf: &mut [u8]) -> ImageResult<()> { @@ -324,21 +59,55 @@ impl ImageDecoder for WebPDecoder { } fn icc_profile(&mut self) -> ImageResult>> { - if let WebPImage::Extended(extended) = &self.image { - Ok(extended.icc_profile()) - } else { - Ok(None) - } + self.inner + .icc_profile() + .map_err(ImageError::from_webp_decode) } } -impl<'a, R: 'a + Read> AnimationDecoder<'a> for WebPDecoder { +impl<'a, R: 'a + Read + Seek> AnimationDecoder<'a> for WebPDecoder { fn into_frames(self) -> Frames<'a> { - match self.image { - WebPImage::Lossy(_) | WebPImage::Lossless(_) => { - Frames::new(Box::new(std::iter::empty())) + struct FramesInner { + decoder: WebPDecoder, + } + impl Iterator for FramesInner { + type Item = ImageResult; + + fn next(&mut self) -> Option { + let (width, height) = self.decoder.inner.dimensions(); + + let (img, delay) = if self.decoder.inner.has_alpha() { + let mut img = RgbaImage::new(width, height); + match self.decoder.inner.read_frame(&mut img) { + Ok(delay) => (img, delay), + Err(e) => return Some(Err(ImageError::from_webp_decode(e))), + } + } else { + let mut img = RgbImage::new(width, height); + match self.decoder.inner.read_frame(&mut img) { + Ok(delay) => (img.convert(), delay), + Err(e) => return Some(Err(ImageError::from_webp_decode(e))), + } + }; + + Some(Ok(Frame::from_parts( + img, + 0, + 0, + Delay::from_numer_denom_ms(delay, 1), + ))) } - WebPImage::Extended(extended_image) => extended_image.into_frames(), + } + + Frames::new(Box::new(FramesInner { decoder: self })) + } +} + +impl ImageError { + fn from_webp_decode(e: image_webp::DecodingError) -> Self { + match e { + image_webp::DecodingError::IoError(e) => ImageError::IoError(e), + _ => ImageError::Decoding(DecodingError::new(ImageFormat::WebP.into(), e)), } } } diff --git a/src/codecs/webp/encoder.rs b/src/codecs/webp/encoder.rs index 5559a9755d..9d3b2acb2d 100644 --- a/src/codecs/webp/encoder.rs +++ b/src/codecs/webp/encoder.rs @@ -1,24 +1,15 @@ //! Encoding of WebP images. -use std::collections::BinaryHeap; -/// -/// Uses the simple encoding API from the [libwebp] library. -/// -/// [libwebp]: https://developers.google.com/speed/webp/docs/api#simple_encoding_api -use std::io::{self, Write}; -use std::iter::FromIterator; -use std::slice::ChunksExact; -use crate::error::{ParameterError, ParameterErrorKind, UnsupportedError, UnsupportedErrorKind}; -use crate::flat::SampleLayout; -use crate::{ColorType, ImageEncoder, ImageError, ImageFormat, ImageResult}; +use std::io::Write; + +use crate::{ + error::{EncodingError, UnsupportedError, UnsupportedErrorKind}, + ColorType, ImageEncoder, ImageError, ImageFormat, ImageResult, +}; /// WebP Encoder. pub struct WebPEncoder { - writer: W, - - chunk_buffer: Vec, - buffer: u64, - nbits: u8, + inner: image_webp::WebPEncoder, } impl WebPEncoder { @@ -27,552 +18,8 @@ impl WebPEncoder { /// Uses "VP8L" lossless encoding. pub fn new_lossless(w: W) -> Self { Self { - writer: w, - chunk_buffer: Vec::new(), - buffer: 0, - nbits: 0, - } - } - - fn write_bits(&mut self, bits: u64, nbits: u8) -> io::Result<()> { - debug_assert!(nbits <= 64); - - self.buffer |= bits << self.nbits; - self.nbits += nbits; - - if self.nbits >= 64 { - self.chunk_buffer.write_all(&self.buffer.to_le_bytes())?; - self.nbits -= 64; - self.buffer = bits.checked_shr((nbits - self.nbits) as u32).unwrap_or(0); - } - debug_assert!(self.nbits < 64); - Ok(()) - } - - fn flush(&mut self) -> io::Result<()> { - if self.nbits % 8 != 0 { - self.write_bits(0, 8 - self.nbits % 8)?; - } - if self.nbits > 0 { - self.chunk_buffer - .write_all(&self.buffer.to_le_bytes()[..self.nbits as usize / 8]) - .unwrap(); - self.buffer = 0; - self.nbits = 0; - } - Ok(()) - } - - fn write_single_entry_huffman_tree(&mut self, symbol: u8) -> io::Result<()> { - self.write_bits(1, 2)?; - if symbol <= 1 { - self.write_bits(0, 1)?; - self.write_bits(symbol as u64, 1)?; - } else { - self.write_bits(1, 1)?; - self.write_bits(symbol as u64, 8)?; - } - Ok(()) - } - - fn build_huffman_tree( - &mut self, - frequencies: &[u32], - lengths: &mut [u8], - codes: &mut [u16], - length_limit: u8, - ) -> bool { - assert_eq!(frequencies.len(), lengths.len()); - assert_eq!(frequencies.len(), codes.len()); - - if frequencies.iter().filter(|&&f| f > 0).count() <= 1 { - lengths.fill(0); - codes.fill(0); - return false; - } - - #[derive(Eq, PartialEq, Copy, Clone, Debug)] - struct Item(u32, u16); - impl Ord for Item { - fn cmp(&self, other: &Self) -> std::cmp::Ordering { - other.0.cmp(&self.0) - } - } - impl PartialOrd for Item { - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } - } - - // Build a huffman tree - let mut internal_nodes = Vec::new(); - let mut nodes = BinaryHeap::from_iter( - frequencies - .iter() - .enumerate() - .filter(|(_, &frequency)| frequency > 0) - .map(|(i, &frequency)| Item(frequency, i as u16)), - ); - while nodes.len() > 1 { - let Item(frequency1, index1) = nodes.pop().unwrap(); - let mut root = nodes.peek_mut().unwrap(); - internal_nodes.push((index1, root.1)); - *root = Item( - frequency1 + root.0, - internal_nodes.len() as u16 + frequencies.len() as u16 - 1, - ); - } - - // Walk the tree to assign code lengths - lengths.fill(0); - let mut stack = Vec::new(); - stack.push((nodes.pop().unwrap().1, 0)); - while let Some((node, depth)) = stack.pop() { - let node = node as usize; - if node < frequencies.len() { - lengths[node] = depth as u8; - } else { - let (left, right) = internal_nodes[node - frequencies.len()]; - stack.push((left, depth + 1)); - stack.push((right, depth + 1)); - } - } - - // Limit the codes to length length_limit - let mut max_length = 0; - for &length in lengths.iter() { - max_length = max_length.max(length); - } - if max_length > length_limit { - let mut counts = [0u32; 16]; - for &length in lengths.iter() { - counts[length.min(length_limit) as usize] += 1; - } - - let mut total = 0; - for (i, count) in counts - .iter() - .enumerate() - .skip(1) - .take(length_limit as usize) - { - total += count << (length_limit as usize - i); - } - - while total > 1u32 << length_limit { - let mut i = length_limit as usize - 1; - while counts[i] == 0 { - i -= 1; - } - counts[i] -= 1; - counts[length_limit as usize] -= 1; - counts[i + 1] += 2; - total -= 1; - } - - // assign new lengths - let mut len = length_limit; - let mut indexes = frequencies.iter().copied().enumerate().collect::>(); - indexes.sort_unstable_by_key(|&(_, frequency)| frequency); - for &(i, frequency) in indexes.iter() { - if frequency > 0 { - while counts[len as usize] == 0 { - len -= 1; - } - lengths[i] = len; - counts[len as usize] -= 1; - } - } - } - - // Assign codes - codes.fill(0); - let mut code = 0u32; - for len in 1..=length_limit { - for (i, &length) in lengths.iter().enumerate() { - if length == len { - codes[i] = (code as u16).reverse_bits() >> (16 - len); - code += 1; - } - } - code <<= 1; - } - assert_eq!(code, 2 << length_limit); - - true - } - - fn write_huffman_tree( - &mut self, - frequencies: &[u32], - lengths: &mut [u8], - codes: &mut [u16], - ) -> io::Result<()> { - if !self.build_huffman_tree(frequencies, lengths, codes, 15) { - let symbol = frequencies - .iter() - .position(|&frequency| frequency > 0) - .unwrap_or(0); - return self.write_single_entry_huffman_tree(symbol as u8); - } - - let mut code_length_lengths = [0u8; 16]; - let mut code_length_codes = [0u16; 16]; - let mut code_length_frequencies = [0u32; 16]; - for &length in lengths.iter() { - code_length_frequencies[length as usize] += 1; - } - let single_code_length_length = !self.build_huffman_tree( - &code_length_frequencies, - &mut code_length_lengths, - &mut code_length_codes, - 7, - ); - - const CODE_LENGTH_ORDER: [usize; 19] = [ - 17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - ]; - - // Write the huffman tree - self.write_bits(0, 1)?; // normal huffman tree - self.write_bits(19 - 4, 4)?; // num_code_lengths - 4 - - for &i in CODE_LENGTH_ORDER.iter() { - if i > 15 || code_length_frequencies[i] == 0 { - self.write_bits(0, 3)?; - } else if single_code_length_length { - self.write_bits(1, 3)?; - } else { - self.write_bits(code_length_lengths[i] as u64, 3)?; - } - } - - match lengths.len() { - 256 => { - self.write_bits(1, 1)?; // max_symbol is stored - self.write_bits(3, 3)?; // max_symbol_nbits / 2 - 2 - self.write_bits(254, 8)?; // max_symbol - 2 - } - 280 => self.write_bits(0, 1)?, - _ => unreachable!(), - } - - // Write the huffman codes - if !single_code_length_length { - for &len in lengths.iter() { - self.write_bits( - code_length_codes[len as usize] as u64, - code_length_lengths[len as usize], - )?; - } - } - - Ok(()) - } - - fn length_to_symbol(len: u16) -> (u16, u8) { - let len = len - 1; - let highest_bit = 15 - len.leading_zeros() as u16; // TODO: use ilog2 once MSRV >= 1.67 - let second_highest_bit = (len >> (highest_bit - 1)) & 1; - let extra_bits = highest_bit - 1; - let symbol = 2 * highest_bit + second_highest_bit; - (symbol, extra_bits as u8) - } - - #[inline(always)] - fn count_run( - pixel: &[u8], - it: &mut std::iter::Peekable>, - frequencies1: &mut [u32; 280], - ) { - let mut run_length = 0; - while run_length < 4096 && it.peek() == Some(&pixel) { - run_length += 1; - it.next(); - } - if run_length > 0 { - if run_length <= 4 { - let symbol = 256 + run_length - 1; - frequencies1[symbol] += 1; - } else { - let (symbol, _extra_bits) = Self::length_to_symbol(run_length as u16); - frequencies1[256 + symbol as usize] += 1; - } - } - } - - #[inline(always)] - fn write_run( - &mut self, - pixel: &[u8], - it: &mut std::iter::Peekable>, - codes1: &[u16; 280], - lengths1: &[u8; 280], - ) -> io::Result<()> { - let mut run_length = 0; - while run_length < 4096 && it.peek() == Some(&pixel) { - run_length += 1; - it.next(); - } - if run_length > 0 { - if run_length <= 4 { - let symbol = 256 + run_length - 1; - self.write_bits(codes1[symbol] as u64, lengths1[symbol])?; - } else { - let (symbol, extra_bits) = Self::length_to_symbol(run_length as u16); - self.write_bits( - codes1[256 + symbol as usize] as u64, - lengths1[256 + symbol as usize], - )?; - self.write_bits( - (run_length as u64 - 1) & ((1 << extra_bits) - 1), - extra_bits, - )?; - } - } - Ok(()) - } - - fn encode_lossless( - mut self, - data: &[u8], - width: u32, - height: u32, - color: ColorType, - ) -> ImageResult<()> { - if width == 0 - || width > 16384 - || height == 0 - || height > 16384 - || !SampleLayout::row_major_packed(color.channel_count(), width, height) - .fits(data.len()) - { - return Err(ImageError::Parameter(ParameterError::from_kind( - ParameterErrorKind::DimensionMismatch, - ))); - } - - let (is_color, is_alpha) = match color { - ColorType::L8 => (false, false), - ColorType::La8 => (false, true), - ColorType::Rgb8 => (true, false), - ColorType::Rgba8 => (true, true), - _ => { - return Err(ImageError::Unsupported( - UnsupportedError::from_format_and_kind( - ImageFormat::WebP.into(), - UnsupportedErrorKind::Color(color.into()), - ), - )) - } - }; - - self.write_bits(0x2f, 8)?; // signature - self.write_bits(width as u64 - 1, 14)?; - self.write_bits(height as u64 - 1, 14)?; - - self.write_bits(is_alpha as u64, 1)?; // alpha used - self.write_bits(0x0, 3)?; // version - - // subtract green transform - self.write_bits(0b101, 3)?; - - // predictor transform - self.write_bits(0b111001, 6)?; - self.write_bits(0x0, 1)?; // no color cache - self.write_single_entry_huffman_tree(2)?; - for _ in 0..4 { - self.write_single_entry_huffman_tree(0)?; - } - - // transforms done - self.write_bits(0x0, 1)?; - - // color cache - self.write_bits(0x0, 1)?; - - // meta-huffman codes - self.write_bits(0x0, 1)?; - - // expand to RGBA - let mut pixels = match color { - ColorType::L8 => data.iter().flat_map(|&p| [p, p, p, 255]).collect(), - ColorType::La8 => data - .chunks_exact(2) - .flat_map(|p| [p[0], p[0], p[0], p[1]]) - .collect(), - ColorType::Rgb8 => data - .chunks_exact(3) - .flat_map(|p| [p[0], p[1], p[2], 255]) - .collect(), - ColorType::Rgba8 => data.to_vec(), - _ => unreachable!(), - }; - - // compute subtract green transform - for pixel in pixels.chunks_exact_mut(4) { - pixel[0] = pixel[0].wrapping_sub(pixel[1]); - pixel[2] = pixel[2].wrapping_sub(pixel[1]); - } - - // compute predictor transform - let row_bytes = width as usize * 4; - for y in (1..height as usize).rev() { - let (prev, current) = - pixels[(y - 1) * row_bytes..][..row_bytes * 2].split_at_mut(row_bytes); - for (c, p) in current.iter_mut().zip(prev) { - *c = c.wrapping_sub(*p); - } - } - for i in (4..row_bytes).rev() { - pixels[i] = pixels[i].wrapping_sub(pixels[i - 4]); - } - pixels[3] = pixels[3].wrapping_sub(255); - - // compute frequencies - let mut frequencies0 = [0u32; 256]; - let mut frequencies1 = [0u32; 280]; - let mut frequencies2 = [0u32; 256]; - let mut frequencies3 = [0u32; 256]; - let mut it = pixels.chunks_exact(4).peekable(); - match color { - ColorType::L8 => { - frequencies0[0] = 1; - frequencies2[0] = 1; - frequencies3[0] = 1; - while let Some(pixel) = it.next() { - frequencies1[pixel[1] as usize] += 1; - Self::count_run(pixel, &mut it, &mut frequencies1); - } - } - ColorType::La8 => { - frequencies0[0] = 1; - frequencies2[0] = 1; - while let Some(pixel) = it.next() { - frequencies1[pixel[1] as usize] += 1; - frequencies3[pixel[3] as usize] += 1; - Self::count_run(pixel, &mut it, &mut frequencies1); - } - } - ColorType::Rgb8 => { - frequencies3[0] = 1; - while let Some(pixel) = it.next() { - frequencies0[pixel[0] as usize] += 1; - frequencies1[pixel[1] as usize] += 1; - frequencies2[pixel[2] as usize] += 1; - Self::count_run(pixel, &mut it, &mut frequencies1); - } - } - ColorType::Rgba8 => { - while let Some(pixel) = it.next() { - frequencies0[pixel[0] as usize] += 1; - frequencies1[pixel[1] as usize] += 1; - frequencies2[pixel[2] as usize] += 1; - frequencies3[pixel[3] as usize] += 1; - Self::count_run(pixel, &mut it, &mut frequencies1); - } - } - _ => unreachable!(), - } - - // compute and write huffman codes - let mut lengths0 = [0u8; 256]; - let mut lengths1 = [0u8; 280]; - let mut lengths2 = [0u8; 256]; - let mut lengths3 = [0u8; 256]; - let mut codes0 = [0u16; 256]; - let mut codes1 = [0u16; 280]; - let mut codes2 = [0u16; 256]; - let mut codes3 = [0u16; 256]; - self.write_huffman_tree(&frequencies1, &mut lengths1, &mut codes1)?; - if is_color { - self.write_huffman_tree(&frequencies0, &mut lengths0, &mut codes0)?; - self.write_huffman_tree(&frequencies2, &mut lengths2, &mut codes2)?; - } else { - self.write_single_entry_huffman_tree(0)?; - self.write_single_entry_huffman_tree(0)?; - } - if is_alpha { - self.write_huffman_tree(&frequencies3, &mut lengths3, &mut codes3)?; - } else { - self.write_single_entry_huffman_tree(0)?; - } - self.write_single_entry_huffman_tree(1)?; - - // Write image data - let mut it = pixels.chunks_exact(4).peekable(); - match color { - ColorType::L8 => { - while let Some(pixel) = it.next() { - self.write_bits( - codes1[pixel[1] as usize] as u64, - lengths1[pixel[1] as usize], - )?; - self.write_run(pixel, &mut it, &codes1, &lengths1)?; - } - } - ColorType::La8 => { - while let Some(pixel) = it.next() { - let len1 = lengths1[pixel[1] as usize]; - let len3 = lengths3[pixel[3] as usize]; - - let code = codes1[pixel[1] as usize] as u64 - | (codes3[pixel[3] as usize] as u64) << len1; - - self.write_bits(code, len1 + len3)?; - self.write_run(pixel, &mut it, &codes1, &lengths1)?; - } - } - ColorType::Rgb8 => { - while let Some(pixel) = it.next() { - let len1 = lengths1[pixel[1] as usize]; - let len0 = lengths0[pixel[0] as usize]; - let len2 = lengths2[pixel[2] as usize]; - - let code = codes1[pixel[1] as usize] as u64 - | (codes0[pixel[0] as usize] as u64) << len1 - | (codes2[pixel[2] as usize] as u64) << (len1 + len0); - - self.write_bits(code, len1 + len0 + len2)?; - self.write_run(pixel, &mut it, &codes1, &lengths1)?; - } - } - ColorType::Rgba8 => { - while let Some(pixel) = it.next() { - let len1 = lengths1[pixel[1] as usize]; - let len0 = lengths0[pixel[0] as usize]; - let len2 = lengths2[pixel[2] as usize]; - let len3 = lengths3[pixel[3] as usize]; - - let code = codes1[pixel[1] as usize] as u64 - | (codes0[pixel[0] as usize] as u64) << len1 - | (codes2[pixel[2] as usize] as u64) << (len1 + len0) - | (codes3[pixel[3] as usize] as u64) << (len1 + len0 + len2); - - self.write_bits(code, len1 + len0 + len2 + len3)?; - self.write_run(pixel, &mut it, &codes1, &lengths1)?; - } - } - _ => unreachable!(), + inner: image_webp::WebPEncoder::new(w), } - - // flush writer - self.flush()?; - if self.chunk_buffer.len() % 2 == 1 { - self.chunk_buffer.push(0); - } - - // write container - self.writer.write_all(b"RIFF")?; - self.writer - .write_all(&(self.chunk_buffer.len() as u32 + 12).to_le_bytes())?; - self.writer.write_all(b"WEBP")?; - self.writer.write_all(b"VP8L")?; - self.writer - .write_all(&(self.chunk_buffer.len() as u32).to_le_bytes())?; - self.writer.write_all(&self.chunk_buffer)?; - - Ok(()) } /// Encode image data with the indicated color type. @@ -593,7 +40,24 @@ impl WebPEncoder { data.len(), ); - self.encode_lossless(data, width, height, color) + let color = match color { + ColorType::L8 => image_webp::ColorType::L8, + ColorType::La8 => image_webp::ColorType::La8, + ColorType::Rgb8 => image_webp::ColorType::Rgb8, + ColorType::Rgba8 => image_webp::ColorType::Rgba8, + _ => { + return Err(ImageError::Unsupported( + UnsupportedError::from_format_and_kind( + ImageFormat::WebP.into(), + UnsupportedErrorKind::Color(color.into()), + ), + )) + } + }; + + self.inner + .encode(data, width, height, color) + .map_err(ImageError::from_webp_encode) } } @@ -610,6 +74,15 @@ impl ImageEncoder for WebPEncoder { } } +impl ImageError { + fn from_webp_encode(e: image_webp::EncodingError) -> Self { + match e { + image_webp::EncodingError::IoError(e) => ImageError::IoError(e), + _ => ImageError::Encoding(EncodingError::new(ImageFormat::WebP.into(), e)), + } + } +} + #[cfg(test)] mod tests { use crate::{ImageEncoder, RgbaImage}; diff --git a/src/codecs/webp/extended.rs b/src/codecs/webp/extended.rs deleted file mode 100644 index 1c16138f77..0000000000 --- a/src/codecs/webp/extended.rs +++ /dev/null @@ -1,860 +0,0 @@ -use std::convert::TryInto; -use std::io::{self, Cursor, Error, Read, Seek}; -use std::{error, fmt}; - -use super::decoder::{ - read_chunk, read_fourcc, read_len_cursor, DecoderError::ChunkHeaderInvalid, WebPRiffChunk, -}; -use super::lossless::{LosslessDecoder, LosslessFrame}; -use super::vp8::{Frame as VP8Frame, Vp8Decoder}; -use crate::error::{DecodingError, ParameterError, ParameterErrorKind}; -use crate::image::ImageFormat; -use crate::{ - ColorType, Delay, Frame, Frames, ImageError, ImageResult, Rgb, RgbImage, Rgba, RgbaImage, -}; -use byteorder::{LittleEndian, ReadBytesExt}; - -//all errors that can occur while parsing extended chunks in a WebP file -#[derive(Debug, Clone, Copy)] -enum DecoderError { - // Some bits were invalid - InfoBitsInvalid { name: &'static str, value: u32 }, - // Alpha chunk doesn't match the frame's size - AlphaChunkSizeMismatch, - // Image is too large, either for the platform's pointer size or generally - ImageTooLarge, - // Frame would go out of the canvas - FrameOutsideImage, -} - -impl fmt::Display for DecoderError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - DecoderError::InfoBitsInvalid { name, value } => f.write_fmt(format_args!( - "Info bits `{}` invalid, received value: {}", - name, value - )), - DecoderError::AlphaChunkSizeMismatch => { - f.write_str("Alpha chunk doesn't match the size of the frame") - } - DecoderError::ImageTooLarge => f.write_str("Image is too large to be decoded"), - DecoderError::FrameOutsideImage => { - f.write_str("Frame is too large and would go outside the image") - } - } - } -} - -impl From for ImageError { - fn from(e: DecoderError) -> ImageError { - ImageError::Decoding(DecodingError::new(ImageFormat::WebP.into(), e)) - } -} - -impl error::Error for DecoderError {} - -#[derive(Debug, Clone)] -pub(crate) struct WebPExtendedInfo { - _icc_profile: bool, - _alpha: bool, - _exif_metadata: bool, - _xmp_metadata: bool, - _animation: bool, - canvas_width: u32, - canvas_height: u32, - icc_profile: Option>, -} - -#[derive(Debug)] -enum ExtendedImageData { - Animation { - frames: Vec>, - first_frame: AnimatedFrame, - anim_info: WebPAnimatedInfo, - }, - Static(WebPStatic), -} - -#[derive(Debug)] -pub(crate) struct ExtendedImage { - info: WebPExtendedInfo, - image: ExtendedImageData, -} - -impl ExtendedImage { - pub(crate) fn dimensions(&self) -> (u32, u32) { - (self.info.canvas_width, self.info.canvas_height) - } - - pub(crate) fn has_animation(&self) -> bool { - self.info._animation - } - - pub(crate) fn icc_profile(&self) -> Option> { - self.info.icc_profile.clone() - } - - pub(crate) fn color_type(&self) -> ColorType { - match &self.image { - ExtendedImageData::Animation { first_frame, .. } => &first_frame.image, - ExtendedImageData::Static(image) => image, - } - .color_type() - } - - pub(crate) fn into_frames<'a>(self) -> Frames<'a> { - struct FrameIterator { - image: ExtendedImage, - index: usize, - canvas: RgbaImage, - } - - impl Iterator for FrameIterator { - type Item = ImageResult; - - fn next(&mut self) -> Option { - if let ExtendedImageData::Animation { - frames, - anim_info, - first_frame, - } = &self.image.image - { - let anim_frame_data = frames.get(self.index)?; - let anim_frame; - let frame; - - if self.index == 0 { - // Use already decoded first frame - anim_frame = first_frame; - } else { - frame = read_anim_frame( - &mut Cursor::new(anim_frame_data), - self.image.info.canvas_width, - self.image.info.canvas_height, - ) - .ok()?; - anim_frame = &frame; - }; - - self.index += 1; - ExtendedImage::draw_subimage( - &mut self.canvas, - anim_frame, - anim_info.background_color, - ) - } else { - None - } - } - } - - let width = self.info.canvas_width; - let height = self.info.canvas_height; - let background_color = - if let ExtendedImageData::Animation { ref anim_info, .. } = self.image { - anim_info.background_color - } else { - Rgba([0, 0, 0, 0]) - }; - - let frame_iter = FrameIterator { - image: self, - index: 0, - canvas: RgbaImage::from_pixel(width, height, background_color), - }; - - Frames::new(Box::new(frame_iter)) - } - - pub(crate) fn read_extended_chunks( - reader: &mut R, - mut info: WebPExtendedInfo, - ) -> ImageResult { - let mut anim_info: Option = None; - let mut anim_frames: Vec> = Vec::new(); - let mut anim_first_frame: Option = None; - let mut static_frame: Option = None; - //go until end of file and while chunk headers are valid - while let Some((mut cursor, chunk)) = read_extended_chunk(reader)? { - match chunk { - WebPRiffChunk::EXIF | WebPRiffChunk::XMP => { - //ignore these chunks - } - WebPRiffChunk::ANIM => { - if anim_info.is_none() { - anim_info = Some(Self::read_anim_info(&mut cursor)?); - } - } - WebPRiffChunk::ANMF => { - let mut frame_data = Vec::new(); - - // Store first frame decoded to avoid decoding it for certain function calls - if anim_first_frame.is_none() { - anim_first_frame = Some(read_anim_frame( - &mut cursor, - info.canvas_width, - info.canvas_height, - )?); - - cursor.rewind().unwrap(); - } - - cursor.read_to_end(&mut frame_data)?; - anim_frames.push(frame_data); - } - WebPRiffChunk::ALPH => { - if static_frame.is_none() { - let alpha_chunk = - read_alpha_chunk(&mut cursor, info.canvas_width, info.canvas_height)?; - - let vp8_frame = read_lossy_with_chunk(reader)?; - - let img = WebPStatic::from_alpha_lossy(alpha_chunk, vp8_frame)?; - - static_frame = Some(img); - } - } - WebPRiffChunk::ICCP => { - let mut icc_profile = Vec::new(); - cursor.read_to_end(&mut icc_profile)?; - info.icc_profile = Some(icc_profile); - } - WebPRiffChunk::VP8 => { - if static_frame.is_none() { - let vp8_frame = read_lossy(cursor)?; - - let img = WebPStatic::from_lossy(vp8_frame)?; - - static_frame = Some(img); - } - } - WebPRiffChunk::VP8L => { - if static_frame.is_none() { - let mut lossless_decoder = LosslessDecoder::new(cursor); - let frame = lossless_decoder.decode_frame()?; - let image = WebPStatic::Lossless(frame.clone()); - - static_frame = Some(image); - } - } - _ => return Err(ChunkHeaderInvalid(chunk.to_fourcc()).into()), - } - } - - let image = if let (Some(anim_info), Some(first_frame)) = (anim_info, anim_first_frame) { - ExtendedImageData::Animation { - frames: anim_frames, - first_frame, - anim_info, - } - } else if let Some(frame) = static_frame { - ExtendedImageData::Static(frame) - } else { - //reached end of file too early before image data was reached - return Err(ImageError::IoError(Error::from( - io::ErrorKind::UnexpectedEof, - ))); - }; - - let image = ExtendedImage { image, info }; - - Ok(image) - } - - fn read_anim_info(reader: &mut R) -> ImageResult { - let mut colors: [u8; 4] = [0; 4]; - reader.read_exact(&mut colors)?; - - //background color is [blue, green, red, alpha] - let background_color = Rgba([colors[2], colors[1], colors[0], colors[3]]); - - let loop_count = reader.read_u16::()?; - - let info = WebPAnimatedInfo { - background_color, - _loop_count: loop_count, - }; - - Ok(info) - } - - fn draw_subimage( - canvas: &mut RgbaImage, - anim_image: &AnimatedFrame, - background_color: Rgba, - ) -> Option> { - let mut buffer = vec![0; anim_image.image.get_buf_size()]; - anim_image.image.fill_buf(&mut buffer); - let has_alpha = anim_image.image.has_alpha(); - let pixel_len: u32 = anim_image.image.color_type().bytes_per_pixel().into(); - - 'x: for x in 0..anim_image.width { - for y in 0..anim_image.height { - let canvas_index: (u32, u32) = (x + anim_image.offset_x, y + anim_image.offset_y); - // Negative offsets are not possible due to unsigned ints - // If we go out of bounds by height, still continue by x - if canvas_index.1 >= canvas.height() { - continue 'x; - } - // If we go out of bounds by width, it doesn't make sense to continue at all - if canvas_index.0 >= canvas.width() { - break 'x; - } - let index: usize = ((y * anim_image.width + x) * pixel_len).try_into().unwrap(); - canvas[canvas_index] = if anim_image.use_alpha_blending && has_alpha { - let buffer: [u8; 4] = buffer[index..][..4].try_into().unwrap(); - ExtendedImage::do_alpha_blending(buffer, canvas[canvas_index]) - } else { - Rgba([ - buffer[index], - buffer[index + 1], - buffer[index + 2], - if has_alpha { buffer[index + 3] } else { 255 }, - ]) - }; - } - } - - let delay = Delay::from_numer_denom_ms(anim_image.duration, 1); - let img = canvas.clone(); - let frame = Frame::from_parts(img, 0, 0, delay); - - if anim_image.dispose { - for x in 0..anim_image.width { - for y in 0..anim_image.height { - let canvas_index = (x + anim_image.offset_x, y + anim_image.offset_y); - canvas[canvas_index] = background_color; - } - } - } - - Some(Ok(frame)) - } - - fn do_alpha_blending(buffer: [u8; 4], canvas: Rgba) -> Rgba { - let canvas_alpha = f64::from(canvas[3]); - let buffer_alpha = f64::from(buffer[3]); - let blend_alpha_f64 = buffer_alpha + canvas_alpha * (1.0 - buffer_alpha / 255.0); - //value should be between 0 and 255, this truncates the fractional part - let blend_alpha: u8 = blend_alpha_f64 as u8; - - let blend_rgb: [u8; 3] = if blend_alpha == 0 { - [0, 0, 0] - } else { - let mut rgb = [0u8; 3]; - for i in 0..3 { - let canvas_f64 = f64::from(canvas[i]); - let buffer_f64 = f64::from(buffer[i]); - - let val = (buffer_f64 * buffer_alpha - + canvas_f64 * canvas_alpha * (1.0 - buffer_alpha / 255.0)) - / blend_alpha_f64; - //value should be between 0 and 255, this truncates the fractional part - rgb[i] = val as u8; - } - - rgb - }; - - Rgba([blend_rgb[0], blend_rgb[1], blend_rgb[2], blend_alpha]) - } - - pub(crate) fn fill_buf(&self, buf: &mut [u8]) { - match &self.image { - // will always have at least one frame - ExtendedImageData::Animation { - anim_info, - first_frame, - .. - } => { - let (canvas_width, canvas_height) = self.dimensions(); - if canvas_width == first_frame.width && canvas_height == first_frame.height { - first_frame.image.fill_buf(buf); - } else { - let bg_color = match &self.info._alpha { - true => Rgba::from([0, 0, 0, 0]), - false => anim_info.background_color, - }; - let mut canvas = RgbaImage::from_pixel(canvas_width, canvas_height, bg_color); - let _ = ExtendedImage::draw_subimage(&mut canvas, first_frame, bg_color) - .unwrap() - .unwrap(); - buf.copy_from_slice(canvas.into_raw().as_slice()); - } - } - ExtendedImageData::Static(image) => { - image.fill_buf(buf); - } - } - } - - pub(crate) fn set_background_color(&mut self, color: Rgba) -> ImageResult<()> { - match &mut self.image { - ExtendedImageData::Animation { anim_info, .. } => { - anim_info.background_color = color; - Ok(()) - } - _ => Err(ImageError::Parameter(ParameterError::from_kind( - ParameterErrorKind::Generic( - "Background color can only be set on animated webp".to_owned(), - ), - ))), - } - } -} - -#[derive(Debug)] -enum WebPStatic { - LossyWithAlpha(RgbaImage), - LossyWithoutAlpha(RgbImage), - Lossless(LosslessFrame), -} - -impl WebPStatic { - pub(crate) fn from_alpha_lossy( - alpha: AlphaChunk, - vp8_frame: VP8Frame, - ) -> ImageResult { - if alpha.data.len() != usize::from(vp8_frame.width) * usize::from(vp8_frame.height) { - return Err(DecoderError::AlphaChunkSizeMismatch.into()); - } - - let size = usize::from(vp8_frame.width).checked_mul(usize::from(vp8_frame.height) * 4); - let mut image_vec = match size { - Some(size) => vec![0u8; size], - None => return Err(DecoderError::ImageTooLarge.into()), - }; - - vp8_frame.fill_rgba(&mut image_vec); - - for y in 0..vp8_frame.height { - for x in 0..vp8_frame.width { - let predictor: u8 = WebPStatic::get_predictor( - x.into(), - y.into(), - vp8_frame.width.into(), - alpha.filtering_method, - &image_vec, - ); - let predictor = u16::from(predictor); - - let alpha_index = usize::from(y) * usize::from(vp8_frame.width) + usize::from(x); - let alpha_val = alpha.data[alpha_index]; - let alpha: u8 = ((predictor + u16::from(alpha_val)) % 256) - .try_into() - .unwrap(); - - let alpha_index = alpha_index * 4 + 3; - image_vec[alpha_index] = alpha; - } - } - - let image = RgbaImage::from_vec(vp8_frame.width.into(), vp8_frame.height.into(), image_vec) - .unwrap(); - - Ok(WebPStatic::LossyWithAlpha(image)) - } - - fn get_predictor( - x: usize, - y: usize, - width: usize, - filtering_method: FilteringMethod, - image_slice: &[u8], - ) -> u8 { - match filtering_method { - FilteringMethod::None => 0, - FilteringMethod::Horizontal => { - if x == 0 && y == 0 { - 0 - } else if x == 0 { - let index = (y - 1) * width + x; - image_slice[index * 4 + 3] - } else { - let index = y * width + x - 1; - image_slice[index * 4 + 3] - } - } - FilteringMethod::Vertical => { - if x == 0 && y == 0 { - 0 - } else if y == 0 { - let index = y * width + x - 1; - image_slice[index * 4 + 3] - } else { - let index = (y - 1) * width + x; - image_slice[index * 4 + 3] - } - } - FilteringMethod::Gradient => { - let (left, top, top_left) = match (x, y) { - (0, 0) => (0, 0, 0), - (0, y) => { - let above_index = (y - 1) * width + x; - let val = image_slice[above_index * 4 + 3]; - (val, val, val) - } - (x, 0) => { - let before_index = y * width + x - 1; - let val = image_slice[before_index * 4 + 3]; - (val, val, val) - } - (x, y) => { - let left_index = y * width + x - 1; - let left = image_slice[left_index * 4 + 3]; - let top_index = (y - 1) * width + x; - let top = image_slice[top_index * 4 + 3]; - let top_left_index = (y - 1) * width + x - 1; - let top_left = image_slice[top_left_index * 4 + 3]; - - (left, top, top_left) - } - }; - - let combination = i16::from(left) + i16::from(top) - i16::from(top_left); - i16::clamp(combination, 0, 255).try_into().unwrap() - } - } - } - - pub(crate) fn from_lossy(vp8_frame: VP8Frame) -> ImageResult { - let mut image = RgbImage::from_pixel( - vp8_frame.width.into(), - vp8_frame.height.into(), - Rgb([0, 0, 0]), - ); - - vp8_frame.fill_rgb(&mut image); - - Ok(WebPStatic::LossyWithoutAlpha(image)) - } - - pub(crate) fn fill_buf(&self, buf: &mut [u8]) { - match self { - WebPStatic::LossyWithAlpha(image) => { - buf.copy_from_slice(image); - } - WebPStatic::LossyWithoutAlpha(image) => { - buf.copy_from_slice(image); - } - WebPStatic::Lossless(lossless) => { - lossless.fill_rgba(buf); - } - } - } - - pub(crate) fn get_buf_size(&self) -> usize { - match self { - WebPStatic::LossyWithAlpha(rgb_image) => rgb_image.len(), - WebPStatic::LossyWithoutAlpha(rgba_image) => rgba_image.len(), - WebPStatic::Lossless(lossless) => lossless.get_buf_size(), - } - } - - pub(crate) fn color_type(&self) -> ColorType { - if self.has_alpha() { - ColorType::Rgba8 - } else { - ColorType::Rgb8 - } - } - - pub(crate) fn has_alpha(&self) -> bool { - match self { - Self::LossyWithAlpha(..) | Self::Lossless(..) => true, - Self::LossyWithoutAlpha(..) => false, - } - } -} - -#[derive(Debug)] -struct WebPAnimatedInfo { - background_color: Rgba, - _loop_count: u16, -} - -#[derive(Debug)] -struct AnimatedFrame { - offset_x: u32, - offset_y: u32, - width: u32, - height: u32, - duration: u32, - use_alpha_blending: bool, - dispose: bool, - image: WebPStatic, -} - -/// Reads a chunk, but silently ignores unknown chunks at the end of a file -fn read_extended_chunk(r: &mut R) -> ImageResult>, WebPRiffChunk)>> -where - R: Read, -{ - let mut unknown_chunk = Ok(()); - - while let Some(chunk) = read_fourcc(r)? { - let cursor = read_len_cursor(r)?; - match chunk { - Ok(chunk) => return unknown_chunk.and(Ok(Some((cursor, chunk)))), - Err(err) => unknown_chunk = unknown_chunk.and(Err(err)), - } - } - - Ok(None) -} - -pub(crate) fn read_extended_header(reader: &mut R) -> ImageResult { - let chunk_flags = reader.read_u8()?; - - let reserved_first = chunk_flags & 0b11000000; - let icc_profile = chunk_flags & 0b00100000 != 0; - let alpha = chunk_flags & 0b00010000 != 0; - let exif_metadata = chunk_flags & 0b00001000 != 0; - let xmp_metadata = chunk_flags & 0b00000100 != 0; - let animation = chunk_flags & 0b00000010 != 0; - let reserved_second = chunk_flags & 0b00000001; - - let reserved_third = read_3_bytes(reader)?; - - if reserved_first != 0 || reserved_second != 0 || reserved_third != 0 { - let value: u32 = if reserved_first != 0 { - reserved_first.into() - } else if reserved_second != 0 { - reserved_second.into() - } else { - reserved_third - }; - return Err(DecoderError::InfoBitsInvalid { - name: "reserved", - value, - } - .into()); - } - - let canvas_width = read_3_bytes(reader)? + 1; - let canvas_height = read_3_bytes(reader)? + 1; - - //product of canvas dimensions cannot be larger than u32 max - if u32::checked_mul(canvas_width, canvas_height).is_none() { - return Err(DecoderError::ImageTooLarge.into()); - } - - let info = WebPExtendedInfo { - _icc_profile: icc_profile, - _alpha: alpha, - _exif_metadata: exif_metadata, - _xmp_metadata: xmp_metadata, - _animation: animation, - canvas_width, - canvas_height, - icc_profile: None, - }; - - Ok(info) -} - -fn read_anim_frame( - mut reader: R, - canvas_width: u32, - canvas_height: u32, -) -> ImageResult { - //offsets for the frames are twice the values - let frame_x = read_3_bytes(&mut reader)? * 2; - let frame_y = read_3_bytes(&mut reader)? * 2; - - let frame_width = read_3_bytes(&mut reader)? + 1; - let frame_height = read_3_bytes(&mut reader)? + 1; - - if frame_x + frame_width > canvas_width || frame_y + frame_height > canvas_height { - return Err(DecoderError::FrameOutsideImage.into()); - } - - let duration = read_3_bytes(&mut reader)?; - - let frame_info = reader.read_u8()?; - let reserved = frame_info & 0b11111100; - if reserved != 0 { - return Err(DecoderError::InfoBitsInvalid { - name: "reserved", - value: reserved.into(), - } - .into()); - } - let use_alpha_blending = frame_info & 0b00000010 == 0; - let dispose = frame_info & 0b00000001 != 0; - - //read normal bitstream now - let static_image = read_image(&mut reader, frame_width, frame_height)?; - - let frame = AnimatedFrame { - offset_x: frame_x, - offset_y: frame_y, - width: frame_width, - height: frame_height, - duration, - use_alpha_blending, - dispose, - image: static_image, - }; - - Ok(frame) -} - -fn read_3_bytes(reader: &mut R) -> ImageResult { - let mut buffer: [u8; 3] = [0; 3]; - reader.read_exact(&mut buffer)?; - let value: u32 = - (u32::from(buffer[2]) << 16) | (u32::from(buffer[1]) << 8) | u32::from(buffer[0]); - Ok(value) -} - -fn read_lossy_with_chunk(reader: &mut R) -> ImageResult { - let (cursor, chunk) = - read_chunk(reader)?.ok_or_else(|| Error::from(io::ErrorKind::UnexpectedEof))?; - - if chunk != WebPRiffChunk::VP8 { - return Err(ChunkHeaderInvalid(chunk.to_fourcc()).into()); - } - - read_lossy(cursor) -} - -fn read_lossy(cursor: Cursor>) -> ImageResult { - let mut vp8_decoder = Vp8Decoder::new(cursor); - let frame = vp8_decoder.decode_frame()?; - - Ok(frame.clone()) -} - -fn read_image(reader: &mut R, width: u32, height: u32) -> ImageResult { - let chunk = read_chunk(reader)?; - - match chunk { - Some((cursor, WebPRiffChunk::VP8)) => { - let mut vp8_decoder = Vp8Decoder::new(cursor); - let frame = vp8_decoder.decode_frame()?; - - let img = WebPStatic::from_lossy(frame.clone())?; - - Ok(img) - } - Some((cursor, WebPRiffChunk::VP8L)) => { - let mut lossless_decoder = LosslessDecoder::new(cursor); - let frame = lossless_decoder.decode_frame()?; - - let img = WebPStatic::Lossless(frame.clone()); - - Ok(img) - } - Some((mut cursor, WebPRiffChunk::ALPH)) => { - let alpha_chunk = read_alpha_chunk(&mut cursor, width, height)?; - - let vp8_frame = read_lossy_with_chunk(reader)?; - - let img = WebPStatic::from_alpha_lossy(alpha_chunk, vp8_frame)?; - - Ok(img) - } - None => Err(ImageError::IoError(Error::from( - io::ErrorKind::UnexpectedEof, - ))), - Some((_, chunk)) => Err(ChunkHeaderInvalid(chunk.to_fourcc()).into()), - } -} - -#[derive(Debug)] -struct AlphaChunk { - _preprocessing: bool, - filtering_method: FilteringMethod, - data: Vec, -} - -#[derive(Debug, Copy, Clone)] -enum FilteringMethod { - None, - Horizontal, - Vertical, - Gradient, -} - -fn read_alpha_chunk(reader: &mut R, width: u32, height: u32) -> ImageResult { - let info_byte = reader.read_u8()?; - - let reserved = info_byte & 0b11000000; - let preprocessing = (info_byte & 0b00110000) >> 4; - let filtering = (info_byte & 0b00001100) >> 2; - let compression = info_byte & 0b00000011; - - if reserved != 0 { - return Err(DecoderError::InfoBitsInvalid { - name: "reserved", - value: reserved.into(), - } - .into()); - } - - let preprocessing = match preprocessing { - 0 => false, - 1 => true, - _ => { - return Err(DecoderError::InfoBitsInvalid { - name: "reserved", - value: preprocessing.into(), - } - .into()) - } - }; - - let filtering_method = match filtering { - 0 => FilteringMethod::None, - 1 => FilteringMethod::Horizontal, - 2 => FilteringMethod::Vertical, - 3 => FilteringMethod::Gradient, - _ => unreachable!(), - }; - - let lossless_compression = match compression { - 0 => false, - 1 => true, - _ => { - return Err(DecoderError::InfoBitsInvalid { - name: "lossless compression", - value: compression.into(), - } - .into()) - } - }; - - let mut framedata = Vec::new(); - reader.read_to_end(&mut framedata)?; - - let data = if lossless_compression { - let cursor = io::Cursor::new(framedata); - - let mut decoder = LosslessDecoder::new(cursor); - //this is a potential problem for large images; would require rewriting lossless decoder to use u32 for width and height - let width: u16 = width - .try_into() - .map_err(|_| ImageError::from(DecoderError::ImageTooLarge))?; - let height: u16 = height - .try_into() - .map_err(|_| ImageError::from(DecoderError::ImageTooLarge))?; - let frame = decoder.decode_frame_implicit_dims(width, height)?; - - let mut data = vec![0u8; usize::from(width) * usize::from(height)]; - - frame.fill_green(&mut data); - - data - } else { - framedata - }; - - let chunk = AlphaChunk { - _preprocessing: preprocessing, - filtering_method, - data, - }; - - Ok(chunk) -} diff --git a/src/codecs/webp/huffman.rs b/src/codecs/webp/huffman.rs deleted file mode 100644 index e4e85e7a59..0000000000 --- a/src/codecs/webp/huffman.rs +++ /dev/null @@ -1,202 +0,0 @@ -use std::convert::TryInto; - -use super::lossless::BitReader; -use super::lossless::DecoderError; -use crate::ImageResult; - -/// Rudimentary utility for reading Canonical Huffman Codes. -/// Based off https://github.com/webmproject/libwebp/blob/7f8472a610b61ec780ef0a8873cd954ac512a505/src/utils/huffman.c -/// - -const MAX_ALLOWED_CODE_LENGTH: usize = 15; - -#[derive(Clone, Copy, Debug, PartialEq, Eq)] -enum HuffmanTreeNode { - Branch(usize), //offset in vector to children - Leaf(u16), //symbol stored in leaf - Empty, -} - -/// Huffman tree -#[derive(Clone, Debug, Default)] -pub(crate) struct HuffmanTree { - tree: Vec, - max_nodes: usize, - num_nodes: usize, -} - -impl HuffmanTree { - fn is_full(&self) -> bool { - self.num_nodes == self.max_nodes - } - - /// Turns a node from empty into a branch and assigns its children - fn assign_children(&mut self, node_index: usize) -> usize { - let offset_index = self.num_nodes - node_index; - self.tree[node_index] = HuffmanTreeNode::Branch(offset_index); - self.num_nodes += 2; - - offset_index - } - - /// Init a huffman tree - fn init(num_leaves: usize) -> ImageResult { - if num_leaves == 0 { - return Err(DecoderError::HuffmanError.into()); - } - - let max_nodes = 2 * num_leaves - 1; - let tree = vec![HuffmanTreeNode::Empty; max_nodes]; - let num_nodes = 1; - - let tree = HuffmanTree { - tree, - max_nodes, - num_nodes, - }; - - Ok(tree) - } - - /// Converts code lengths to codes - fn code_lengths_to_codes(code_lengths: &[u16]) -> ImageResult>> { - let max_code_length = *code_lengths - .iter() - .reduce(|a, b| if a >= b { a } else { b }) - .unwrap(); - - if max_code_length > MAX_ALLOWED_CODE_LENGTH.try_into().unwrap() { - return Err(DecoderError::HuffmanError.into()); - } - - let mut code_length_hist = [0; MAX_ALLOWED_CODE_LENGTH + 1]; - - for &length in code_lengths.iter() { - code_length_hist[usize::from(length)] += 1; - } - - code_length_hist[0] = 0; - - let mut curr_code = 0; - let mut next_codes = [None; MAX_ALLOWED_CODE_LENGTH + 1]; - - for code_len in 1..=usize::from(max_code_length) { - curr_code = (curr_code + code_length_hist[code_len - 1]) << 1; - next_codes[code_len] = Some(curr_code); - } - - let mut huff_codes = vec![None; code_lengths.len()]; - - for (symbol, &length) in code_lengths.iter().enumerate() { - let length = usize::from(length); - if length > 0 { - huff_codes[symbol] = next_codes[length]; - if let Some(value) = next_codes[length].as_mut() { - *value += 1; - } - } else { - huff_codes[symbol] = None; - } - } - - Ok(huff_codes) - } - - /// Adds a symbol to a huffman tree - fn add_symbol(&mut self, symbol: u16, code: u16, code_length: u16) -> ImageResult<()> { - let mut node_index = 0; - let code = usize::from(code); - - for length in (0..code_length).rev() { - if node_index >= self.max_nodes { - return Err(DecoderError::HuffmanError.into()); - } - - let node = self.tree[node_index]; - - let offset = match node { - HuffmanTreeNode::Empty => { - if self.is_full() { - return Err(DecoderError::HuffmanError.into()); - } - self.assign_children(node_index) - } - HuffmanTreeNode::Leaf(_) => return Err(DecoderError::HuffmanError.into()), - HuffmanTreeNode::Branch(offset) => offset, - }; - - node_index += offset + ((code >> length) & 1); - } - - match self.tree[node_index] { - HuffmanTreeNode::Empty => self.tree[node_index] = HuffmanTreeNode::Leaf(symbol), - HuffmanTreeNode::Leaf(_) => return Err(DecoderError::HuffmanError.into()), - HuffmanTreeNode::Branch(_offset) => return Err(DecoderError::HuffmanError.into()), - } - - Ok(()) - } - - /// Builds a tree implicitly, just from code lengths - pub(crate) fn build_implicit(code_lengths: Vec) -> ImageResult { - let mut num_symbols = 0; - let mut root_symbol = 0; - - for (symbol, length) in code_lengths.iter().enumerate() { - if *length > 0 { - num_symbols += 1; - root_symbol = symbol.try_into().unwrap(); - } - } - - let mut tree = HuffmanTree::init(num_symbols)?; - - if num_symbols == 1 { - tree.add_symbol(root_symbol, 0, 0)?; - } else { - let codes = HuffmanTree::code_lengths_to_codes(&code_lengths)?; - - for (symbol, &length) in code_lengths.iter().enumerate() { - if length > 0 && codes[symbol].is_some() { - tree.add_symbol(symbol.try_into().unwrap(), codes[symbol].unwrap(), length)?; - } - } - } - - Ok(tree) - } - - /// Builds a tree explicitly from lengths, codes and symbols - pub(crate) fn build_explicit( - code_lengths: Vec, - codes: Vec, - symbols: Vec, - ) -> ImageResult { - let mut tree = HuffmanTree::init(symbols.len())?; - - for i in 0..symbols.len() { - tree.add_symbol(symbols[i], codes[i], code_lengths[i])?; - } - - Ok(tree) - } - - /// Reads a symbol using the bitstream - pub(crate) fn read_symbol(&self, bit_reader: &mut BitReader) -> ImageResult { - let mut index = 0; - let mut node = self.tree[index]; - - while let HuffmanTreeNode::Branch(children_offset) = node { - index += children_offset + bit_reader.read_bits::(1)?; - node = self.tree[index]; - } - - let symbol = match node { - HuffmanTreeNode::Branch(_) => unreachable!(), - HuffmanTreeNode::Empty => return Err(DecoderError::HuffmanError.into()), - HuffmanTreeNode::Leaf(symbol) => symbol, - }; - - Ok(symbol) - } -} diff --git a/src/codecs/webp/loop_filter.rs b/src/codecs/webp/loop_filter.rs deleted file mode 100644 index 312059f27f..0000000000 --- a/src/codecs/webp/loop_filter.rs +++ /dev/null @@ -1,147 +0,0 @@ -//! Does loop filtering on webp lossy images - -use crate::utils::clamp; - -#[inline] -fn c(val: i32) -> i32 { - clamp(val, -128, 127) -} - -//unsigned to signed -#[inline] -fn u2s(val: u8) -> i32 { - i32::from(val) - 128 -} - -//signed to unsigned -#[inline] -fn s2u(val: i32) -> u8 { - (c(val) + 128) as u8 -} - -#[inline] -fn diff(val1: u8, val2: u8) -> u8 { - if val1 > val2 { - val1 - val2 - } else { - val2 - val1 - } -} - -//15.2 -fn common_adjust(use_outer_taps: bool, pixels: &mut [u8], point: usize, stride: usize) -> i32 { - let p1 = u2s(pixels[point - 2 * stride]); - let p0 = u2s(pixels[point - stride]); - let q0 = u2s(pixels[point]); - let q1 = u2s(pixels[point + stride]); - - //value for the outer 2 pixels - let outer = if use_outer_taps { c(p1 - q1) } else { 0 }; - - let mut a = c(outer + 3 * (q0 - p0)); - - let b = (c(a + 3)) >> 3; - - a = (c(a + 4)) >> 3; - - pixels[point] = s2u(q0 - a); - pixels[point - stride] = s2u(p0 + b); - - a -} - -fn simple_threshold(filter_limit: i32, pixels: &[u8], point: usize, stride: usize) -> bool { - i32::from(diff(pixels[point - stride], pixels[point])) * 2 - + i32::from(diff(pixels[point - 2 * stride], pixels[point + stride])) / 2 - <= filter_limit -} - -fn should_filter( - interior_limit: u8, - edge_limit: u8, - pixels: &[u8], - point: usize, - stride: usize, -) -> bool { - simple_threshold(i32::from(edge_limit), pixels, point, stride) - && diff(pixels[point - 4 * stride], pixels[point - 3 * stride]) <= interior_limit - && diff(pixels[point - 3 * stride], pixels[point - 2 * stride]) <= interior_limit - && diff(pixels[point - 2 * stride], pixels[point - stride]) <= interior_limit - && diff(pixels[point + 3 * stride], pixels[point + 2 * stride]) <= interior_limit - && diff(pixels[point + 2 * stride], pixels[point + stride]) <= interior_limit - && diff(pixels[point + stride], pixels[point]) <= interior_limit -} - -fn high_edge_variance(threshold: u8, pixels: &[u8], point: usize, stride: usize) -> bool { - diff(pixels[point - 2 * stride], pixels[point - stride]) > threshold - || diff(pixels[point + stride], pixels[point]) > threshold -} - -//simple filter -//effects 4 pixels on an edge(2 each side) -pub(crate) fn simple_segment(edge_limit: u8, pixels: &mut [u8], point: usize, stride: usize) { - if simple_threshold(i32::from(edge_limit), pixels, point, stride) { - common_adjust(true, pixels, point, stride); - } -} - -//normal filter -//works on the 8 pixels on the edges between subblocks inside a macroblock -pub(crate) fn subblock_filter( - hev_threshold: u8, - interior_limit: u8, - edge_limit: u8, - pixels: &mut [u8], - point: usize, - stride: usize, -) { - if should_filter(interior_limit, edge_limit, pixels, point, stride) { - let hv = high_edge_variance(hev_threshold, pixels, point, stride); - - let a = (common_adjust(hv, pixels, point, stride) + 1) >> 1; - - if !hv { - pixels[point + stride] = s2u(u2s(pixels[point + stride]) - a); - pixels[point - 2 * stride] = s2u(u2s(pixels[point - 2 * stride]) - a); - } - } -} - -//normal filter -//works on the 8 pixels on the edges between macroblocks -pub(crate) fn macroblock_filter( - hev_threshold: u8, - interior_limit: u8, - edge_limit: u8, - pixels: &mut [u8], - point: usize, - stride: usize, -) { - let mut spixels = [0i32; 8]; - for i in 0..8 { - spixels[i] = u2s(pixels[point + i * stride - 4 * stride]); - } - - if should_filter(interior_limit, edge_limit, pixels, point, stride) { - if !high_edge_variance(hev_threshold, pixels, point, stride) { - let w = c(c(spixels[2] - spixels[5]) + 3 * (spixels[4] - spixels[3])); - - let mut a = c((27 * w + 63) >> 7); - - pixels[point] = s2u(spixels[4] - a); - pixels[point - stride] = s2u(spixels[3] + a); - - a = c((18 * w + 63) >> 7); - - pixels[point + stride] = s2u(spixels[5] - a); - pixels[point - 2 * stride] = s2u(spixels[2] + a); - - a = c((9 * w + 63) >> 7); - - pixels[point + 2 * stride] = s2u(spixels[6] - a); - pixels[point - 3 * stride] = s2u(spixels[1] + a); - } else { - common_adjust(true, pixels, point, stride); - } - } -} diff --git a/src/codecs/webp/lossless.rs b/src/codecs/webp/lossless.rs deleted file mode 100644 index c26ef220fb..0000000000 --- a/src/codecs/webp/lossless.rs +++ /dev/null @@ -1,783 +0,0 @@ -//! Decoding of lossless WebP images -//! -//! [Lossless spec](https://developers.google.com/speed/webp/docs/webp_lossless_bitstream_specification) -//! - -use std::{ - convert::TryFrom, - convert::TryInto, - error, fmt, - io::Read, - ops::{AddAssign, Shl}, -}; - -use byteorder::ReadBytesExt; - -use crate::{error::DecodingError, ImageError, ImageFormat, ImageResult}; - -use super::huffman::HuffmanTree; -use super::lossless_transform::{add_pixels, TransformType}; - -const CODE_LENGTH_CODES: usize = 19; -const CODE_LENGTH_CODE_ORDER: [usize; CODE_LENGTH_CODES] = [ - 17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -]; - -#[rustfmt::skip] -const DISTANCE_MAP: [(i8, i8); 120] = [ - (0, 1), (1, 0), (1, 1), (-1, 1), (0, 2), (2, 0), (1, 2), (-1, 2), - (2, 1), (-2, 1), (2, 2), (-2, 2), (0, 3), (3, 0), (1, 3), (-1, 3), - (3, 1), (-3, 1), (2, 3), (-2, 3), (3, 2), (-3, 2), (0, 4), (4, 0), - (1, 4), (-1, 4), (4, 1), (-4, 1), (3, 3), (-3, 3), (2, 4), (-2, 4), - (4, 2), (-4, 2), (0, 5), (3, 4), (-3, 4), (4, 3), (-4, 3), (5, 0), - (1, 5), (-1, 5), (5, 1), (-5, 1), (2, 5), (-2, 5), (5, 2), (-5, 2), - (4, 4), (-4, 4), (3, 5), (-3, 5), (5, 3), (-5, 3), (0, 6), (6, 0), - (1, 6), (-1, 6), (6, 1), (-6, 1), (2, 6), (-2, 6), (6, 2), (-6, 2), - (4, 5), (-4, 5), (5, 4), (-5, 4), (3, 6), (-3, 6), (6, 3), (-6, 3), - (0, 7), (7, 0), (1, 7), (-1, 7), (5, 5), (-5, 5), (7, 1), (-7, 1), - (4, 6), (-4, 6), (6, 4), (-6, 4), (2, 7), (-2, 7), (7, 2), (-7, 2), - (3, 7), (-3, 7), (7, 3), (-7, 3), (5, 6), (-5, 6), (6, 5), (-6, 5), - (8, 0), (4, 7), (-4, 7), (7, 4), (-7, 4), (8, 1), (8, 2), (6, 6), - (-6, 6), (8, 3), (5, 7), (-5, 7), (7, 5), (-7, 5), (8, 4), (6, 7), - (-6, 7), (7, 6), (-7, 6), (8, 5), (7, 7), (-7, 7), (8, 6), (8, 7) -]; - -const GREEN: usize = 0; -const RED: usize = 1; -const BLUE: usize = 2; -const ALPHA: usize = 3; -const DIST: usize = 4; - -const HUFFMAN_CODES_PER_META_CODE: usize = 5; - -type HuffmanCodeGroup = [HuffmanTree; HUFFMAN_CODES_PER_META_CODE]; - -const ALPHABET_SIZE: [u16; HUFFMAN_CODES_PER_META_CODE] = [256 + 24, 256, 256, 256, 40]; - -#[inline] -pub(crate) fn subsample_size(size: u16, bits: u8) -> u16 { - ((u32::from(size) + (1u32 << bits) - 1) >> bits) - .try_into() - .unwrap() -} - -#[derive(Debug, Clone, Copy)] -pub(crate) enum DecoderError { - /// Signature of 0x2f not found - LosslessSignatureInvalid(u8), - /// Version Number must be 0 - VersionNumberInvalid(u8), - - /// - InvalidColorCacheBits(u8), - - HuffmanError, - - BitStreamError, - - TransformError, -} - -impl fmt::Display for DecoderError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - DecoderError::LosslessSignatureInvalid(sig) => { - f.write_fmt(format_args!("Invalid lossless signature: {}", sig)) - } - DecoderError::VersionNumberInvalid(num) => { - f.write_fmt(format_args!("Invalid version number: {}", num)) - } - DecoderError::InvalidColorCacheBits(num) => f.write_fmt(format_args!( - "Invalid color cache(must be between 1-11): {}", - num - )), - DecoderError::HuffmanError => f.write_fmt(format_args!("Error building Huffman Tree")), - DecoderError::BitStreamError => { - f.write_fmt(format_args!("Error while reading bitstream")) - } - DecoderError::TransformError => { - f.write_fmt(format_args!("Error while reading or writing transforms")) - } - } - } -} - -impl From for ImageError { - fn from(e: DecoderError) -> ImageError { - ImageError::Decoding(DecodingError::new(ImageFormat::WebP.into(), e)) - } -} - -impl error::Error for DecoderError {} - -const NUM_TRANSFORM_TYPES: usize = 4; - -//Decodes lossless WebP images -#[derive(Debug)] -pub(crate) struct LosslessDecoder { - r: R, - bit_reader: BitReader, - frame: LosslessFrame, - transforms: [Option; NUM_TRANSFORM_TYPES], - transform_order: Vec, -} - -impl LosslessDecoder { - /// Create a new decoder - pub(crate) fn new(r: R) -> LosslessDecoder { - LosslessDecoder { - r, - bit_reader: BitReader::new(), - frame: Default::default(), - transforms: [None, None, None, None], - transform_order: Vec::new(), - } - } - - /// Reads the frame - pub(crate) fn decode_frame(&mut self) -> ImageResult<&LosslessFrame> { - let signature = self.r.read_u8()?; - - if signature != 0x2f { - return Err(DecoderError::LosslessSignatureInvalid(signature).into()); - } - - let mut buf = Vec::new(); - self.r.read_to_end(&mut buf)?; - self.bit_reader.init(buf); - - self.frame.width = self.bit_reader.read_bits::(14)? + 1; - self.frame.height = self.bit_reader.read_bits::(14)? + 1; - - let _alpha_used = self.bit_reader.read_bits::(1)?; - - let version_num = self.bit_reader.read_bits::(3)?; - - if version_num != 0 { - return Err(DecoderError::VersionNumberInvalid(version_num).into()); - } - - let mut data = self.decode_image_stream(self.frame.width, self.frame.height, true)?; - - for &trans_index in self.transform_order.iter().rev() { - let trans = self.transforms[usize::from(trans_index)].as_ref().unwrap(); - trans.apply_transform(&mut data, self.frame.width, self.frame.height)?; - } - - self.frame.buf = data; - Ok(&self.frame) - } - - //used for alpha data in extended decoding - pub(crate) fn decode_frame_implicit_dims( - &mut self, - width: u16, - height: u16, - ) -> ImageResult<&LosslessFrame> { - let mut buf = Vec::new(); - self.r.read_to_end(&mut buf)?; - self.bit_reader.init(buf); - - self.frame.width = width; - self.frame.height = height; - - let mut data = self.decode_image_stream(self.frame.width, self.frame.height, true)?; - - //transform_order is vector of indices(0-3) into transforms in order decoded - for &trans_index in self.transform_order.iter().rev() { - let trans = self.transforms[usize::from(trans_index)].as_ref().unwrap(); - trans.apply_transform(&mut data, self.frame.width, self.frame.height)?; - } - - self.frame.buf = data; - Ok(&self.frame) - } - - /// Reads Image data from the bitstream - /// Can be in any of the 5 roles described in the Specification - /// ARGB Image role has different behaviour to the other 4 - /// xsize and ysize describe the size of the blocks where each block has its own entropy code - fn decode_image_stream( - &mut self, - xsize: u16, - ysize: u16, - is_argb_img: bool, - ) -> ImageResult> { - let trans_xsize = if is_argb_img { - self.read_transforms()? - } else { - xsize - }; - - let color_cache_bits = self.read_color_cache()?; - - let color_cache = color_cache_bits.map(|bits| { - let size = 1 << bits; - let cache = vec![0u32; size]; - ColorCache { - color_cache_bits: bits, - color_cache: cache, - } - }); - - let huffman_info = self.read_huffman_codes(is_argb_img, trans_xsize, ysize, color_cache)?; - - //decode data - let data = self.decode_image_data(trans_xsize, ysize, huffman_info)?; - - Ok(data) - } - - /// Reads transforms and their data from the bitstream - fn read_transforms(&mut self) -> ImageResult { - let mut xsize = self.frame.width; - - while self.bit_reader.read_bits::(1)? == 1 { - let transform_type_val = self.bit_reader.read_bits::(2)?; - - if self.transforms[usize::from(transform_type_val)].is_some() { - //can only have one of each transform, error - return Err(DecoderError::TransformError.into()); - } - - self.transform_order.push(transform_type_val); - - let transform_type = match transform_type_val { - 0 => { - //predictor - - let size_bits = self.bit_reader.read_bits::(3)? + 2; - - let block_xsize = subsample_size(xsize, size_bits); - let block_ysize = subsample_size(self.frame.height, size_bits); - - let data = self.decode_image_stream(block_xsize, block_ysize, false)?; - - TransformType::PredictorTransform { - size_bits, - predictor_data: data, - } - } - 1 => { - //color transform - - let size_bits = self.bit_reader.read_bits::(3)? + 2; - - let block_xsize = subsample_size(xsize, size_bits); - let block_ysize = subsample_size(self.frame.height, size_bits); - - let data = self.decode_image_stream(block_xsize, block_ysize, false)?; - - TransformType::ColorTransform { - size_bits, - transform_data: data, - } - } - 2 => { - //subtract green - - TransformType::SubtractGreen - } - 3 => { - let color_table_size = self.bit_reader.read_bits::(8)? + 1; - - let mut color_map = self.decode_image_stream(color_table_size, 1, false)?; - - let bits = if color_table_size <= 2 { - 3 - } else if color_table_size <= 4 { - 2 - } else if color_table_size <= 16 { - 1 - } else { - 0 - }; - xsize = subsample_size(xsize, bits); - - Self::adjust_color_map(&mut color_map); - - TransformType::ColorIndexingTransform { - table_size: color_table_size, - table_data: color_map, - } - } - _ => unreachable!(), - }; - - self.transforms[usize::from(transform_type_val)] = Some(transform_type); - } - - Ok(xsize) - } - - /// Adjusts the color map since it's subtraction coded - fn adjust_color_map(color_map: &mut [u32]) { - for i in 1..color_map.len() { - color_map[i] = add_pixels(color_map[i], color_map[i - 1]); - } - } - - /// Reads huffman codes associated with an image - fn read_huffman_codes( - &mut self, - read_meta: bool, - xsize: u16, - ysize: u16, - color_cache: Option, - ) -> ImageResult { - let mut num_huff_groups = 1; - - let mut huffman_bits = 0; - let mut huffman_xsize = 1; - let mut huffman_ysize = 1; - let mut entropy_image = Vec::new(); - - if read_meta && self.bit_reader.read_bits::(1)? == 1 { - //meta huffman codes - huffman_bits = self.bit_reader.read_bits::(3)? + 2; - huffman_xsize = subsample_size(xsize, huffman_bits); - huffman_ysize = subsample_size(ysize, huffman_bits); - - entropy_image = self.decode_image_stream(huffman_xsize, huffman_ysize, false)?; - - for pixel in entropy_image.iter_mut() { - let meta_huff_code = (*pixel >> 8) & 0xffff; - - *pixel = meta_huff_code; - - if meta_huff_code >= num_huff_groups { - num_huff_groups = meta_huff_code + 1; - } - } - } - - let mut hufftree_groups = Vec::new(); - - for _i in 0..num_huff_groups { - let mut group: HuffmanCodeGroup = Default::default(); - for j in 0..HUFFMAN_CODES_PER_META_CODE { - let mut alphabet_size = ALPHABET_SIZE[j]; - if j == 0 { - if let Some(color_cache) = color_cache.as_ref() { - alphabet_size += 1 << color_cache.color_cache_bits; - } - } - - let tree = self.read_huffman_code(alphabet_size)?; - group[j] = tree; - } - hufftree_groups.push(group); - } - - let huffman_mask = if huffman_bits == 0 { - !0 - } else { - (1 << huffman_bits) - 1 - }; - - let info = HuffmanInfo { - xsize: huffman_xsize, - _ysize: huffman_ysize, - color_cache, - image: entropy_image, - bits: huffman_bits, - mask: huffman_mask, - huffman_code_groups: hufftree_groups, - }; - - Ok(info) - } - - /// Decodes and returns a single huffman tree - fn read_huffman_code(&mut self, alphabet_size: u16) -> ImageResult { - let simple = self.bit_reader.read_bits::(1)? == 1; - - if simple { - let num_symbols = self.bit_reader.read_bits::(1)? + 1; - - let mut code_lengths = vec![u16::from(num_symbols - 1)]; - let mut codes = vec![0]; - let mut symbols = Vec::new(); - - let is_first_8bits = self.bit_reader.read_bits::(1)?; - symbols.push(self.bit_reader.read_bits::(1 + 7 * is_first_8bits)?); - - if num_symbols == 2 { - symbols.push(self.bit_reader.read_bits::(8)?); - code_lengths.push(1); - codes.push(1); - } - - HuffmanTree::build_explicit(code_lengths, codes, symbols) - } else { - let mut code_length_code_lengths = vec![0; CODE_LENGTH_CODES]; - - let num_code_lengths = 4 + self.bit_reader.read_bits::(4)?; - for i in 0..num_code_lengths { - code_length_code_lengths[CODE_LENGTH_CODE_ORDER[i]] = - self.bit_reader.read_bits(3)?; - } - - let new_code_lengths = - self.read_huffman_code_lengths(code_length_code_lengths, alphabet_size)?; - - HuffmanTree::build_implicit(new_code_lengths) - } - } - - /// Reads huffman code lengths - fn read_huffman_code_lengths( - &mut self, - code_length_code_lengths: Vec, - num_symbols: u16, - ) -> ImageResult> { - let table = HuffmanTree::build_implicit(code_length_code_lengths)?; - - let mut max_symbol = if self.bit_reader.read_bits::(1)? == 1 { - let length_nbits = 2 + 2 * self.bit_reader.read_bits::(3)?; - 2 + self.bit_reader.read_bits::(length_nbits)? - } else { - num_symbols - }; - - let mut code_lengths = vec![0; usize::from(num_symbols)]; - let mut prev_code_len = 8; //default code length - - let mut symbol = 0; - while symbol < num_symbols { - if max_symbol == 0 { - break; - } - max_symbol -= 1; - - let code_len = table.read_symbol(&mut self.bit_reader)?; - - if code_len < 16 { - code_lengths[usize::from(symbol)] = code_len; - symbol += 1; - if code_len != 0 { - prev_code_len = code_len; - } - } else { - let use_prev = code_len == 16; - let slot = code_len - 16; - let extra_bits = match slot { - 0 => 2, - 1 => 3, - 2 => 7, - _ => return Err(DecoderError::BitStreamError.into()), - }; - let repeat_offset = match slot { - 0 | 1 => 3, - 2 => 11, - _ => return Err(DecoderError::BitStreamError.into()), - }; - - let mut repeat = self.bit_reader.read_bits::(extra_bits)? + repeat_offset; - - if symbol + repeat > num_symbols { - return Err(DecoderError::BitStreamError.into()); - } else { - let length = if use_prev { prev_code_len } else { 0 }; - while repeat > 0 { - repeat -= 1; - code_lengths[usize::from(symbol)] = length; - symbol += 1; - } - } - } - } - - Ok(code_lengths) - } - - /// Decodes the image data using the huffman trees and either of the 3 methods of decoding - fn decode_image_data( - &mut self, - width: u16, - height: u16, - mut huffman_info: HuffmanInfo, - ) -> ImageResult> { - let num_values = usize::from(width) * usize::from(height); - let mut data = vec![0; num_values]; - - let huff_index = huffman_info.get_huff_index(0, 0); - let mut tree = &huffman_info.huffman_code_groups[huff_index]; - let mut last_cached = 0; - let mut index = 0; - let mut x = 0; - let mut y = 0; - while index < num_values { - if (x & huffman_info.mask) == 0 { - let index = huffman_info.get_huff_index(x, y); - tree = &huffman_info.huffman_code_groups[index]; - } - - let code = tree[GREEN].read_symbol(&mut self.bit_reader)?; - - //check code - if code < 256 { - //literal, so just use huffman codes and read as argb - let red = tree[RED].read_symbol(&mut self.bit_reader)?; - let blue = tree[BLUE].read_symbol(&mut self.bit_reader)?; - let alpha = tree[ALPHA].read_symbol(&mut self.bit_reader)?; - - data[index] = (u32::from(alpha) << 24) - + (u32::from(red) << 16) - + (u32::from(code) << 8) - + u32::from(blue); - - index += 1; - x += 1; - if x >= width { - x = 0; - y += 1; - } - } else if code < 256 + 24 { - //backward reference, so go back and use that to add image data - let length_symbol = code - 256; - let length = Self::get_copy_distance(&mut self.bit_reader, length_symbol)?; - - let dist_symbol = tree[DIST].read_symbol(&mut self.bit_reader)?; - let dist_code = Self::get_copy_distance(&mut self.bit_reader, dist_symbol)?; - let dist = Self::plane_code_to_distance(width, dist_code); - - if index < dist || num_values - index < length { - return Err(DecoderError::BitStreamError.into()); - } - - for i in 0..length { - data[index + i] = data[index + i - dist]; - } - index += length; - x += u16::try_from(length).unwrap(); - while x >= width { - x -= width; - y += 1; - } - if index < num_values { - let index = huffman_info.get_huff_index(x, y); - tree = &huffman_info.huffman_code_groups[index]; - } - } else { - //color cache, so use previously stored pixels to get this pixel - let key = code - 256 - 24; - - if let Some(color_cache) = huffman_info.color_cache.as_mut() { - //cache old colors - while last_cached < index { - color_cache.insert(data[last_cached]); - last_cached += 1; - } - data[index] = color_cache.lookup(key.into())?; - } else { - return Err(DecoderError::BitStreamError.into()); - } - index += 1; - x += 1; - if x >= width { - x = 0; - y += 1; - } - } - } - - Ok(data) - } - - /// Reads color cache data from the bitstream - fn read_color_cache(&mut self) -> ImageResult> { - if self.bit_reader.read_bits::(1)? == 1 { - let code_bits = self.bit_reader.read_bits::(4)?; - - if !(1..=11).contains(&code_bits) { - return Err(DecoderError::InvalidColorCacheBits(code_bits).into()); - } - - Ok(Some(code_bits)) - } else { - Ok(None) - } - } - - /// Gets the copy distance from the prefix code and bitstream - fn get_copy_distance(bit_reader: &mut BitReader, prefix_code: u16) -> ImageResult { - if prefix_code < 4 { - return Ok(usize::from(prefix_code + 1)); - } - let extra_bits: u8 = ((prefix_code - 2) >> 1).try_into().unwrap(); - let offset = (2 + (usize::from(prefix_code) & 1)) << extra_bits; - - Ok(offset + bit_reader.read_bits::(extra_bits)? + 1) - } - - /// Gets distance to pixel - fn plane_code_to_distance(xsize: u16, plane_code: usize) -> usize { - if plane_code > 120 { - plane_code - 120 - } else { - let (xoffset, yoffset) = DISTANCE_MAP[plane_code - 1]; - - let dist = i32::from(xoffset) + i32::from(yoffset) * i32::from(xsize); - if dist < 1 { - return 1; - } - dist.try_into().unwrap() - } - } -} - -#[derive(Debug, Clone)] -struct HuffmanInfo { - xsize: u16, - _ysize: u16, - color_cache: Option, - image: Vec, - bits: u8, - mask: u16, - huffman_code_groups: Vec, -} - -impl HuffmanInfo { - fn get_huff_index(&self, x: u16, y: u16) -> usize { - if self.bits == 0 { - return 0; - } - let position = usize::from((y >> self.bits) * self.xsize + (x >> self.bits)); - let meta_huff_code: usize = self.image[position].try_into().unwrap(); - meta_huff_code - } -} - -#[derive(Debug, Clone)] -struct ColorCache { - color_cache_bits: u8, - color_cache: Vec, -} - -impl ColorCache { - fn insert(&mut self, color: u32) { - let index = (0x1e35a7bdu32.overflowing_mul(color).0) >> (32 - self.color_cache_bits); - self.color_cache[index as usize] = color; - } - - fn lookup(&self, index: usize) -> ImageResult { - match self.color_cache.get(index) { - Some(&value) => Ok(value), - None => Err(DecoderError::BitStreamError.into()), - } - } -} - -#[derive(Debug, Clone)] -pub(crate) struct BitReader { - buf: Vec, - index: usize, - bit_count: u8, -} - -impl BitReader { - fn new() -> BitReader { - BitReader { - buf: Vec::new(), - index: 0, - bit_count: 0, - } - } - - fn init(&mut self, buf: Vec) { - self.buf = buf; - } - - pub(crate) fn read_bits(&mut self, num: u8) -> ImageResult - where - T: num_traits::Unsigned + Shl + AddAssign + From, - { - let mut value: T = T::zero(); - - for i in 0..num { - if self.buf.len() <= self.index { - return Err(DecoderError::BitStreamError.into()); - } - let bit_true = self.buf[self.index] & (1 << self.bit_count) != 0; - value += T::from(bit_true) << i; - self.bit_count = if self.bit_count == 7 { - self.index += 1; - 0 - } else { - self.bit_count + 1 - }; - } - - Ok(value) - } -} - -#[derive(Debug, Clone, Default)] -pub(crate) struct LosslessFrame { - pub(crate) width: u16, - pub(crate) height: u16, - - pub(crate) buf: Vec, -} - -impl LosslessFrame { - /// Fills a buffer by converting from argb to rgba - pub(crate) fn fill_rgba(&self, buf: &mut [u8]) { - for (&argb_val, chunk) in self.buf.iter().zip(buf.chunks_exact_mut(4)) { - chunk[0] = ((argb_val >> 16) & 0xff).try_into().unwrap(); - chunk[1] = ((argb_val >> 8) & 0xff).try_into().unwrap(); - chunk[2] = (argb_val & 0xff).try_into().unwrap(); - chunk[3] = ((argb_val >> 24) & 0xff).try_into().unwrap(); - } - } - - /// Get buffer size from the image - pub(crate) fn get_buf_size(&self) -> usize { - usize::from(self.width) * usize::from(self.height) * 4 - } - - /// Fills a buffer with just the green values from the lossless decoding - /// Used in extended alpha decoding - pub(crate) fn fill_green(&self, buf: &mut [u8]) { - for (&argb_val, buf_value) in self.buf.iter().zip(buf.iter_mut()) { - *buf_value = ((argb_val >> 8) & 0xff).try_into().unwrap(); - } - } -} - -#[cfg(test)] -mod test { - - use super::BitReader; - - #[test] - fn bit_read_test() { - let mut bit_reader = BitReader::new(); - - //10011100 01000001 11100001 - let buf = vec![0x9C, 0x41, 0xE1]; - - bit_reader.init(buf); - - assert_eq!(bit_reader.read_bits::(3).unwrap(), 4); //100 - assert_eq!(bit_reader.read_bits::(2).unwrap(), 3); //11 - assert_eq!(bit_reader.read_bits::(6).unwrap(), 12); //001100 - assert_eq!(bit_reader.read_bits::(10).unwrap(), 40); //0000101000 - assert_eq!(bit_reader.read_bits::(3).unwrap(), 7); //111 - } - - #[test] - fn bit_read_error_test() { - let mut bit_reader = BitReader::new(); - - //01101010 - let buf = vec![0x6A]; - - bit_reader.init(buf); - - assert_eq!(bit_reader.read_bits::(3).unwrap(), 2); //010 - assert_eq!(bit_reader.read_bits::(5).unwrap(), 13); //01101 - assert!(bit_reader.read_bits::(4).is_err()); //error - } -} diff --git a/src/codecs/webp/lossless_transform.rs b/src/codecs/webp/lossless_transform.rs deleted file mode 100644 index f9a82c1c89..0000000000 --- a/src/codecs/webp/lossless_transform.rs +++ /dev/null @@ -1,464 +0,0 @@ -use std::convert::TryFrom; -use std::convert::TryInto; - -use super::lossless::subsample_size; -use super::lossless::DecoderError; - -#[derive(Debug, Clone)] -pub(crate) enum TransformType { - PredictorTransform { - size_bits: u8, - predictor_data: Vec, - }, - ColorTransform { - size_bits: u8, - transform_data: Vec, - }, - SubtractGreen, - ColorIndexingTransform { - table_size: u16, - table_data: Vec, - }, -} - -impl TransformType { - /// Applies a transform to the image data - pub(crate) fn apply_transform( - &self, - image_data: &mut Vec, - width: u16, - height: u16, - ) -> Result<(), DecoderError> { - match self { - TransformType::PredictorTransform { - size_bits, - predictor_data, - } => { - let block_xsize = usize::from(subsample_size(width, *size_bits)); - let width = usize::from(width); - let height = usize::from(height); - - if image_data.len() < width * height { - return Err(DecoderError::TransformError); - } - - //handle top and left borders specially - //this involves ignoring mode and just setting prediction values like this - image_data[0] = add_pixels(image_data[0], 0xff000000); - - for x in 1..width { - image_data[x] = add_pixels(image_data[x], get_left(image_data, x, 0, width)); - } - - for y in 1..height { - image_data[y * width] = - add_pixels(image_data[y * width], get_top(image_data, 0, y, width)); - } - - for y in 1..height { - for x in 1..width { - let block_index = (y >> size_bits) * block_xsize + (x >> size_bits); - - let index = y * width + x; - - let green = (predictor_data[block_index] >> 8) & 0xff; - - match green { - 0 => image_data[index] = add_pixels(image_data[index], 0xff000000), - 1 => { - image_data[index] = - add_pixels(image_data[index], get_left(image_data, x, y, width)) - } - 2 => { - image_data[index] = - add_pixels(image_data[index], get_top(image_data, x, y, width)) - } - 3 => { - image_data[index] = add_pixels( - image_data[index], - get_top_right(image_data, x, y, width), - ) - } - 4 => { - image_data[index] = add_pixels( - image_data[index], - get_top_left(image_data, x, y, width), - ) - } - 5 => { - image_data[index] = add_pixels(image_data[index], { - let first = average2( - get_left(image_data, x, y, width), - get_top_right(image_data, x, y, width), - ); - average2(first, get_top(image_data, x, y, width)) - }) - } - 6 => { - image_data[index] = add_pixels( - image_data[index], - average2( - get_left(image_data, x, y, width), - get_top_left(image_data, x, y, width), - ), - ) - } - 7 => { - image_data[index] = add_pixels( - image_data[index], - average2( - get_left(image_data, x, y, width), - get_top(image_data, x, y, width), - ), - ) - } - 8 => { - image_data[index] = add_pixels( - image_data[index], - average2( - get_top_left(image_data, x, y, width), - get_top(image_data, x, y, width), - ), - ) - } - 9 => { - image_data[index] = add_pixels( - image_data[index], - average2( - get_top(image_data, x, y, width), - get_top_right(image_data, x, y, width), - ), - ) - } - 10 => { - image_data[index] = add_pixels(image_data[index], { - let first = average2( - get_left(image_data, x, y, width), - get_top_left(image_data, x, y, width), - ); - let second = average2( - get_top(image_data, x, y, width), - get_top_right(image_data, x, y, width), - ); - average2(first, second) - }) - } - 11 => { - image_data[index] = add_pixels( - image_data[index], - select( - get_left(image_data, x, y, width), - get_top(image_data, x, y, width), - get_top_left(image_data, x, y, width), - ), - ) - } - 12 => { - image_data[index] = add_pixels( - image_data[index], - clamp_add_subtract_full( - get_left(image_data, x, y, width), - get_top(image_data, x, y, width), - get_top_left(image_data, x, y, width), - ), - ) - } - 13 => { - image_data[index] = add_pixels(image_data[index], { - let first = average2( - get_left(image_data, x, y, width), - get_top(image_data, x, y, width), - ); - clamp_add_subtract_half( - first, - get_top_left(image_data, x, y, width), - ) - }) - } - _ => {} - } - } - } - } - TransformType::ColorTransform { - size_bits, - transform_data, - } => { - let block_xsize = usize::from(subsample_size(width, *size_bits)); - let width = usize::from(width); - let height = usize::from(height); - - for y in 0..height { - for x in 0..width { - let block_index = (y >> size_bits) * block_xsize + (x >> size_bits); - - let index = y * width + x; - - let multiplier = - ColorTransformElement::from_color_code(transform_data[block_index]); - - image_data[index] = transform_color(&multiplier, image_data[index]); - } - } - } - TransformType::SubtractGreen => { - let width = usize::from(width); - for y in 0..usize::from(height) { - for x in 0..width { - image_data[y * width + x] = add_green(image_data[y * width + x]); - } - } - } - TransformType::ColorIndexingTransform { - table_size, - table_data, - } => { - let mut new_image_data = - Vec::with_capacity(usize::from(width) * usize::from(height)); - - let table_size = *table_size; - let width_bits: u8 = if table_size <= 2 { - 3 - } else if table_size <= 4 { - 2 - } else if table_size <= 16 { - 1 - } else { - 0 - }; - - let bits_per_pixel = 8 >> width_bits; - let mask = (1 << bits_per_pixel) - 1; - - let mut src = 0; - let width = usize::from(width); - - let pixels_per_byte = 1 << width_bits; - let count_mask = pixels_per_byte - 1; - let mut packed_pixels = 0; - - for _y in 0..usize::from(height) { - for x in 0..width { - if (x & count_mask) == 0 { - packed_pixels = (image_data[src] >> 8) & 0xff; - src += 1; - } - - let pixels: usize = (packed_pixels & mask).try_into().unwrap(); - let new_val = if pixels >= table_size.into() { - 0x00000000 - } else { - table_data[pixels] - }; - - new_image_data.push(new_val); - - packed_pixels >>= bits_per_pixel; - } - } - - *image_data = new_image_data; - } - } - - Ok(()) - } -} - -//predictor functions - -/// Adds 2 pixels mod 256 for each pixel -pub(crate) fn add_pixels(a: u32, b: u32) -> u32 { - let new_alpha = ((a >> 24) + (b >> 24)) & 0xff; - let new_red = (((a >> 16) & 0xff) + ((b >> 16) & 0xff)) & 0xff; - let new_green = (((a >> 8) & 0xff) + ((b >> 8) & 0xff)) & 0xff; - let new_blue = ((a & 0xff) + (b & 0xff)) & 0xff; - - (new_alpha << 24) + (new_red << 16) + (new_green << 8) + new_blue -} - -/// Get left pixel -fn get_left(data: &[u32], x: usize, y: usize, width: usize) -> u32 { - data[y * width + x - 1] -} - -/// Get top pixel -fn get_top(data: &[u32], x: usize, y: usize, width: usize) -> u32 { - data[(y - 1) * width + x] -} - -/// Get pixel to top right -fn get_top_right(data: &[u32], x: usize, y: usize, width: usize) -> u32 { - // if x == width - 1 this gets the left most pixel of the current row - // as described in the specification - data[(y - 1) * width + x + 1] -} - -/// Get pixel to top left -fn get_top_left(data: &[u32], x: usize, y: usize, width: usize) -> u32 { - data[(y - 1) * width + x - 1] -} - -/// Get average of 2 pixels -fn average2(a: u32, b: u32) -> u32 { - let mut avg = 0u32; - for i in 0..4 { - let sub_a: u8 = ((a >> (i * 8)) & 0xff).try_into().unwrap(); - let sub_b: u8 = ((b >> (i * 8)) & 0xff).try_into().unwrap(); - avg |= u32::from(sub_average2(sub_a, sub_b)) << (i * 8); - } - avg -} - -/// Get average of 2 bytes -fn sub_average2(a: u8, b: u8) -> u8 { - ((u16::from(a) + u16::from(b)) / 2).try_into().unwrap() -} - -/// Get a specific byte from argb pixel -fn get_byte(val: u32, byte: u8) -> u8 { - ((val >> (byte * 8)) & 0xff).try_into().unwrap() -} - -/// Get byte as i32 for convenience -fn get_byte_i32(val: u32, byte: u8) -> i32 { - i32::from(get_byte(val, byte)) -} - -/// Select left or top byte -fn select(left: u32, top: u32, top_left: u32) -> u32 { - let predict_alpha = get_byte_i32(left, 3) + get_byte_i32(top, 3) - get_byte_i32(top_left, 3); - let predict_red = get_byte_i32(left, 2) + get_byte_i32(top, 2) - get_byte_i32(top_left, 2); - let predict_green = get_byte_i32(left, 1) + get_byte_i32(top, 1) - get_byte_i32(top_left, 1); - let predict_blue = get_byte_i32(left, 0) + get_byte_i32(top, 0) - get_byte_i32(top_left, 0); - - let predict_left = i32::abs(predict_alpha - get_byte_i32(left, 3)) - + i32::abs(predict_red - get_byte_i32(left, 2)) - + i32::abs(predict_green - get_byte_i32(left, 1)) - + i32::abs(predict_blue - get_byte_i32(left, 0)); - let predict_top = i32::abs(predict_alpha - get_byte_i32(top, 3)) - + i32::abs(predict_red - get_byte_i32(top, 2)) - + i32::abs(predict_green - get_byte_i32(top, 1)) - + i32::abs(predict_blue - get_byte_i32(top, 0)); - - if predict_left < predict_top { - left - } else { - top - } -} - -/// Clamp a to [0, 255] -fn clamp(a: i32) -> i32 { - if a < 0 { - 0 - } else if a > 255 { - 255 - } else { - a - } -} - -/// Clamp add subtract full on one part -fn clamp_add_subtract_full_sub(a: i32, b: i32, c: i32) -> i32 { - clamp(a + b - c) -} - -/// Clamp add subtract half on one part -fn clamp_add_subtract_half_sub(a: i32, b: i32) -> i32 { - clamp(a + (a - b) / 2) -} - -/// Clamp add subtract full on 3 pixels -fn clamp_add_subtract_full(a: u32, b: u32, c: u32) -> u32 { - let mut value: u32 = 0; - for i in 0..4u8 { - let sub_a: i32 = ((a >> (i * 8)) & 0xff).try_into().unwrap(); - let sub_b: i32 = ((b >> (i * 8)) & 0xff).try_into().unwrap(); - let sub_c: i32 = ((c >> (i * 8)) & 0xff).try_into().unwrap(); - value |= - u32::try_from(clamp_add_subtract_full_sub(sub_a, sub_b, sub_c)).unwrap() << (i * 8); - } - value -} - -/// Clamp add subtract half on 2 pixels -fn clamp_add_subtract_half(a: u32, b: u32) -> u32 { - let mut value = 0; - for i in 0..4u8 { - let sub_a: i32 = ((a >> (i * 8)) & 0xff).try_into().unwrap(); - let sub_b: i32 = ((b >> (i * 8)) & 0xff).try_into().unwrap(); - value |= u32::try_from(clamp_add_subtract_half_sub(sub_a, sub_b)).unwrap() << (i * 8); - } - - value -} - -//color transform - -#[derive(Debug, Clone, Copy)] -struct ColorTransformElement { - green_to_red: u8, - green_to_blue: u8, - red_to_blue: u8, -} - -impl ColorTransformElement { - fn from_color_code(color_code: u32) -> ColorTransformElement { - ColorTransformElement { - green_to_red: (color_code & 0xff).try_into().unwrap(), - green_to_blue: ((color_code >> 8) & 0xff).try_into().unwrap(), - red_to_blue: ((color_code >> 16) & 0xff).try_into().unwrap(), - } - } -} - -/// Does color transform on red and blue transformed by green -fn color_transform(red: u8, blue: u8, green: u8, trans: &ColorTransformElement) -> (u8, u8) { - let mut temp_red = u32::from(red); - let mut temp_blue = u32::from(blue); - - //as does the conversion from u8 to signed two's complement i8 required - temp_red += color_transform_delta(trans.green_to_red as i8, green as i8); - temp_blue += color_transform_delta(trans.green_to_blue as i8, green as i8); - temp_blue += color_transform_delta(trans.red_to_blue as i8, temp_red as i8); - - ( - (temp_red & 0xff).try_into().unwrap(), - (temp_blue & 0xff).try_into().unwrap(), - ) -} - -/// Does color transform on 2 numbers -fn color_transform_delta(t: i8, c: i8) -> u32 { - ((i16::from(t) * i16::from(c)) as u32) >> 5 -} - -// Does color transform on a pixel with a color transform element -fn transform_color(multiplier: &ColorTransformElement, color_value: u32) -> u32 { - let alpha = get_byte(color_value, 3); - let red = get_byte(color_value, 2); - let green = get_byte(color_value, 1); - let blue = get_byte(color_value, 0); - - let (new_red, new_blue) = color_transform(red, blue, green, multiplier); - - (u32::from(alpha) << 24) - + (u32::from(new_red) << 16) - + (u32::from(green) << 8) - + u32::from(new_blue) -} - -//subtract green function - -/// Adds green to red and blue of a pixel -fn add_green(argb: u32) -> u32 { - let red = (argb >> 16) & 0xff; - let green = (argb >> 8) & 0xff; - let blue = argb & 0xff; - - let new_red = (red + green) & 0xff; - let new_blue = (blue + green) & 0xff; - - (argb & 0xff00ff00) | (new_red << 16) | (new_blue) -} diff --git a/src/codecs/webp/mod.rs b/src/codecs/webp/mod.rs index 2d48068cc8..4be1d595fb 100644 --- a/src/codecs/webp/mod.rs +++ b/src/codecs/webp/mod.rs @@ -1,17 +1,7 @@ //! Decoding and Encoding of WebP Images -pub use self::encoder::WebPEncoder; - +mod decoder; mod encoder; pub use self::decoder::WebPDecoder; - -mod decoder; -mod extended; -mod huffman; -mod loop_filter; -mod lossless; -mod lossless_transform; -mod transform; - -pub mod vp8; +pub use self::encoder::WebPEncoder; diff --git a/src/codecs/webp/transform.rs b/src/codecs/webp/transform.rs deleted file mode 100644 index 6e61020c79..0000000000 --- a/src/codecs/webp/transform.rs +++ /dev/null @@ -1,77 +0,0 @@ -static CONST1: i64 = 20091; -static CONST2: i64 = 35468; - -pub(crate) fn idct4x4(block: &mut [i32]) { - // The intermediate results may overflow the types, so we stretch the type. - fn fetch(block: &[i32], idx: usize) -> i64 { - i64::from(block[idx]) - } - - for i in 0usize..4 { - let a1 = fetch(block, i) + fetch(block, 8 + i); - let b1 = fetch(block, i) - fetch(block, 8 + i); - - let t1 = (fetch(block, 4 + i) * CONST2) >> 16; - let t2 = fetch(block, 12 + i) + ((fetch(block, 12 + i) * CONST1) >> 16); - let c1 = t1 - t2; - - let t1 = fetch(block, 4 + i) + ((fetch(block, 4 + i) * CONST1) >> 16); - let t2 = (fetch(block, 12 + i) * CONST2) >> 16; - let d1 = t1 + t2; - - block[i] = (a1 + d1) as i32; - block[4 + i] = (b1 + c1) as i32; - block[4 * 3 + i] = (a1 - d1) as i32; - block[4 * 2 + i] = (b1 - c1) as i32; - } - - for i in 0usize..4 { - let a1 = fetch(block, 4 * i) + fetch(block, 4 * i + 2); - let b1 = fetch(block, 4 * i) - fetch(block, 4 * i + 2); - - let t1 = (fetch(block, 4 * i + 1) * CONST2) >> 16; - let t2 = fetch(block, 4 * i + 3) + ((fetch(block, 4 * i + 3) * CONST1) >> 16); - let c1 = t1 - t2; - - let t1 = fetch(block, 4 * i + 1) + ((fetch(block, 4 * i + 1) * CONST1) >> 16); - let t2 = (fetch(block, 4 * i + 3) * CONST2) >> 16; - let d1 = t1 + t2; - - block[4 * i] = ((a1 + d1 + 4) >> 3) as i32; - block[4 * i + 3] = ((a1 - d1 + 4) >> 3) as i32; - block[4 * i + 1] = ((b1 + c1 + 4) >> 3) as i32; - block[4 * i + 2] = ((b1 - c1 + 4) >> 3) as i32; - } -} - -// 14.3 -pub(crate) fn iwht4x4(block: &mut [i32]) { - for i in 0usize..4 { - let a1 = block[i] + block[12 + i]; - let b1 = block[4 + i] + block[8 + i]; - let c1 = block[4 + i] - block[8 + i]; - let d1 = block[i] - block[12 + i]; - - block[i] = a1 + b1; - block[4 + i] = c1 + d1; - block[8 + i] = a1 - b1; - block[12 + i] = d1 - c1; - } - - for i in 0usize..4 { - let a1 = block[4 * i] + block[4 * i + 3]; - let b1 = block[4 * i + 1] + block[4 * i + 2]; - let c1 = block[4 * i + 1] - block[4 * i + 2]; - let d1 = block[4 * i] - block[4 * i + 3]; - - let a2 = a1 + b1; - let b2 = c1 + d1; - let c2 = a1 - b1; - let d2 = d1 - c1; - - block[4 * i] = (a2 + 3) >> 3; - block[4 * i + 1] = (b2 + 3) >> 3; - block[4 * i + 2] = (c2 + 3) >> 3; - block[4 * i + 3] = (d2 + 3) >> 3; - } -} diff --git a/src/codecs/webp/vp8.rs b/src/codecs/webp/vp8.rs deleted file mode 100644 index bebd1d1d49..0000000000 --- a/src/codecs/webp/vp8.rs +++ /dev/null @@ -1,2917 +0,0 @@ -//! An implementation of the VP8 Video Codec -//! -//! This module contains a partial implementation of the -//! VP8 video format as defined in RFC-6386. -//! -//! It decodes Keyframes only. -//! VP8 is the underpinning of the WebP image format -//! -//! # Related Links -//! * [rfc-6386](http://tools.ietf.org/html/rfc6386) - The VP8 Data Format and Decoding Guide -//! * [VP8.pdf](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37073.pdf) - An overview of -//! of the VP8 format -//! - -use byteorder::{LittleEndian, ReadBytesExt}; -use std::convert::TryInto; -use std::default::Default; -use std::io::Read; -use std::{cmp, error, fmt}; - -use super::loop_filter; -use super::transform; -use crate::error::{ - DecodingError, ImageError, ImageResult, UnsupportedError, UnsupportedErrorKind, -}; -use crate::image::ImageFormat; - -use crate::utils::clamp; - -const MAX_SEGMENTS: usize = 4; -const NUM_DCT_TOKENS: usize = 12; - -// Prediction modes -const DC_PRED: i8 = 0; -const V_PRED: i8 = 1; -const H_PRED: i8 = 2; -const TM_PRED: i8 = 3; -const B_PRED: i8 = 4; - -const B_DC_PRED: i8 = 0; -const B_TM_PRED: i8 = 1; -const B_VE_PRED: i8 = 2; -const B_HE_PRED: i8 = 3; -const B_LD_PRED: i8 = 4; -const B_RD_PRED: i8 = 5; -const B_VR_PRED: i8 = 6; -const B_VL_PRED: i8 = 7; -const B_HD_PRED: i8 = 8; -const B_HU_PRED: i8 = 9; - -// Prediction mode enum -#[repr(i8)] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)] -enum LumaMode { - /// Predict DC using row above and column to the left. - #[default] - DC = DC_PRED, - - /// Predict rows using row above. - V = V_PRED, - - /// Predict columns using column to the left. - H = H_PRED, - - /// Propagate second differences. - TM = TM_PRED, - - /// Each Y subblock is independently predicted. - B = B_PRED, -} - -#[repr(i8)] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)] -enum ChromaMode { - /// Predict DC using row above and column to the left. - #[default] - DC = DC_PRED, - - /// Predict rows using row above. - V = V_PRED, - - /// Predict columns using column to the left. - H = H_PRED, - - /// Propagate second differences. - TM = TM_PRED, -} - -#[repr(i8)] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)] -enum IntraMode { - #[default] - DC = B_DC_PRED, - TM = B_TM_PRED, - VE = B_VE_PRED, - HE = B_HE_PRED, - LD = B_LD_PRED, - RD = B_RD_PRED, - VR = B_VR_PRED, - VL = B_VL_PRED, - HD = B_HD_PRED, - HU = B_HU_PRED, -} - -type Prob = u8; - -static SEGMENT_ID_TREE: [i8; 6] = [2, 4, -0, -1, -2, -3]; - -// Section 11.2 -// Tree for determining the keyframe luma intra prediction modes: -static KEYFRAME_YMODE_TREE: [i8; 8] = [-B_PRED, 2, 4, 6, -DC_PRED, -V_PRED, -H_PRED, -TM_PRED]; - -// Default probabilities for decoding the keyframe luma modes -static KEYFRAME_YMODE_PROBS: [Prob; 4] = [145, 156, 163, 128]; - -// Tree for determining the keyframe B_PRED mode: -static KEYFRAME_BPRED_MODE_TREE: [i8; 18] = [ - -B_DC_PRED, 2, -B_TM_PRED, 4, -B_VE_PRED, 6, 8, 12, -B_HE_PRED, 10, -B_RD_PRED, -B_VR_PRED, - -B_LD_PRED, 14, -B_VL_PRED, 16, -B_HD_PRED, -B_HU_PRED, -]; - -// Probabilities for the BPRED_MODE_TREE -static KEYFRAME_BPRED_MODE_PROBS: [[[u8; 9]; 10]; 10] = [ - [ - [231, 120, 48, 89, 115, 113, 120, 152, 112], - [152, 179, 64, 126, 170, 118, 46, 70, 95], - [175, 69, 143, 80, 85, 82, 72, 155, 103], - [56, 58, 10, 171, 218, 189, 17, 13, 152], - [144, 71, 10, 38, 171, 213, 144, 34, 26], - [114, 26, 17, 163, 44, 195, 21, 10, 173], - [121, 24, 80, 195, 26, 62, 44, 64, 85], - [170, 46, 55, 19, 136, 160, 33, 206, 71], - [63, 20, 8, 114, 114, 208, 12, 9, 226], - [81, 40, 11, 96, 182, 84, 29, 16, 36], - ], - [ - [134, 183, 89, 137, 98, 101, 106, 165, 148], - [72, 187, 100, 130, 157, 111, 32, 75, 80], - [66, 102, 167, 99, 74, 62, 40, 234, 128], - [41, 53, 9, 178, 241, 141, 26, 8, 107], - [104, 79, 12, 27, 217, 255, 87, 17, 7], - [74, 43, 26, 146, 73, 166, 49, 23, 157], - [65, 38, 105, 160, 51, 52, 31, 115, 128], - [87, 68, 71, 44, 114, 51, 15, 186, 23], - [47, 41, 14, 110, 182, 183, 21, 17, 194], - [66, 45, 25, 102, 197, 189, 23, 18, 22], - ], - [ - [88, 88, 147, 150, 42, 46, 45, 196, 205], - [43, 97, 183, 117, 85, 38, 35, 179, 61], - [39, 53, 200, 87, 26, 21, 43, 232, 171], - [56, 34, 51, 104, 114, 102, 29, 93, 77], - [107, 54, 32, 26, 51, 1, 81, 43, 31], - [39, 28, 85, 171, 58, 165, 90, 98, 64], - [34, 22, 116, 206, 23, 34, 43, 166, 73], - [68, 25, 106, 22, 64, 171, 36, 225, 114], - [34, 19, 21, 102, 132, 188, 16, 76, 124], - [62, 18, 78, 95, 85, 57, 50, 48, 51], - ], - [ - [193, 101, 35, 159, 215, 111, 89, 46, 111], - [60, 148, 31, 172, 219, 228, 21, 18, 111], - [112, 113, 77, 85, 179, 255, 38, 120, 114], - [40, 42, 1, 196, 245, 209, 10, 25, 109], - [100, 80, 8, 43, 154, 1, 51, 26, 71], - [88, 43, 29, 140, 166, 213, 37, 43, 154], - [61, 63, 30, 155, 67, 45, 68, 1, 209], - [142, 78, 78, 16, 255, 128, 34, 197, 171], - [41, 40, 5, 102, 211, 183, 4, 1, 221], - [51, 50, 17, 168, 209, 192, 23, 25, 82], - ], - [ - [125, 98, 42, 88, 104, 85, 117, 175, 82], - [95, 84, 53, 89, 128, 100, 113, 101, 45], - [75, 79, 123, 47, 51, 128, 81, 171, 1], - [57, 17, 5, 71, 102, 57, 53, 41, 49], - [115, 21, 2, 10, 102, 255, 166, 23, 6], - [38, 33, 13, 121, 57, 73, 26, 1, 85], - [41, 10, 67, 138, 77, 110, 90, 47, 114], - [101, 29, 16, 10, 85, 128, 101, 196, 26], - [57, 18, 10, 102, 102, 213, 34, 20, 43], - [117, 20, 15, 36, 163, 128, 68, 1, 26], - ], - [ - [138, 31, 36, 171, 27, 166, 38, 44, 229], - [67, 87, 58, 169, 82, 115, 26, 59, 179], - [63, 59, 90, 180, 59, 166, 93, 73, 154], - [40, 40, 21, 116, 143, 209, 34, 39, 175], - [57, 46, 22, 24, 128, 1, 54, 17, 37], - [47, 15, 16, 183, 34, 223, 49, 45, 183], - [46, 17, 33, 183, 6, 98, 15, 32, 183], - [65, 32, 73, 115, 28, 128, 23, 128, 205], - [40, 3, 9, 115, 51, 192, 18, 6, 223], - [87, 37, 9, 115, 59, 77, 64, 21, 47], - ], - [ - [104, 55, 44, 218, 9, 54, 53, 130, 226], - [64, 90, 70, 205, 40, 41, 23, 26, 57], - [54, 57, 112, 184, 5, 41, 38, 166, 213], - [30, 34, 26, 133, 152, 116, 10, 32, 134], - [75, 32, 12, 51, 192, 255, 160, 43, 51], - [39, 19, 53, 221, 26, 114, 32, 73, 255], - [31, 9, 65, 234, 2, 15, 1, 118, 73], - [88, 31, 35, 67, 102, 85, 55, 186, 85], - [56, 21, 23, 111, 59, 205, 45, 37, 192], - [55, 38, 70, 124, 73, 102, 1, 34, 98], - ], - [ - [102, 61, 71, 37, 34, 53, 31, 243, 192], - [69, 60, 71, 38, 73, 119, 28, 222, 37], - [68, 45, 128, 34, 1, 47, 11, 245, 171], - [62, 17, 19, 70, 146, 85, 55, 62, 70], - [75, 15, 9, 9, 64, 255, 184, 119, 16], - [37, 43, 37, 154, 100, 163, 85, 160, 1], - [63, 9, 92, 136, 28, 64, 32, 201, 85], - [86, 6, 28, 5, 64, 255, 25, 248, 1], - [56, 8, 17, 132, 137, 255, 55, 116, 128], - [58, 15, 20, 82, 135, 57, 26, 121, 40], - ], - [ - [164, 50, 31, 137, 154, 133, 25, 35, 218], - [51, 103, 44, 131, 131, 123, 31, 6, 158], - [86, 40, 64, 135, 148, 224, 45, 183, 128], - [22, 26, 17, 131, 240, 154, 14, 1, 209], - [83, 12, 13, 54, 192, 255, 68, 47, 28], - [45, 16, 21, 91, 64, 222, 7, 1, 197], - [56, 21, 39, 155, 60, 138, 23, 102, 213], - [85, 26, 85, 85, 128, 128, 32, 146, 171], - [18, 11, 7, 63, 144, 171, 4, 4, 246], - [35, 27, 10, 146, 174, 171, 12, 26, 128], - ], - [ - [190, 80, 35, 99, 180, 80, 126, 54, 45], - [85, 126, 47, 87, 176, 51, 41, 20, 32], - [101, 75, 128, 139, 118, 146, 116, 128, 85], - [56, 41, 15, 176, 236, 85, 37, 9, 62], - [146, 36, 19, 30, 171, 255, 97, 27, 20], - [71, 30, 17, 119, 118, 255, 17, 18, 138], - [101, 38, 60, 138, 55, 70, 43, 26, 142], - [138, 45, 61, 62, 219, 1, 81, 188, 64], - [32, 41, 20, 117, 151, 142, 20, 21, 163], - [112, 19, 12, 61, 195, 128, 48, 4, 24], - ], -]; - -// Section 11.4 Tree for determining macroblock the chroma mode -static KEYFRAME_UV_MODE_TREE: [i8; 6] = [-DC_PRED, 2, -V_PRED, 4, -H_PRED, -TM_PRED]; - -// Probabilities for determining macroblock mode -static KEYFRAME_UV_MODE_PROBS: [Prob; 3] = [142, 114, 183]; - -// Section 13.4 -type TokenProbTables = [[[[Prob; NUM_DCT_TOKENS - 1]; 3]; 8]; 4]; - -// Probabilities that a token's probability will be updated -static COEFF_UPDATE_PROBS: TokenProbTables = [ - [ - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255], - [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255], - [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255], - [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255], - [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - ], - [ - [ - [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255], - [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255], - ], - [ - [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255], - [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - ], - [ - [ - [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255], - [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255], - [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255], - ], - [ - [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - ], - [ - [ - [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255], - [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255], - [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255], - [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255], - [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255], - [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255], - [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255], - [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - [ - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], - ], - ], -]; - -// Section 13.5 -// Default Probabilities for tokens -static COEFF_PROBS: TokenProbTables = [ - [ - [ - [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], - [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], - [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], - ], - [ - [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128], - [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128], - [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128], - ], - [ - [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128], - [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128], - [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128], - ], - [ - [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128], - [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128], - [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128], - ], - [ - [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128], - [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128], - [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128], - ], - [ - [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128], - [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128], - [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128], - ], - [ - [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128], - [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128], - [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128], - ], - [ - [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], - [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], - [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], - ], - ], - [ - [ - [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62], - [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1], - [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128], - ], - [ - [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128], - [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128], - [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128], - ], - [ - [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128], - [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128], - [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128], - ], - [ - [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128], - [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128], - [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128], - ], - [ - [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128], - [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128], - [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128], - ], - [ - [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128], - [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128], - [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128], - ], - [ - [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128], - [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128], - [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128], - ], - [ - [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128], - [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128], - [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128], - ], - ], - [ - [ - [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128], - [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128], - [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128], - ], - [ - [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128], - [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128], - [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128], - ], - [ - [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128], - [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128], - [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128], - ], - [ - [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128], - [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128], - [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128], - ], - [ - [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128], - [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128], - [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], - ], - [ - [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128], - [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128], - [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128], - ], - [ - [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128], - [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128], - [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128], - ], - [ - [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], - [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], - [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], - ], - ], - [ - [ - [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255], - [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128], - [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128], - ], - [ - [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128], - [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128], - [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128], - ], - [ - [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128], - [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128], - [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128], - ], - [ - [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128], - [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128], - [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128], - ], - [ - [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128], - [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128], - [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128], - ], - [ - [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128], - [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128], - [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128], - ], - [ - [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128], - [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128], - [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128], - ], - [ - [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], - [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], - [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], - ], - ], -]; - -// DCT Tokens -const DCT_0: i8 = 0; -const DCT_1: i8 = 1; -const DCT_2: i8 = 2; -const DCT_3: i8 = 3; -const DCT_4: i8 = 4; -const DCT_CAT1: i8 = 5; -const DCT_CAT2: i8 = 6; -const DCT_CAT3: i8 = 7; -const DCT_CAT4: i8 = 8; -const DCT_CAT5: i8 = 9; -const DCT_CAT6: i8 = 10; -const DCT_EOB: i8 = 11; - -static DCT_TOKEN_TREE: [i8; 22] = [ - -DCT_EOB, 2, -DCT_0, 4, -DCT_1, 6, 8, 12, -DCT_2, 10, -DCT_3, -DCT_4, 14, 16, -DCT_CAT1, - -DCT_CAT2, 18, 20, -DCT_CAT3, -DCT_CAT4, -DCT_CAT5, -DCT_CAT6, -]; - -static PROB_DCT_CAT: [[Prob; 12]; 6] = [ - [159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [165, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [173, 148, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [176, 155, 140, 135, 0, 0, 0, 0, 0, 0, 0, 0], - [180, 157, 141, 134, 130, 0, 0, 0, 0, 0, 0, 0], - [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0], -]; - -static DCT_CAT_BASE: [u8; 6] = [5, 7, 11, 19, 35, 67]; -static COEFF_BANDS: [u8; 16] = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7]; - -#[rustfmt::skip] -static DC_QUANT: [i16; 128] = [ - 4, 5, 6, 7, 8, 9, 10, 10, - 11, 12, 13, 14, 15, 16, 17, 17, - 18, 19, 20, 20, 21, 21, 22, 22, - 23, 23, 24, 25, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, - 37, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, - 91, 93, 95, 96, 98, 100, 101, 102, - 104, 106, 108, 110, 112, 114, 116, 118, - 122, 124, 126, 128, 130, 132, 134, 136, - 138, 140, 143, 145, 148, 151, 154, 157, -]; - -#[rustfmt::skip] -static AC_QUANT: [i16; 128] = [ - 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 60, - 62, 64, 66, 68, 70, 72, 74, 76, - 78, 80, 82, 84, 86, 88, 90, 92, - 94, 96, 98, 100, 102, 104, 106, 108, - 110, 112, 114, 116, 119, 122, 125, 128, - 131, 134, 137, 140, 143, 146, 149, 152, - 155, 158, 161, 164, 167, 170, 173, 177, - 181, 185, 189, 193, 197, 201, 205, 209, - 213, 217, 221, 225, 229, 234, 239, 245, - 249, 254, 259, 264, 269, 274, 279, 284, -]; - -static ZIGZAG: [u8; 16] = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15]; - -/// All errors that can occur when attempting to parse a VP8 codec inside WebP -#[derive(Debug, Clone, Copy)] -enum DecoderError { - /// VP8's `[0x9D, 0x01, 0x2A]` magic not found or invalid - Vp8MagicInvalid([u8; 3]), - - /// Decoder initialisation wasn't provided with enough data - NotEnoughInitData, - - /// At time of writing, only the YUV colour-space encoded as `0` is specified - ColorSpaceInvalid(u8), - /// LUMA prediction mode was not recognised - LumaPredictionModeInvalid(i8), - /// Intra-prediction mode was not recognised - IntraPredictionModeInvalid(i8), - /// Chroma prediction mode was not recognised - ChromaPredictionModeInvalid(i8), -} - -impl fmt::Display for DecoderError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - DecoderError::Vp8MagicInvalid(tag) => f.write_fmt(format_args!( - "Invalid VP8 magic: [{:#04X?}, {:#04X?}, {:#04X?}]", - tag[0], tag[1], tag[2] - )), - - DecoderError::NotEnoughInitData => { - f.write_str("Expected at least 2 bytes of VP8 decoder initialization data") - } - - DecoderError::ColorSpaceInvalid(cs) => { - f.write_fmt(format_args!("Invalid non-YUV VP8 color space {}", cs)) - } - DecoderError::LumaPredictionModeInvalid(pm) => { - f.write_fmt(format_args!("Invalid VP8 LUMA prediction mode {}", pm)) - } - DecoderError::IntraPredictionModeInvalid(i) => { - f.write_fmt(format_args!("Invalid VP8 intra-prediction mode {}", i)) - } - DecoderError::ChromaPredictionModeInvalid(c) => { - f.write_fmt(format_args!("Invalid VP8 chroma prediction mode {}", c)) - } - } - } -} - -impl From for ImageError { - fn from(e: DecoderError) -> ImageError { - ImageError::Decoding(DecodingError::new(ImageFormat::WebP.into(), e)) - } -} - -impl error::Error for DecoderError {} - -struct BoolReader { - buf: Vec, - index: usize, - - range: u32, - value: u32, - bit_count: u8, -} - -impl BoolReader { - pub(crate) fn new() -> BoolReader { - BoolReader { - buf: Vec::new(), - range: 0, - value: 0, - bit_count: 0, - index: 0, - } - } - - pub(crate) fn init(&mut self, buf: Vec) -> ImageResult<()> { - if buf.len() < 2 { - return Err(DecoderError::NotEnoughInitData.into()); - } - - self.buf = buf; - // Direct access safe, since length has just been validated. - self.value = (u32::from(self.buf[0]) << 8) | u32::from(self.buf[1]); - self.index = 2; - self.range = 255; - self.bit_count = 0; - - Ok(()) - } - - pub(crate) fn read_bool(&mut self, probability: u8) -> bool { - let split = 1 + (((self.range - 1) * u32::from(probability)) >> 8); - let bigsplit = split << 8; - - let retval = if self.value >= bigsplit { - self.range -= split; - self.value -= bigsplit; - true - } else { - self.range = split; - false - }; - - while self.range < 128 { - self.value <<= 1; - self.range <<= 1; - self.bit_count += 1; - - if self.bit_count == 8 { - self.bit_count = 0; - - // If no more bits are available, just don't do anything. - // This strategy is suggested in the reference implementation of RFC6386 (p.135) - if self.index < self.buf.len() { - self.value |= u32::from(self.buf[self.index]); - self.index += 1; - } - } - } - - retval - } - - pub(crate) fn read_literal(&mut self, n: u8) -> u8 { - let mut v = 0u8; - let mut n = n; - - while n != 0 { - v = (v << 1) + self.read_bool(128u8) as u8; - n -= 1; - } - - v - } - - pub(crate) fn read_magnitude_and_sign(&mut self, n: u8) -> i32 { - let magnitude = self.read_literal(n); - let sign = self.read_literal(1); - - if sign == 1 { - -i32::from(magnitude) - } else { - i32::from(magnitude) - } - } - - pub(crate) fn read_with_tree(&mut self, tree: &[i8], probs: &[Prob], start: isize) -> i8 { - let mut index = start; - - loop { - let a = self.read_bool(probs[index as usize >> 1]); - let b = index + a as isize; - index = tree[b as usize] as isize; - - if index <= 0 { - break; - } - } - - -index as i8 - } - - pub(crate) fn read_flag(&mut self) -> bool { - 0 != self.read_literal(1) - } -} - -#[derive(Default, Clone, Copy)] -struct MacroBlock { - bpred: [IntraMode; 16], - complexity: [u8; 9], - luma_mode: LumaMode, - chroma_mode: ChromaMode, - segmentid: u8, - coeffs_skipped: bool, -} - -/// A Representation of the last decoded video frame -#[derive(Default, Debug, Clone)] -pub struct Frame { - /// The width of the luma plane - pub width: u16, - - /// The height of the luma plane - pub height: u16, - - /// The luma plane of the frame - pub ybuf: Vec, - - /// The blue plane of the frame - pub ubuf: Vec, - - /// The red plane of the frame - pub vbuf: Vec, - - /// Indicates whether this frame is a keyframe - pub keyframe: bool, - - version: u8, - - /// Indicates whether this frame is intended for display - pub for_display: bool, - - // Section 9.2 - /// The pixel type of the frame as defined by Section 9.2 - /// of the VP8 Specification - pub pixel_type: u8, - - // Section 9.4 and 15 - filter_type: bool, //if true uses simple filter // if false uses normal filter - filter_level: u8, - sharpness_level: u8, -} - -impl Frame { - /// Chroma plane is half the size of the Luma plane - fn chroma_width(&self) -> u16 { - (self.width + 1) / 2 - } - - fn chroma_height(&self) -> u16 { - (self.height + 1) / 2 - } - - /// Fills an rgb buffer with the image - pub(crate) fn fill_rgb(&self, buf: &mut [u8]) { - for (index, rgb_chunk) in (0..self.ybuf.len()).zip(buf.chunks_exact_mut(3)) { - let y = index / self.width as usize; - let x = index % self.width as usize; - let chroma_index = self.chroma_width() as usize * (y / 2) + x / 2; - - Frame::fill_single( - self.ybuf[index], - self.ubuf[chroma_index], - self.vbuf[chroma_index], - rgb_chunk, - ); - } - } - - /// Fills an rgba buffer by skipping the alpha values - pub(crate) fn fill_rgba(&self, buf: &mut [u8]) { - for (index, rgba_chunk) in (0..self.ybuf.len()).zip(buf.chunks_exact_mut(4)) { - let y = index / self.width as usize; - let x = index % self.width as usize; - let chroma_index = self.chroma_width() as usize * (y / 2) + x / 2; - - Frame::fill_single( - self.ybuf[index], - self.ubuf[chroma_index], - self.vbuf[chroma_index], - rgba_chunk, - ); - } - } - - /// Conversion values from https://docs.microsoft.com/en-us/windows/win32/medfound/recommended-8-bit-yuv-formats-for-video-rendering#converting-8-bit-yuv-to-rgb888 - fn fill_single(y: u8, u: u8, v: u8, rgb: &mut [u8]) { - let c: i32 = i32::from(y) - 16; - let d: i32 = i32::from(u) - 128; - let e: i32 = i32::from(v) - 128; - - let r: u8 = clamp((298 * c + 409 * e + 128) >> 8, 0, 255) - .try_into() - .unwrap(); - let g: u8 = clamp((298 * c - 100 * d - 208 * e + 128) >> 8, 0, 255) - .try_into() - .unwrap(); - let b: u8 = clamp((298 * c + 516 * d + 128) >> 8, 0, 255) - .try_into() - .unwrap(); - - rgb[0] = r; - rgb[1] = g; - rgb[2] = b; - } - - /// Gets the buffer size - pub fn get_buf_size(&self) -> usize { - self.ybuf.len() * 3 - } -} - -#[derive(Clone, Copy, Default)] -struct Segment { - ydc: i16, - yac: i16, - - y2dc: i16, - y2ac: i16, - - uvdc: i16, - uvac: i16, - - delta_values: bool, - - quantizer_level: i8, - loopfilter_level: i8, -} - -/// VP8 Decoder -/// -/// Only decodes keyframes -pub struct Vp8Decoder { - r: R, - b: BoolReader, - - mbwidth: u16, - mbheight: u16, - macroblocks: Vec, - - frame: Frame, - - segments_enabled: bool, - segments_update_map: bool, - segment: [Segment; MAX_SEGMENTS], - - ref_delta: [i32; 4], - mode_delta: [i32; 4], - - partitions: [BoolReader; 8], - num_partitions: u8, - - segment_tree_probs: [Prob; 3], - token_probs: Box, - - // Section 9.10 - prob_intra: Prob, - - // Section 9.11 - prob_skip_false: Option, - - top: Vec, - left: MacroBlock, - - top_border: Vec, - left_border: Vec, -} - -impl Vp8Decoder { - /// Create a new decoder. - /// The reader must present a raw vp8 bitstream to the decoder - pub fn new(r: R) -> Vp8Decoder { - let f = Frame::default(); - let s = Segment::default(); - let m = MacroBlock::default(); - - Vp8Decoder { - r, - b: BoolReader::new(), - - mbwidth: 0, - mbheight: 0, - macroblocks: Vec::new(), - - frame: f, - segments_enabled: false, - segments_update_map: false, - segment: [s; MAX_SEGMENTS], - - ref_delta: [0; 4], - mode_delta: [0; 4], - - partitions: [ - BoolReader::new(), - BoolReader::new(), - BoolReader::new(), - BoolReader::new(), - BoolReader::new(), - BoolReader::new(), - BoolReader::new(), - BoolReader::new(), - ], - - num_partitions: 1, - - segment_tree_probs: [255u8; 3], - token_probs: Box::new(COEFF_PROBS), - - // Section 9.10 - prob_intra: 0u8, - - // Section 9.11 - prob_skip_false: None, - - top: Vec::new(), - left: m, - - top_border: Vec::new(), - left_border: Vec::new(), - } - } - - fn update_token_probabilities(&mut self) { - for (i, is) in COEFF_UPDATE_PROBS.iter().enumerate() { - for (j, js) in is.iter().enumerate() { - for (k, ks) in js.iter().enumerate() { - for (t, prob) in ks.iter().enumerate().take(NUM_DCT_TOKENS - 1) { - if self.b.read_bool(*prob) { - let v = self.b.read_literal(8); - self.token_probs[i][j][k][t] = v; - } - } - } - } - } - } - - fn init_partitions(&mut self, n: usize) -> ImageResult<()> { - if n > 1 { - let mut sizes = vec![0; 3 * n - 3]; - self.r.read_exact(sizes.as_mut_slice())?; - - for (i, s) in sizes.chunks(3).enumerate() { - let size = { s } - .read_u24::() - .expect("Reading from &[u8] can't fail and the chunk is complete"); - - let mut buf = vec![0; size as usize]; - self.r.read_exact(buf.as_mut_slice())?; - - self.partitions[i].init(buf)?; - } - } - - let mut buf = Vec::new(); - self.r.read_to_end(&mut buf)?; - self.partitions[n - 1].init(buf)?; - - Ok(()) - } - - fn read_quantization_indices(&mut self) { - fn dc_quant(index: i32) -> i16 { - DC_QUANT[clamp(index, 0, 127) as usize] - } - - fn ac_quant(index: i32) -> i16 { - AC_QUANT[clamp(index, 0, 127) as usize] - } - - let yac_abs = self.b.read_literal(7); - let ydc_delta = if self.b.read_flag() { - self.b.read_magnitude_and_sign(4) - } else { - 0 - }; - - let y2dc_delta = if self.b.read_flag() { - self.b.read_magnitude_and_sign(4) - } else { - 0 - }; - - let y2ac_delta = if self.b.read_flag() { - self.b.read_magnitude_and_sign(4) - } else { - 0 - }; - - let uvdc_delta = if self.b.read_flag() { - self.b.read_magnitude_and_sign(4) - } else { - 0 - }; - - let uvac_delta = if self.b.read_flag() { - self.b.read_magnitude_and_sign(4) - } else { - 0 - }; - - let n = if self.segments_enabled { - MAX_SEGMENTS - } else { - 1 - }; - for i in 0usize..n { - let base = i32::from(if !self.segment[i].delta_values { - i16::from(self.segment[i].quantizer_level) - } else { - i16::from(self.segment[i].quantizer_level) + i16::from(yac_abs) - }); - - self.segment[i].ydc = dc_quant(base + ydc_delta); - self.segment[i].yac = ac_quant(base); - - self.segment[i].y2dc = dc_quant(base + y2dc_delta) * 2; - // The intermediate result (max`284*155`) can be larger than the `i16` range. - self.segment[i].y2ac = (i32::from(ac_quant(base + y2ac_delta)) * 155 / 100) as i16; - - self.segment[i].uvdc = dc_quant(base + uvdc_delta); - self.segment[i].uvac = ac_quant(base + uvac_delta); - - if self.segment[i].y2ac < 8 { - self.segment[i].y2ac = 8; - } - - if self.segment[i].uvdc > 132 { - self.segment[i].uvdc = 132; - } - } - } - - fn read_loop_filter_adjustments(&mut self) { - if self.b.read_flag() { - for i in 0usize..4 { - let ref_frame_delta_update_flag = self.b.read_flag(); - - self.ref_delta[i] = if ref_frame_delta_update_flag { - self.b.read_magnitude_and_sign(6) - } else { - 0i32 - }; - } - - for i in 0usize..4 { - let mb_mode_delta_update_flag = self.b.read_flag(); - - self.mode_delta[i] = if mb_mode_delta_update_flag { - self.b.read_magnitude_and_sign(6) - } else { - 0i32 - }; - } - } - } - - fn read_segment_updates(&mut self) { - // Section 9.3 - self.segments_update_map = self.b.read_flag(); - let update_segment_feature_data = self.b.read_flag(); - - if update_segment_feature_data { - let segment_feature_mode = self.b.read_flag(); - - for i in 0usize..MAX_SEGMENTS { - self.segment[i].delta_values = !segment_feature_mode; - } - - for i in 0usize..MAX_SEGMENTS { - let update = self.b.read_flag(); - - self.segment[i].quantizer_level = if update { - self.b.read_magnitude_and_sign(7) - } else { - 0i32 - } as i8; - } - - for i in 0usize..MAX_SEGMENTS { - let update = self.b.read_flag(); - - self.segment[i].loopfilter_level = if update { - self.b.read_magnitude_and_sign(6) - } else { - 0i32 - } as i8; - } - } - - if self.segments_update_map { - for i in 0usize..3 { - let update = self.b.read_flag(); - - self.segment_tree_probs[i] = if update { self.b.read_literal(8) } else { 255 }; - } - } - } - - fn read_frame_header(&mut self) -> ImageResult<()> { - let tag = self.r.read_u24::()?; - - self.frame.keyframe = tag & 1 == 0; - self.frame.version = ((tag >> 1) & 7) as u8; - self.frame.for_display = (tag >> 4) & 1 != 0; - - let first_partition_size = tag >> 5; - - if self.frame.keyframe { - let mut tag = [0u8; 3]; - self.r.read_exact(&mut tag)?; - - if tag != [0x9d, 0x01, 0x2a] { - return Err(DecoderError::Vp8MagicInvalid(tag).into()); - } - - let w = self.r.read_u16::()?; - let h = self.r.read_u16::()?; - - self.frame.width = w & 0x3FFF; - self.frame.height = h & 0x3FFF; - - self.top = init_top_macroblocks(self.frame.width as usize); - // Almost always the first macro block, except when non exists (i.e. `width == 0`) - self.left = self.top.first().cloned().unwrap_or_default(); - - self.mbwidth = (self.frame.width + 15) / 16; - self.mbheight = (self.frame.height + 15) / 16; - - self.frame.ybuf = vec![0u8; self.frame.width as usize * self.frame.height as usize]; - self.frame.ubuf = - vec![0u8; self.frame.chroma_width() as usize * self.frame.chroma_height() as usize]; - self.frame.vbuf = - vec![0u8; self.frame.chroma_width() as usize * self.frame.chroma_height() as usize]; - - self.top_border = vec![127u8; self.frame.width as usize + 4 + 16]; - self.left_border = vec![129u8; 1 + 16]; - } - - let mut buf = vec![0; first_partition_size as usize]; - self.r.read_exact(&mut buf)?; - - // initialise binary decoder - self.b.init(buf)?; - - if self.frame.keyframe { - let color_space = self.b.read_literal(1); - self.frame.pixel_type = self.b.read_literal(1); - - if color_space != 0 { - return Err(DecoderError::ColorSpaceInvalid(color_space).into()); - } - } - - self.segments_enabled = self.b.read_flag(); - if self.segments_enabled { - self.read_segment_updates(); - } - - self.frame.filter_type = self.b.read_flag(); - self.frame.filter_level = self.b.read_literal(6); - self.frame.sharpness_level = self.b.read_literal(3); - - let lf_adjust_enable = self.b.read_flag(); - if lf_adjust_enable { - self.read_loop_filter_adjustments(); - } - - self.num_partitions = (1usize << self.b.read_literal(2) as usize) as u8; - let num_partitions = self.num_partitions as usize; - self.init_partitions(num_partitions)?; - - self.read_quantization_indices(); - - if !self.frame.keyframe { - // 9.7 refresh golden frame and altref frame - // FIXME: support this? - return Err(ImageError::Unsupported( - UnsupportedError::from_format_and_kind( - ImageFormat::WebP.into(), - UnsupportedErrorKind::GenericFeature("Non-keyframe frames".to_owned()), - ), - )); - } else { - // Refresh entropy probs ????? - let _ = self.b.read_literal(1); - } - - self.update_token_probabilities(); - - let mb_no_skip_coeff = self.b.read_literal(1); - self.prob_skip_false = if mb_no_skip_coeff == 1 { - Some(self.b.read_literal(8)) - } else { - None - }; - - if !self.frame.keyframe { - // 9.10 remaining frame data - self.prob_intra = 0; - - // FIXME: support this? - return Err(ImageError::Unsupported( - UnsupportedError::from_format_and_kind( - ImageFormat::WebP.into(), - UnsupportedErrorKind::GenericFeature("Non-keyframe frames".to_owned()), - ), - )); - } else { - // Reset motion vectors - } - - Ok(()) - } - - fn read_macroblock_header(&mut self, mbx: usize) -> ImageResult { - let mut mb = MacroBlock::default(); - - if self.segments_enabled && self.segments_update_map { - mb.segmentid = self - .b - .read_with_tree(&SEGMENT_ID_TREE, &self.segment_tree_probs, 0) - as u8; - }; - - mb.coeffs_skipped = if self.prob_skip_false.is_some() { - self.b.read_bool(*self.prob_skip_false.as_ref().unwrap()) - } else { - false - }; - - let inter_predicted = if !self.frame.keyframe { - self.b.read_bool(self.prob_intra) - } else { - false - }; - - if inter_predicted { - return Err(ImageError::Unsupported( - UnsupportedError::from_format_and_kind( - ImageFormat::WebP.into(), - UnsupportedErrorKind::GenericFeature("VP8 inter-prediction".to_owned()), - ), - )); - } - - if self.frame.keyframe { - // intra prediction - let luma = self - .b - .read_with_tree(&KEYFRAME_YMODE_TREE, &KEYFRAME_YMODE_PROBS, 0); - mb.luma_mode = - LumaMode::from_i8(luma).ok_or(DecoderError::LumaPredictionModeInvalid(luma))?; - - match mb.luma_mode.into_intra() { - // `LumaMode::B` - This is predicted individually - None => { - for y in 0usize..4 { - for x in 0usize..4 { - let top = self.top[mbx].bpred[12 + x]; - let left = self.left.bpred[y]; - let intra = self.b.read_with_tree( - &KEYFRAME_BPRED_MODE_TREE, - &KEYFRAME_BPRED_MODE_PROBS[top as usize][left as usize], - 0, - ); - let bmode = IntraMode::from_i8(intra) - .ok_or(DecoderError::IntraPredictionModeInvalid(intra))?; - mb.bpred[x + y * 4] = bmode; - - self.top[mbx].bpred[12 + x] = bmode; - self.left.bpred[y] = bmode; - } - } - } - Some(mode) => { - for i in 0usize..4 { - mb.bpred[12 + i] = mode; - self.left.bpred[i] = mode; - } - } - } - - let chroma = self - .b - .read_with_tree(&KEYFRAME_UV_MODE_TREE, &KEYFRAME_UV_MODE_PROBS, 0); - mb.chroma_mode = ChromaMode::from_i8(chroma) - .ok_or(DecoderError::ChromaPredictionModeInvalid(chroma))?; - } - - self.top[mbx].chroma_mode = mb.chroma_mode; - self.top[mbx].luma_mode = mb.luma_mode; - self.top[mbx].bpred = mb.bpred; - - Ok(mb) - } - - fn intra_predict_luma(&mut self, mbx: usize, mby: usize, mb: &MacroBlock, resdata: &[i32]) { - let stride = 1usize + 16 + 4; - let w = self.frame.width as usize; - let mw = self.mbwidth as usize; - let mut ws = create_border_luma(mbx, mby, mw, &self.top_border, &self.left_border); - - match mb.luma_mode { - LumaMode::V => predict_vpred(&mut ws, 16, 1, 1, stride), - LumaMode::H => predict_hpred(&mut ws, 16, 1, 1, stride), - LumaMode::TM => predict_tmpred(&mut ws, 16, 1, 1, stride), - LumaMode::DC => predict_dcpred(&mut ws, 16, stride, mby != 0, mbx != 0), - LumaMode::B => predict_4x4(&mut ws, stride, &mb.bpred, resdata), - } - - if mb.luma_mode != LumaMode::B { - for y in 0usize..4 { - for x in 0usize..4 { - let i = x + y * 4; - // Create a reference to a [i32; 16] array for add_residue (slices of size 16 do not work). - let rb: &[i32; 16] = resdata[i * 16..][..16].try_into().unwrap(); - let y0 = 1 + y * 4; - let x0 = 1 + x * 4; - - add_residue(&mut ws, rb, y0, x0, stride); - } - } - } - - self.left_border[0] = ws[16]; - - for i in 0usize..16 { - self.top_border[mbx * 16 + i] = ws[16 * stride + 1 + i]; - self.left_border[i + 1] = ws[(i + 1) * stride + 16]; - } - - // Length is the remainder to the border, but maximally the current chunk. - let ylength = cmp::min(self.frame.height as usize - mby * 16, 16); - let xlength = cmp::min(self.frame.width as usize - mbx * 16, 16); - - for y in 0usize..ylength { - for x in 0usize..xlength { - self.frame.ybuf[(mby * 16 + y) * w + mbx * 16 + x] = ws[(1 + y) * stride + 1 + x]; - } - } - } - - fn intra_predict_chroma(&mut self, mbx: usize, mby: usize, mb: &MacroBlock, resdata: &[i32]) { - let stride = 1usize + 8; - - let w = self.frame.chroma_width() as usize; - - //8x8 with left top border of 1 - let mut uws = [0u8; (8 + 1) * (8 + 1)]; - let mut vws = [0u8; (8 + 1) * (8 + 1)]; - - let ylength = cmp::min(self.frame.chroma_height() as usize - mby * 8, 8); - let xlength = cmp::min(self.frame.chroma_width() as usize - mbx * 8, 8); - - //left border - for y in 0usize..8 { - let (uy, vy) = if mbx == 0 || y >= ylength { - (129, 129) - } else { - let index = (mby * 8 + y) * w + ((mbx - 1) * 8 + 7); - (self.frame.ubuf[index], self.frame.vbuf[index]) - }; - - uws[(y + 1) * stride] = uy; - vws[(y + 1) * stride] = vy; - } - //top border - for x in 0usize..8 { - let (ux, vx) = if mby == 0 || x >= xlength { - (127, 127) - } else { - let index = ((mby - 1) * 8 + 7) * w + (mbx * 8 + x); - (self.frame.ubuf[index], self.frame.vbuf[index]) - }; - - uws[x + 1] = ux; - vws[x + 1] = vx; - } - - //top left point - let (u1, v1) = if mby == 0 { - (127, 127) - } else if mbx == 0 { - (129, 129) - } else { - let index = ((mby - 1) * 8 + 7) * w + (mbx - 1) * 8 + 7; - if index >= self.frame.ubuf.len() { - (127, 127) - } else { - (self.frame.ubuf[index], self.frame.vbuf[index]) - } - }; - - uws[0] = u1; - vws[0] = v1; - - match mb.chroma_mode { - ChromaMode::DC => { - predict_dcpred(&mut uws, 8, stride, mby != 0, mbx != 0); - predict_dcpred(&mut vws, 8, stride, mby != 0, mbx != 0); - } - ChromaMode::V => { - predict_vpred(&mut uws, 8, 1, 1, stride); - predict_vpred(&mut vws, 8, 1, 1, stride); - } - ChromaMode::H => { - predict_hpred(&mut uws, 8, 1, 1, stride); - predict_hpred(&mut vws, 8, 1, 1, stride); - } - ChromaMode::TM => { - predict_tmpred(&mut uws, 8, 1, 1, stride); - predict_tmpred(&mut vws, 8, 1, 1, stride); - } - } - - for y in 0usize..2 { - for x in 0usize..2 { - let i = x + y * 2; - let urb: &[i32; 16] = resdata[16 * 16 + i * 16..][..16].try_into().unwrap(); - - let y0 = 1 + y * 4; - let x0 = 1 + x * 4; - add_residue(&mut uws, urb, y0, x0, stride); - - let vrb: &[i32; 16] = resdata[20 * 16 + i * 16..][..16].try_into().unwrap(); - - add_residue(&mut vws, vrb, y0, x0, stride); - } - } - - for y in 0usize..ylength { - for x in 0usize..xlength { - self.frame.ubuf[(mby * 8 + y) * w + mbx * 8 + x] = uws[(1 + y) * stride + 1 + x]; - self.frame.vbuf[(mby * 8 + y) * w + mbx * 8 + x] = vws[(1 + y) * stride + 1 + x]; - } - } - } - - fn read_coefficients( - &mut self, - block: &mut [i32], - p: usize, - plane: usize, - complexity: usize, - dcq: i16, - acq: i16, - ) -> bool { - let first = if plane == 0 { 1usize } else { 0usize }; - let probs = &self.token_probs[plane]; - let tree = &DCT_TOKEN_TREE; - - let mut complexity = complexity; - let mut has_coefficients = false; - let mut skip = false; - - for i in first..16usize { - let table = &probs[COEFF_BANDS[i] as usize][complexity]; - - let token = if !skip { - self.partitions[p].read_with_tree(tree, table, 0) - } else { - self.partitions[p].read_with_tree(tree, table, 2) - }; - - let mut abs_value = i32::from(match token { - DCT_EOB => break, - - DCT_0 => { - skip = true; - has_coefficients = true; - complexity = 0; - continue; - } - - literal @ DCT_1..=DCT_4 => i16::from(literal), - - category @ DCT_CAT1..=DCT_CAT6 => { - let t = PROB_DCT_CAT[(category - DCT_CAT1) as usize]; - - let mut extra = 0i16; - let mut j = 0; - - while t[j] > 0 { - extra = extra + extra + self.partitions[p].read_bool(t[j]) as i16; - j += 1; - } - - i16::from(DCT_CAT_BASE[(category - DCT_CAT1) as usize]) + extra - } - - c => panic!("unknown token: {}", c), - }); - - skip = false; - - complexity = if abs_value == 0 { - 0 - } else if abs_value == 1 { - 1 - } else { - 2 - }; - - if self.partitions[p].read_bool(128) { - abs_value = -abs_value; - } - - block[ZIGZAG[i] as usize] = - abs_value * i32::from(if ZIGZAG[i] > 0 { acq } else { dcq }); - - has_coefficients = true; - } - - has_coefficients - } - - fn read_residual_data(&mut self, mb: &MacroBlock, mbx: usize, p: usize) -> [i32; 384] { - let sindex = mb.segmentid as usize; - let mut blocks = [0i32; 384]; - let mut plane = if mb.luma_mode == LumaMode::B { 3 } else { 1 }; - - if plane == 1 { - let complexity = self.top[mbx].complexity[0] + self.left.complexity[0]; - let mut block = [0i32; 16]; - let dcq = self.segment[sindex].y2dc; - let acq = self.segment[sindex].y2ac; - let n = self.read_coefficients(&mut block, p, plane, complexity as usize, dcq, acq); - - self.left.complexity[0] = if n { 1 } else { 0 }; - self.top[mbx].complexity[0] = if n { 1 } else { 0 }; - - transform::iwht4x4(&mut block); - - for k in 0usize..16 { - blocks[16 * k] = block[k]; - } - - plane = 0; - } - - for y in 0usize..4 { - let mut left = self.left.complexity[y + 1]; - for x in 0usize..4 { - let i = x + y * 4; - let block = &mut blocks[i * 16..i * 16 + 16]; - - let complexity = self.top[mbx].complexity[x + 1] + left; - let dcq = self.segment[sindex].ydc; - let acq = self.segment[sindex].yac; - - let n = self.read_coefficients(block, p, plane, complexity as usize, dcq, acq); - - if block[0] != 0 || n { - transform::idct4x4(block); - } - - left = if n { 1 } else { 0 }; - self.top[mbx].complexity[x + 1] = if n { 1 } else { 0 }; - } - - self.left.complexity[y + 1] = left; - } - - plane = 2; - - for &j in &[5usize, 7usize] { - for y in 0usize..2 { - let mut left = self.left.complexity[y + j]; - - for x in 0usize..2 { - let i = x + y * 2 + if j == 5 { 16 } else { 20 }; - let block = &mut blocks[i * 16..i * 16 + 16]; - - let complexity = self.top[mbx].complexity[x + j] + left; - let dcq = self.segment[sindex].uvdc; - let acq = self.segment[sindex].uvac; - - let n = self.read_coefficients(block, p, plane, complexity as usize, dcq, acq); - if block[0] != 0 || n { - transform::idct4x4(block); - } - - left = if n { 1 } else { 0 }; - self.top[mbx].complexity[x + j] = if n { 1 } else { 0 }; - } - - self.left.complexity[y + j] = left; - } - } - - blocks - } - - /// Does loop filtering on the macroblock - fn loop_filter(&mut self, mbx: usize, mby: usize, mb: &MacroBlock) { - let luma_w = self.frame.width as usize; - let luma_h = self.frame.height as usize; - let chroma_w = self.frame.chroma_width() as usize; - let chroma_h = self.frame.chroma_height() as usize; - - let (filter_level, interior_limit, hev_threshold) = self.calculate_filter_parameters(mb); - - if filter_level > 0 { - let mbedge_limit = (filter_level + 2) * 2 + interior_limit; - let sub_bedge_limit = (filter_level * 2) + interior_limit; - - let luma_ylength = cmp::min(luma_h - 16 * mby, 16); - let luma_xlength = cmp::min(luma_w - 16 * mbx, 16); - - let chroma_ylength = cmp::min(chroma_h - 8 * mby, 8); - let chroma_xlength = cmp::min(chroma_w - 8 * mbx, 8); - - //filter across left of macroblock - if mbx > 0 { - //simple loop filtering - if self.frame.filter_type { - if luma_xlength >= 2 { - for y in 0usize..luma_ylength { - let y0 = mby * 16 + y; - let x0 = mbx * 16; - - loop_filter::simple_segment( - mbedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - 1, - ); - } - } - } else { - if luma_xlength >= 4 { - for y in 0usize..luma_ylength { - let y0 = mby * 16 + y; - let x0 = mbx * 16; - - loop_filter::macroblock_filter( - hev_threshold, - interior_limit, - mbedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - 1, - ); - } - } - - if chroma_xlength >= 4 { - for y in 0usize..chroma_ylength { - let y0 = mby * 8 + y; - let x0 = mbx * 8; - - loop_filter::macroblock_filter( - hev_threshold, - interior_limit, - mbedge_limit, - &mut self.frame.ubuf[..], - y0 * chroma_w + x0, - 1, - ); - loop_filter::macroblock_filter( - hev_threshold, - interior_limit, - mbedge_limit, - &mut self.frame.vbuf[..], - y0 * chroma_w + x0, - 1, - ); - } - } - } - } - - //filter across vertical subblocks in macroblock - if mb.luma_mode == LumaMode::B || !mb.coeffs_skipped { - if self.frame.filter_type { - for x in (4usize..luma_xlength - 1).step_by(4) { - for y in 0..luma_ylength { - let y0 = mby * 16 + y; - let x0 = mbx * 16 + x; - - loop_filter::simple_segment( - sub_bedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - 1, - ); - } - } - } else { - if luma_xlength > 3 { - for x in (4usize..luma_xlength - 3).step_by(4) { - for y in 0..luma_ylength { - let y0 = mby * 16 + y; - let x0 = mbx * 16 + x; - - loop_filter::subblock_filter( - hev_threshold, - interior_limit, - sub_bedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - 1, - ); - } - } - } - - if chroma_xlength == 8 { - for y in 0usize..chroma_ylength { - let y0 = mby * 8 + y; - let x0 = mbx * 8 + 4; - - loop_filter::subblock_filter( - hev_threshold, - interior_limit, - sub_bedge_limit, - &mut self.frame.ubuf[..], - y0 * chroma_w + x0, - 1, - ); - - loop_filter::subblock_filter( - hev_threshold, - interior_limit, - sub_bedge_limit, - &mut self.frame.vbuf[..], - y0 * chroma_w + x0, - 1, - ); - } - } - } - } - - //filter across top of macroblock - if mby > 0 { - if self.frame.filter_type { - if luma_ylength >= 2 { - for x in 0usize..luma_xlength { - let y0 = mby * 16; - let x0 = mbx * 16 + x; - - loop_filter::simple_segment( - mbedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - luma_w, - ); - } - } - } else { - //if bottom macroblock, can only filter if there is 3 pixels below - if luma_ylength >= 4 { - for x in 0usize..luma_xlength { - let y0 = mby * 16; - let x0 = mbx * 16 + x; - - loop_filter::macroblock_filter( - hev_threshold, - interior_limit, - mbedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - luma_w, - ); - } - } - - if chroma_ylength >= 4 { - for x in 0usize..chroma_xlength { - let y0 = mby * 8; - let x0 = mbx * 8 + x; - - loop_filter::macroblock_filter( - hev_threshold, - interior_limit, - mbedge_limit, - &mut self.frame.ubuf[..], - y0 * chroma_w + x0, - chroma_w, - ); - loop_filter::macroblock_filter( - hev_threshold, - interior_limit, - mbedge_limit, - &mut self.frame.vbuf[..], - y0 * chroma_w + x0, - chroma_w, - ); - } - } - } - } - - //filter across horizontal subblock edges within the macroblock - if mb.luma_mode == LumaMode::B || !mb.coeffs_skipped { - if self.frame.filter_type { - for y in (4usize..luma_ylength - 1).step_by(4) { - for x in 0..luma_xlength { - let y0 = mby * 16 + y; - let x0 = mbx * 16 + x; - - loop_filter::simple_segment( - sub_bedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - luma_w, - ); - } - } - } else { - if luma_ylength > 3 { - for y in (4usize..luma_ylength - 3).step_by(4) { - for x in 0..luma_xlength { - let y0 = mby * 16 + y; - let x0 = mbx * 16 + x; - - loop_filter::subblock_filter( - hev_threshold, - interior_limit, - sub_bedge_limit, - &mut self.frame.ybuf[..], - y0 * luma_w + x0, - luma_w, - ); - } - } - } - - if chroma_ylength == 8 { - for x in 0..chroma_xlength { - let y0 = mby * 8 + 4; - let x0 = mbx * 8 + x; - - loop_filter::subblock_filter( - hev_threshold, - interior_limit, - sub_bedge_limit, - &mut self.frame.ubuf[..], - y0 * chroma_w + x0, - chroma_w, - ); - - loop_filter::subblock_filter( - hev_threshold, - interior_limit, - sub_bedge_limit, - &mut self.frame.vbuf[..], - y0 * chroma_w + x0, - chroma_w, - ); - } - } - } - } - } - } - - //return values are the filter level, interior limit and hev threshold - fn calculate_filter_parameters(&self, macroblock: &MacroBlock) -> (u8, u8, u8) { - let segment = self.segment[macroblock.segmentid as usize]; - let mut filter_level = self.frame.filter_level as i32; - - if self.segments_enabled { - if segment.delta_values { - filter_level += i32::from(segment.loopfilter_level); - } else { - filter_level = i32::from(segment.loopfilter_level); - } - } - - filter_level = clamp(filter_level, 0, 63); - - if macroblock.luma_mode == LumaMode::B { - filter_level += self.mode_delta[0]; - } - - let filter_level = clamp(filter_level, 0, 63) as u8; - - //interior limit - let mut interior_limit = filter_level; - - if self.frame.sharpness_level > 0 { - interior_limit >>= if self.frame.sharpness_level > 4 { 2 } else { 1 }; - - if interior_limit > 9 - self.frame.sharpness_level { - interior_limit = 9 - self.frame.sharpness_level; - } - } - - if interior_limit == 0 { - interior_limit = 1; - } - - //high edge variance threshold - let mut hev_threshold = 0; - - #[allow(clippy::collapsible_else_if)] - if self.frame.keyframe { - if filter_level >= 40 { - hev_threshold = 2; - } else { - hev_threshold = 1; - } - } else { - if filter_level >= 40 { - hev_threshold = 3; - } else if filter_level >= 20 { - hev_threshold = 2; - } else if filter_level >= 15 { - hev_threshold = 1; - } - } - - (filter_level, interior_limit, hev_threshold) - } - - /// Decodes the current frame - pub fn decode_frame(&mut self) -> ImageResult<&Frame> { - self.read_frame_header()?; - - for mby in 0..self.mbheight as usize { - let p = mby % self.num_partitions as usize; - self.left = MacroBlock::default(); - - for mbx in 0..self.mbwidth as usize { - let mb = self.read_macroblock_header(mbx)?; - let blocks = if !mb.coeffs_skipped { - self.read_residual_data(&mb, mbx, p) - } else { - if mb.luma_mode != LumaMode::B { - self.left.complexity[0] = 0; - self.top[mbx].complexity[0] = 0; - } - - for i in 1usize..9 { - self.left.complexity[i] = 0; - self.top[mbx].complexity[i] = 0; - } - - [0i32; 384] - }; - - self.intra_predict_luma(mbx, mby, &mb, &blocks); - self.intra_predict_chroma(mbx, mby, &mb, &blocks); - - self.macroblocks.push(mb); - } - - self.left_border = vec![129u8; 1 + 16]; - } - - //do loop filtering - for mby in 0..self.mbheight as usize { - for mbx in 0..self.mbwidth as usize { - let mb = self.macroblocks[mby * self.mbwidth as usize + mbx]; - self.loop_filter(mbx, mby, &mb); - } - } - - Ok(&self.frame) - } -} - -impl LumaMode { - fn from_i8(val: i8) -> Option { - Some(match val { - DC_PRED => LumaMode::DC, - V_PRED => LumaMode::V, - H_PRED => LumaMode::H, - TM_PRED => LumaMode::TM, - B_PRED => LumaMode::B, - _ => return None, - }) - } - - fn into_intra(self) -> Option { - Some(match self { - LumaMode::DC => IntraMode::DC, - LumaMode::V => IntraMode::VE, - LumaMode::H => IntraMode::HE, - LumaMode::TM => IntraMode::TM, - LumaMode::B => return None, - }) - } -} - -impl ChromaMode { - fn from_i8(val: i8) -> Option { - Some(match val { - DC_PRED => ChromaMode::DC, - V_PRED => ChromaMode::V, - H_PRED => ChromaMode::H, - TM_PRED => ChromaMode::TM, - _ => return None, - }) - } -} - -impl IntraMode { - fn from_i8(val: i8) -> Option { - Some(match val { - B_DC_PRED => IntraMode::DC, - B_TM_PRED => IntraMode::TM, - B_VE_PRED => IntraMode::VE, - B_HE_PRED => IntraMode::HE, - B_LD_PRED => IntraMode::LD, - B_RD_PRED => IntraMode::RD, - B_VR_PRED => IntraMode::VR, - B_VL_PRED => IntraMode::VL, - B_HD_PRED => IntraMode::HD, - B_HU_PRED => IntraMode::HU, - _ => return None, - }) - } -} - -fn init_top_macroblocks(width: usize) -> Vec { - let mb_width = (width + 15) / 16; - - let mb = MacroBlock { - // Section 11.3 #3 - bpred: [IntraMode::DC; 16], - luma_mode: LumaMode::DC, - ..MacroBlock::default() - }; - - vec![mb; mb_width] -} - -fn create_border_luma(mbx: usize, mby: usize, mbw: usize, top: &[u8], left: &[u8]) -> [u8; 357] { - let stride = 1usize + 16 + 4; - let mut ws = [0u8; (1 + 16) * (1 + 16 + 4)]; - - // A - { - let above = &mut ws[1..stride]; - if mby == 0 { - for above in above.iter_mut() { - *above = 127; - } - } else { - for i in 0usize..16 { - above[i] = top[mbx * 16 + i]; - } - - if mbx == mbw - 1 { - for above in above.iter_mut().skip(16) { - *above = top[mbx * 16 + 15]; - } - } else { - for i in 16usize..above.len() { - above[i] = top[mbx * 16 + i]; - } - } - } - } - - for i in 17usize..stride { - ws[4 * stride + i] = ws[i]; - ws[8 * stride + i] = ws[i]; - ws[12 * stride + i] = ws[i]; - } - - // L - if mbx == 0 { - for i in 0usize..16 { - ws[(i + 1) * stride] = 129; - } - } else { - for i in 0usize..16 { - ws[(i + 1) * stride] = left[i + 1]; - } - } - - // P - ws[0] = if mby == 0 { - 127 - } else if mbx == 0 { - 129 - } else { - left[0] - }; - - ws -} - -fn avg3(left: u8, this: u8, right: u8) -> u8 { - let avg = (u16::from(left) + 2 * u16::from(this) + u16::from(right) + 2) >> 2; - avg as u8 -} - -fn avg2(this: u8, right: u8) -> u8 { - let avg = (u16::from(this) + u16::from(right) + 1) >> 1; - avg as u8 -} - -// Only 16 elements from rblock are used to add residue, so it is restricted to 16 elements -// to enable SIMD and other optimizations. -fn add_residue(pblock: &mut [u8], rblock: &[i32; 16], y0: usize, x0: usize, stride: usize) { - let mut pos = y0 * stride + x0; - for row in rblock.chunks(4) { - for (p, &a) in pblock[pos..pos + 4].iter_mut().zip(row.iter()) { - *p = clamp(a + i32::from(*p), 0, 255) as u8; - } - pos += stride; - } -} - -fn predict_4x4(ws: &mut [u8], stride: usize, modes: &[IntraMode], resdata: &[i32]) { - for sby in 0usize..4 { - for sbx in 0usize..4 { - let i = sbx + sby * 4; - let y0 = sby * 4 + 1; - let x0 = sbx * 4 + 1; - - match modes[i] { - IntraMode::TM => predict_tmpred(ws, 4, x0, y0, stride), - IntraMode::VE => predict_bvepred(ws, x0, y0, stride), - IntraMode::HE => predict_bhepred(ws, x0, y0, stride), - IntraMode::DC => predict_bdcpred(ws, x0, y0, stride), - IntraMode::LD => predict_bldpred(ws, x0, y0, stride), - IntraMode::RD => predict_brdpred(ws, x0, y0, stride), - IntraMode::VR => predict_bvrpred(ws, x0, y0, stride), - IntraMode::VL => predict_bvlpred(ws, x0, y0, stride), - IntraMode::HD => predict_bhdpred(ws, x0, y0, stride), - IntraMode::HU => predict_bhupred(ws, x0, y0, stride), - } - - let rb: &[i32; 16] = resdata[i * 16..][..16].try_into().unwrap(); - add_residue(ws, rb, y0, x0, stride); - } - } -} - -fn predict_vpred(a: &mut [u8], size: usize, x0: usize, y0: usize, stride: usize) { - for y in 0usize..size { - for x in 0usize..size { - a[(x + x0) + stride * (y + y0)] = a[(x + x0) + stride * (y0 + y - 1)]; - } - } -} - -fn predict_hpred(a: &mut [u8], size: usize, x0: usize, y0: usize, stride: usize) { - for y in 0usize..size { - for x in 0usize..size { - a[(x + x0) + stride * (y + y0)] = a[(x + x0 - 1) + stride * (y0 + y)]; - } - } -} - -fn predict_dcpred(a: &mut [u8], size: usize, stride: usize, above: bool, left: bool) { - let mut sum = 0; - let mut shf = if size == 8 { 2 } else { 3 }; - - if left { - for y in 0usize..size { - sum += u32::from(a[(y + 1) * stride]); - } - - shf += 1; - } - - if above { - for x in 0usize..size { - sum += u32::from(a[x + 1]); - } - - shf += 1; - } - - let dcval = if !left && !above { - 128 - } else { - (sum + (1 << (shf - 1))) >> shf - }; - - for y in 0usize..size { - for x in 0usize..size { - a[(x + 1) + stride * (y + 1)] = dcval as u8; - } - } -} - -fn predict_tmpred(a: &mut [u8], size: usize, x0: usize, y0: usize, stride: usize) { - for y in 0usize..size { - for x in 0usize..size { - let pred = i32::from(a[(y0 + y) * stride + x0 - 1]) - + i32::from(a[(y0 - 1) * stride + x0 + x]) - - i32::from(a[(y0 - 1) * stride + x0 - 1]); - - a[(x + x0) + stride * (y + y0)] = clamp(pred, 0, 255) as u8; - } - } -} - -fn predict_bdcpred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let mut v = 4; - for i in 0usize..4 { - v += u32::from(a[(y0 + i) * stride + x0 - 1]) + u32::from(a[(y0 - 1) * stride + x0 + i]); - } - - v >>= 3; - for y in 0usize..4 { - for x in 0usize..4 { - a[x + x0 + stride * (y + y0)] = v as u8; - } - } -} - -fn topleft_pixel(a: &[u8], x0: usize, y0: usize, stride: usize) -> u8 { - a[(y0 - 1) * stride + x0 - 1] -} - -fn top_pixels(a: &[u8], x0: usize, y0: usize, stride: usize) -> (u8, u8, u8, u8, u8, u8, u8, u8) { - let pos = (y0 - 1) * stride + x0; - let a_slice = &a[pos..pos + 8]; - let a0 = a_slice[0]; - let a1 = a_slice[1]; - let a2 = a_slice[2]; - let a3 = a_slice[3]; - let a4 = a_slice[4]; - let a5 = a_slice[5]; - let a6 = a_slice[6]; - let a7 = a_slice[7]; - - (a0, a1, a2, a3, a4, a5, a6, a7) -} - -fn left_pixels(a: &[u8], x0: usize, y0: usize, stride: usize) -> (u8, u8, u8, u8) { - let l0 = a[y0 * stride + x0 - 1]; - let l1 = a[(y0 + 1) * stride + x0 - 1]; - let l2 = a[(y0 + 2) * stride + x0 - 1]; - let l3 = a[(y0 + 3) * stride + x0 - 1]; - - (l0, l1, l2, l3) -} - -fn edge_pixels( - a: &[u8], - x0: usize, - y0: usize, - stride: usize, -) -> (u8, u8, u8, u8, u8, u8, u8, u8, u8) { - let pos = (y0 - 1) * stride + x0 - 1; - let a_slice = &a[pos..=pos + 4]; - let e0 = a[pos + 4 * stride]; - let e1 = a[pos + 3 * stride]; - let e2 = a[pos + 2 * stride]; - let e3 = a[pos + stride]; - let e4 = a_slice[0]; - let e5 = a_slice[1]; - let e6 = a_slice[2]; - let e7 = a_slice[3]; - let e8 = a_slice[4]; - - (e0, e1, e2, e3, e4, e5, e6, e7, e8) -} - -fn predict_bvepred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let p = topleft_pixel(a, x0, y0, stride); - let (a0, a1, a2, a3, a4, _, _, _) = top_pixels(a, x0, y0, stride); - let avg_1 = avg3(p, a0, a1); - let avg_2 = avg3(a0, a1, a2); - let avg_3 = avg3(a1, a2, a3); - let avg_4 = avg3(a2, a3, a4); - - let avg = [avg_1, avg_2, avg_3, avg_4]; - - let mut pos = y0 * stride + x0; - for _ in 0..4 { - a[pos..=pos + 3].copy_from_slice(&avg); - pos += stride; - } -} - -fn predict_bhepred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let p = topleft_pixel(a, x0, y0, stride); - let (l0, l1, l2, l3) = left_pixels(a, x0, y0, stride); - - let avgs = [ - avg3(p, l0, l1), - avg3(l0, l1, l2), - avg3(l1, l2, l3), - avg3(l2, l3, l3), - ]; - - let mut pos = y0 * stride + x0; - for &avg in avgs.iter() { - for a_p in a[pos..=pos + 3].iter_mut() { - *a_p = avg; - } - pos += stride; - } -} - -fn predict_bldpred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let (a0, a1, a2, a3, a4, a5, a6, a7) = top_pixels(a, x0, y0, stride); - - let avgs = [ - avg3(a0, a1, a2), - avg3(a1, a2, a3), - avg3(a2, a3, a4), - avg3(a3, a4, a5), - avg3(a4, a5, a6), - avg3(a5, a6, a7), - avg3(a6, a7, a7), - ]; - - let mut pos = y0 * stride + x0; - - for i in 0..4 { - a[pos..=pos + 3].copy_from_slice(&avgs[i..=i + 3]); - pos += stride; - } -} - -fn predict_brdpred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let (e0, e1, e2, e3, e4, e5, e6, e7, e8) = edge_pixels(a, x0, y0, stride); - - let avgs = [ - avg3(e0, e1, e2), - avg3(e1, e2, e3), - avg3(e2, e3, e4), - avg3(e3, e4, e5), - avg3(e4, e5, e6), - avg3(e5, e6, e7), - avg3(e6, e7, e8), - ]; - let mut pos = y0 * stride + x0; - - for i in 0..4 { - a[pos..=pos + 3].copy_from_slice(&avgs[3 - i..7 - i]); - pos += stride; - } -} - -fn predict_bvrpred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let (_, e1, e2, e3, e4, e5, e6, e7, e8) = edge_pixels(a, x0, y0, stride); - - a[(y0 + 3) * stride + x0] = avg3(e1, e2, e3); - a[(y0 + 2) * stride + x0] = avg3(e2, e3, e4); - a[(y0 + 3) * stride + x0 + 1] = avg3(e3, e4, e5); - a[(y0 + 1) * stride + x0] = avg3(e3, e4, e5); - a[(y0 + 2) * stride + x0 + 1] = avg2(e4, e5); - a[y0 * stride + x0] = avg2(e4, e5); - a[(y0 + 3) * stride + x0 + 2] = avg3(e4, e5, e6); - a[(y0 + 1) * stride + x0 + 1] = avg3(e4, e5, e6); - a[(y0 + 2) * stride + x0 + 2] = avg2(e5, e6); - a[y0 * stride + x0 + 1] = avg2(e5, e6); - a[(y0 + 3) * stride + x0 + 3] = avg3(e5, e6, e7); - a[(y0 + 1) * stride + x0 + 2] = avg3(e5, e6, e7); - a[(y0 + 2) * stride + x0 + 3] = avg2(e6, e7); - a[y0 * stride + x0 + 2] = avg2(e6, e7); - a[(y0 + 1) * stride + x0 + 3] = avg3(e6, e7, e8); - a[y0 * stride + x0 + 3] = avg2(e7, e8); -} - -fn predict_bvlpred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let (a0, a1, a2, a3, a4, a5, a6, a7) = top_pixels(a, x0, y0, stride); - - a[y0 * stride + x0] = avg2(a0, a1); - a[(y0 + 1) * stride + x0] = avg3(a0, a1, a2); - a[(y0 + 2) * stride + x0] = avg2(a1, a2); - a[y0 * stride + x0 + 1] = avg2(a1, a2); - a[(y0 + 1) * stride + x0 + 1] = avg3(a1, a2, a3); - a[(y0 + 3) * stride + x0] = avg3(a1, a2, a3); - a[(y0 + 2) * stride + x0 + 1] = avg2(a2, a3); - a[y0 * stride + x0 + 2] = avg2(a2, a3); - a[(y0 + 3) * stride + x0 + 1] = avg3(a2, a3, a4); - a[(y0 + 1) * stride + x0 + 2] = avg3(a2, a3, a4); - a[(y0 + 2) * stride + x0 + 2] = avg2(a3, a4); - a[y0 * stride + x0 + 3] = avg2(a3, a4); - a[(y0 + 3) * stride + x0 + 2] = avg3(a3, a4, a5); - a[(y0 + 1) * stride + x0 + 3] = avg3(a3, a4, a5); - a[(y0 + 2) * stride + x0 + 3] = avg3(a4, a5, a6); - a[(y0 + 3) * stride + x0 + 3] = avg3(a5, a6, a7); -} - -fn predict_bhdpred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let (e0, e1, e2, e3, e4, e5, e6, e7, _) = edge_pixels(a, x0, y0, stride); - - a[(y0 + 3) * stride + x0] = avg2(e0, e1); - a[(y0 + 3) * stride + x0 + 1] = avg3(e0, e1, e2); - a[(y0 + 2) * stride + x0] = avg2(e1, e2); - a[(y0 + 3) * stride + x0 + 2] = avg2(e1, e2); - a[(y0 + 2) * stride + x0 + 1] = avg3(e1, e2, e3); - a[(y0 + 3) * stride + x0 + 3] = avg3(e1, e2, e3); - a[(y0 + 2) * stride + x0 + 2] = avg2(e2, e3); - a[(y0 + 1) * stride + x0] = avg2(e2, e3); - a[(y0 + 2) * stride + x0 + 3] = avg3(e2, e3, e4); - a[(y0 + 1) * stride + x0 + 1] = avg3(e2, e3, e4); - a[(y0 + 1) * stride + x0 + 2] = avg2(e3, e4); - a[y0 * stride + x0] = avg2(e3, e4); - a[(y0 + 1) * stride + x0 + 3] = avg3(e3, e4, e5); - a[y0 * stride + x0 + 1] = avg3(e3, e4, e5); - a[y0 * stride + x0 + 2] = avg3(e4, e5, e6); - a[y0 * stride + x0 + 3] = avg3(e5, e6, e7); -} - -fn predict_bhupred(a: &mut [u8], x0: usize, y0: usize, stride: usize) { - let (l0, l1, l2, l3) = left_pixels(a, x0, y0, stride); - - a[y0 * stride + x0] = avg2(l0, l1); - a[y0 * stride + x0 + 1] = avg3(l0, l1, l2); - a[y0 * stride + x0 + 2] = avg2(l1, l2); - a[(y0 + 1) * stride + x0] = avg2(l1, l2); - a[y0 * stride + x0 + 3] = avg3(l1, l2, l3); - a[(y0 + 1) * stride + x0 + 1] = avg3(l1, l2, l3); - a[(y0 + 1) * stride + x0 + 2] = avg2(l2, l3); - a[(y0 + 2) * stride + x0] = avg2(l2, l3); - a[(y0 + 1) * stride + x0 + 3] = avg3(l2, l3, l3); - a[(y0 + 2) * stride + x0 + 1] = avg3(l2, l3, l3); - a[(y0 + 2) * stride + x0 + 2] = l3; - a[(y0 + 2) * stride + x0 + 3] = l3; - a[(y0 + 3) * stride + x0] = l3; - a[(y0 + 3) * stride + x0 + 1] = l3; - a[(y0 + 3) * stride + x0 + 2] = l3; - a[(y0 + 3) * stride + x0 + 3] = l3; -} - -#[cfg(test)] -mod test { - - #[cfg(feature = "benchmarks")] - extern crate test; - use super::{ - add_residue, avg2, avg3, edge_pixels, predict_bhepred, predict_bldpred, predict_brdpred, - predict_bvepred, top_pixels, - }; - #[cfg(feature = "benchmarks")] - use super::{predict_4x4, IntraMode}; - #[cfg(feature = "benchmarks")] - use test::{black_box, Bencher}; - - #[cfg(feature = "benchmarks")] - const W: usize = 256; - #[cfg(feature = "benchmarks")] - const H: usize = 256; - - #[cfg(feature = "benchmarks")] - fn make_sample_image() -> Vec { - let mut v = Vec::with_capacity(W * H * 4); - for c in 0u8..=255 { - for k in 0u8..=255 { - v.push(c); - v.push(0); - v.push(0); - v.push(k); - } - } - v - } - - #[cfg(feature = "benchmarks")] - #[bench] - fn bench_predict_4x4(b: &mut Bencher) { - let mut v = black_box(make_sample_image()); - - let res_data = vec![1i32; W * H * 4]; - let modes = [ - IntraMode::TM, - IntraMode::VE, - IntraMode::HE, - IntraMode::DC, - IntraMode::LD, - IntraMode::RD, - IntraMode::VR, - IntraMode::VL, - IntraMode::HD, - IntraMode::HU, - IntraMode::TM, - IntraMode::VE, - IntraMode::HE, - IntraMode::DC, - IntraMode::LD, - IntraMode::RD, - ]; - - b.iter(|| { - predict_4x4(&mut v, W * 2, &modes, &res_data); - }); - } - - #[cfg(feature = "benchmarks")] - #[bench] - fn bench_predict_bvepred(b: &mut Bencher) { - let mut v = make_sample_image(); - - b.iter(|| { - predict_bvepred(black_box(&mut v), 5, 5, W * 2); - }); - } - - #[cfg(feature = "benchmarks")] - #[bench] - fn bench_predict_bldpred(b: &mut Bencher) { - let mut v = black_box(make_sample_image()); - - b.iter(|| { - predict_bldpred(black_box(&mut v), 5, 5, W * 2); - }); - } - - #[cfg(feature = "benchmarks")] - #[bench] - fn bench_predict_brdpred(b: &mut Bencher) { - let mut v = black_box(make_sample_image()); - - b.iter(|| { - predict_brdpred(black_box(&mut v), 5, 5, W * 2); - }); - } - - #[cfg(feature = "benchmarks")] - #[bench] - fn bench_predict_bhepred(b: &mut Bencher) { - let mut v = black_box(make_sample_image()); - - b.iter(|| { - predict_bhepred(black_box(&mut v), 5, 5, W * 2); - }); - } - - #[cfg(feature = "benchmarks")] - #[bench] - fn bench_top_pixels(b: &mut Bencher) { - let v = black_box(make_sample_image()); - - b.iter(|| { - black_box(top_pixels(black_box(&v), 5, 5, W * 2)); - }); - } - - #[cfg(feature = "benchmarks")] - #[bench] - fn bench_edge_pixels(b: &mut Bencher) { - let v = black_box(make_sample_image()); - - b.iter(|| { - black_box(edge_pixels(black_box(&v), 5, 5, W * 2)); - }); - } - - #[test] - fn test_avg2() { - for i in 0u8..=255 { - for j in 0u8..=255 { - let ceil_avg = ((i as f32) + (j as f32)) / 2.0; - let ceil_avg = ceil_avg.ceil() as u8; - assert_eq!( - ceil_avg, - avg2(i, j), - "avg2({}, {}), expected {}, got {}.", - i, - j, - ceil_avg, - avg2(i, j) - ); - } - } - } - - #[test] - fn test_avg2_specific() { - assert_eq!( - 255, - avg2(255, 255), - "avg2(255, 255), expected 255, got {}.", - avg2(255, 255) - ); - assert_eq!(1, avg2(1, 1), "avg2(1, 1), expected 1, got {}.", avg2(1, 1)); - assert_eq!(2, avg2(2, 1), "avg2(2, 1), expected 2, got {}.", avg2(2, 1)); - } - - #[test] - fn test_avg3() { - for i in 0u8..=255 { - for j in 0u8..=255 { - for k in 0u8..=255 { - let floor_avg = ((i as f32) + 2.0 * (j as f32) + { k as f32 } + 2.0) / 4.0; - let floor_avg = floor_avg.floor() as u8; - assert_eq!( - floor_avg, - avg3(i, j, k), - "avg3({}, {}, {}), expected {}, got {}.", - i, - j, - k, - floor_avg, - avg3(i, j, k) - ); - } - } - } - } - - #[test] - fn test_edge_pixels() { - #[rustfmt::skip] - let im = vec![5, 6, 7, 8, 9, - 4, 0, 0, 0, 0, - 3, 0, 0, 0, 0, - 2, 0, 0, 0, 0, - 1, 0, 0, 0, 0]; - let (e0, e1, e2, e3, e4, e5, e6, e7, e8) = edge_pixels(&im, 1, 1, 5); - assert_eq!(e0, 1); - assert_eq!(e1, 2); - assert_eq!(e2, 3); - assert_eq!(e3, 4); - assert_eq!(e4, 5); - assert_eq!(e5, 6); - assert_eq!(e6, 7); - assert_eq!(e7, 8); - assert_eq!(e8, 9); - } - - #[test] - fn test_top_pixels() { - #[rustfmt::skip] - let im = vec![1, 2, 3, 4, 5, 6, 7, 8, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0]; - let (e0, e1, e2, e3, e4, e5, e6, e7) = top_pixels(&im, 0, 1, 8); - assert_eq!(e0, 1); - assert_eq!(e1, 2); - assert_eq!(e2, 3); - assert_eq!(e3, 4); - assert_eq!(e4, 5); - assert_eq!(e5, 6); - assert_eq!(e6, 7); - assert_eq!(e7, 8); - } - - #[test] - fn test_add_residue() { - let mut pblock = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; - let rblock = [ - -1, -2, -3, -4, 250, 249, 248, 250, -10, -18, -192, -17, -3, 15, 18, 9, - ]; - let expected: [u8; 16] = [0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 10, 29, 33, 25]; - - add_residue(&mut pblock, &rblock, 0, 0, 4); - - for (&e, &i) in expected.iter().zip(&pblock) { - assert_eq!(e, i); - } - } - - #[test] - fn test_predict_bhepred() { - #[rustfmt::skip] - let expected: Vec = vec![5, 0, 0, 0, 0, - 4, 4, 4, 4, 4, - 3, 3, 3, 3, 3, - 2, 2, 2, 2, 2, - 1, 1, 1, 1, 1]; - - #[rustfmt::skip] - let mut im = vec![5, 0, 0, 0, 0, - 4, 0, 0, 0, 0, - 3, 0, 0, 0, 0, - 2, 0, 0, 0, 0, - 1, 0, 0, 0, 0]; - predict_bhepred(&mut im, 1, 1, 5); - for (&e, i) in expected.iter().zip(im) { - assert_eq!(e, i); - } - } - - #[test] - fn test_predict_brdpred() { - #[rustfmt::skip] - let expected: Vec = vec![5, 6, 7, 8, 9, - 4, 5, 6, 7, 8, - 3, 4, 5, 6, 7, - 2, 3, 4, 5, 6, - 1, 2, 3, 4, 5]; - - #[rustfmt::skip] - let mut im = vec![5, 6, 7, 8, 9, - 4, 0, 0, 0, 0, - 3, 0, 0, 0, 0, - 2, 0, 0, 0, 0, - 1, 0, 0, 0, 0]; - predict_brdpred(&mut im, 1, 1, 5); - for (&e, i) in expected.iter().zip(im) { - assert_eq!(e, i); - } - } - - #[test] - fn test_predict_bldpred() { - #[rustfmt::skip] - let mut im: Vec = vec![1, 2, 3, 4, 5, 6, 7, 8, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0]; - let avg_1 = 2u8; - let avg_2 = 3u8; - let avg_3 = 4u8; - let avg_4 = 5u8; - let avg_5 = 6u8; - let avg_6 = 7u8; - let avg_7 = 8u8; - - predict_bldpred(&mut im, 0, 1, 8); - - assert_eq!(im[8], avg_1); - assert_eq!(im[9], avg_2); - assert_eq!(im[10], avg_3); - assert_eq!(im[11], avg_4); - assert_eq!(im[16], avg_2); - assert_eq!(im[17], avg_3); - assert_eq!(im[18], avg_4); - assert_eq!(im[19], avg_5); - assert_eq!(im[24], avg_3); - assert_eq!(im[25], avg_4); - assert_eq!(im[26], avg_5); - assert_eq!(im[27], avg_6); - assert_eq!(im[32], avg_4); - assert_eq!(im[33], avg_5); - assert_eq!(im[34], avg_6); - assert_eq!(im[35], avg_7); - } - - #[test] - fn test_predict_bvepred() { - #[rustfmt::skip] - let mut im: Vec = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0]; - let avg_1 = 2u8; - let avg_2 = 3u8; - let avg_3 = 4u8; - let avg_4 = 5u8; - - predict_bvepred(&mut im, 1, 1, 9); - - assert_eq!(im[10], avg_1); - assert_eq!(im[11], avg_2); - assert_eq!(im[12], avg_3); - assert_eq!(im[13], avg_4); - assert_eq!(im[19], avg_1); - assert_eq!(im[20], avg_2); - assert_eq!(im[21], avg_3); - assert_eq!(im[22], avg_4); - assert_eq!(im[28], avg_1); - assert_eq!(im[29], avg_2); - assert_eq!(im[30], avg_3); - assert_eq!(im[31], avg_4); - assert_eq!(im[37], avg_1); - assert_eq!(im[38], avg_2); - assert_eq!(im[39], avg_3); - assert_eq!(im[40], avg_4); - } -} diff --git a/tests/reference/webp/extended_images/advertises_rgba_but_frames_are_rgb.webp.936cb4e4.png b/tests/reference/webp/extended_images/advertises_rgba_but_frames_are_rgb.webp.936cb4e4.png new file mode 100644 index 0000000000000000000000000000000000000000..1a1645317678a2e1a3abeb671f065a63cf3328f6 GIT binary patch literal 59392 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 literal 0 HcmV?d00001 diff --git a/tests/reference/webp/extended_images/anim.webp.baaea4f2.png b/tests/reference/webp/extended_images/anim.webp.baaea4f2.png new file mode 100644 index 0000000000000000000000000000000000000000..89d43d555b6fd9a67a7285c340df9ce26990f16a GIT binary patch literal 9380 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 literal 0 HcmV?d00001 diff --git a/tests/reference/webp/extended_images/anim.webp.f6449d24.png b/tests/reference/webp/extended_images/anim.webp.f6449d24.png deleted file mode 100644 index daf1dc0fd7992588a68ac08feac739b535e677bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7508 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 diff --git a/tests/reference/webp/extended_images/lossy_alpha.webp.37efcff9.png b/tests/reference/webp/extended_images/lossy_alpha.webp.37efcff9.png deleted file mode 100644 index be5d085a56ebc4a51a35f7f74129079b04100d07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6786 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 literal 0 HcmV?d00001 diff --git a/tests/reference/webp/lossless_images/2-color.webp.1c59922a.png b/tests/reference/webp/lossless_images/2-color.webp.1c59922a.png new file mode 100644 index 0000000000000000000000000000000000000000..14c83905ca4427817f8e0502ab37a2d5b152a7be GIT binary patch literal 5098 zcmeHLZD?Cn7`~|nM`IZ%t~jLyH~$pZ{ur(dTH{ByS}bkVX7`7y6NOArnBA;NTbh(A z3@NiR7^669)gK)RWGfGta5+p8by^7jl?IUFvRYoF8jxcNu>X(K-G^QC2(@8WXp-Rt;h=(C>uaE(iL zH@n?+VZLR}o5^7%UK#vu+RwH~4R9^ZU2`}XeAqx9=;fZ7q4S%=;VJK}p;dL|hP$PB zRvRpimFkCD_!F&dY;${|oE*vPI~;M!Nw=kM!T#G@%FXsch0hsO__$-_!jEyOJN||G zhoAjg6fadTC5yBdlpm60%*wO#Sw9H-uqJqaagj&Rdz~-s@xnr(%jCc)$V27dmX?(S-~TWSMty?+W&vd?ntNiH%FYT zQ97Ma=f!FCZ2&22fn@kT;fOSa0N>)t0d?V-#6idjlPxI->(`VC{$xyTvM)96Use~z za_}JW8l08Y0B=}{R3bMvM|_1+3Hutdh360G?Sw>5HcUcfgs{PwMl!^%kxA@>H1lq0 zUR7Hyo`INOg41;U$-h+CA&lL~lPHh5qMxMy)H-IO06f}$Z^pdfcO`Mab_`5 zgo8js_VQif8{EUhb*AzFz&QtQUrzl!!UHrt-LOXs$Yhb|7aeqt!HcWEc)&gP0fx#n z$0_j+`UUk9hC7`BaUi6Sn|`p@Q+yLE*Aj*mz76aA1s>tMk{QwDZnzy?;;|#9gfqS} zL37py@YWV>O((G|T!GH1gF(HIR7|IdxKja2_;rX|zH$6hAcVIzC zT>py5jOLCKU^R4qip3~%HkD;oh7i!@OwR(Bo9hHb3x5{mLOjgc7!Cu#Sd5Vh1_?OH z(HODZXB6hF0worHRW;15DH5Wbp7#58hy-T!C#)4qZ6U1<{AP!MKb!xg?=NG~GD}l) zq$@9lV#g?Zmn0-KD)1OITCoSyg`^=E>jpv_E$V@^m6%D`Myd#A-YhR@{pdj0I+^{A zjZ`wU3VoT#&cr%FYYpZNd!2y3^X}f|tSDYssj-jwujBbLV*Tr@750Z4aX+)?3_+i{ z`fV#%&12v$C<>#0;4Pe=Z56rEF)VhRGt`on^`#@J>FHL>1|Dd13%px(vZn=!621k| zg^~u>=O@5MSOM9Uw#*a~d6+8R$p+H90RQLh&Y*dC%3KkLanRa1n$ z49~H-mXmdNuWcwNWR*??_|=xX=5WaIAg6=053o)B3m@+4++zR6_#d8By{Fa@eEyBj FzX6KW#8?0T literal 0 HcmV?d00001 diff --git a/tests/reference/webp/lossless_images/2-color.webp.d5b9a8bd.png b/tests/reference/webp/lossless_images/2-color.webp.d5b9a8bd.png deleted file mode 100644 index 04cb06388833c65dba8e0c44b7bc9dec5d141abc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1879 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 agguk^lHZ>fy;_>U00f?{elF{r5}E+CEUPB~ literal 0 HcmV?d00001 diff --git a/tests/reference/webp/lossless_images/multi-color.webp.d98bd812.png b/tests/reference/webp/lossless_images/multi-color.webp.d98bd812.png deleted file mode 100644 index 5da21eebe3d5f803e3d7eba43f5f8949cb8b2731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231300 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

khR-0Bnq-A$QM;10-iN05~M&vd3=y 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 z z0H744HL9z1MR^kRIP7H!pkRG!XKj_<_&i}AtSf#20K?*P@L(bkXA6C8qtj;nVXFKg z>fvMPAi0aphJ~S)O>~Z;M$jW7q4i1q{N)QE(`3!6y@_3XE!Ir3I^x7Vn^s|q`>;D7-^ z28lc&7QU;HIoP#cSSKMdec&uz+Qdxxn`0N~=p09hZO0890ag8%*I{vr{1Qg6V4yU> z;@HnW>^8qp1!hZP)~@sM_#0yd_W7REXxtbVuEn5=|L6p&C=i)1_@B>a)EKK7cQOQh z9l#3vkcSbo8g>VWtTBub5%CT@4Q)Yq`KO#jtHvwwkOr*I$|jQ-@tL**6d}K0+~hG- zW)Yyl49&)ad*NKXNRByCR<_N>fcTQJFmBkS-I+7H<_phi-`j5^fp$K#p#b*$IQuHT zM2LjJc2&6jgeW_ff3wp6bsJ44SM--7++Bl(aGtR;6OWxs%l!KbZUAlew4z0a23Q|+ z66nt_x+O3%`{|T990SsfZJ7i41vhs%Q{gdH9270MwT{@IXaN8@FgbVw;E_`ytSY_H zP=Ik4VJ$N}B^In9)!cbwKuE%$qypkwF|; z`T1Y7<+Or)@$PYtbt4}Ga4pnfZ0I_MXCb6Ld$HiID{5|N)rLmjTP;htM-D50=Q z7!hCuC}ekR!0|Cq6p;h54=_rV%Z6sFQ}TuYRUMnDun$|Zs+%!=OYOLIgSen+0&xz z$^ip)`*p{1m+wMGUBZyqz%}#&yCWh?D%b>bU^W0F?U)m#?c9in%~{eW0NJOnUB<%q zAur$YX^_yunFBI(#I!*`(DrHu<%E5dXt2cKI4=7g8=ZRZyABDJ>c27$IY2+i&ez+0SkSaLEGQKI>t>{>>8M{z|?Yvt!&9_7hIMln>w8m%Ov~|Esnn zXcO|5sL~K35=LYjwYJ80LX3`_&Q(Dt z-#WoxB-wqW(y!elp^Fl}cuGD9##LC;VE$0udl$<0P-+}TzxGIK`kHJ4d>1h3DeH{h z{i2(1tfm0qp@#01(6#cRiyoa;5`>)UTv2}7kffK0qpa__>)cK_;>lz0v?+H6>)>c>B3Tv`_DLc`QJp5tu|icZ z!t>FlYvThi-2#(^>f-&(TO)V(x4Z8Gw^UQzVN}`Sfo#`$^Juo6Xx_ z;}pW(G-M$GH;)9Y`(Hd{@29uqZ{25J$ip_~iqQDLod3@IyuaLXf9E&(_vIG-%{Lhv ziwJd(|K|N{&gM*V|JA$f{qz?7^;ZbT0q6ze&ckeJ9?8l3?gRFIdW-&(H#jaqwyEY& zdK-&{MWz4qCwzXn-Tkj0@-N#zmVWc#j_xl0yh`Dg{Ng`^WOtZvP4l%#gT>D%vXXM> ze;)6d*L3B5E#D#J3bu)o2U?VtG{Ot{{>nEG`26YZx1YR{RUfTvZVriMM_$rjxN*qd zm)o!1{GaCX|9iHd{YZLPn(H@?_c)jn*#4cJ|LOSu`Su$}yLf)&&RWlxmxQ@v&7u=R z*-2(x_;-#%hw0e-EN{REIWwnA5~HdR#$&ca3$O-qJ3HtQz-3=VkO2=S=B}(Me|)IP z>*QhCm6$xq<*h%tp>(`drQQTXBG?+?IZ;ehpzo-pur#3eo?>#dZc-s{bwwx2_9gU} z1OO?28=x$F!bsc6W_|qYZLz|dFFfVDv{xf%gboy@b>&%?X|AWy-Ut>%7IR*M0F;pR zc_v?wD%;Qm+I_jj%-jupg$?=usn8;9+j@0WOgFW9aSNOCv{;`i@B^|shsX=tV}BY# zeqfAgB_L@}&fH`O6Z6QC1ti_`N3j;0=sFcc3qhy*aCOr^?8)Q{!Y~XQn9Ud#!HPhs z&oD-Y$X5x-Otj1aEC606EmjyYe{&iq@v;rW$!#bdU2+a!L$Wmk7usM~cC6j$AbW>W z0>c0U?+n1e%=&yO9oskvYqBJwU2w*lvT+h5UHQ(|- z{hPtS(6T=P)ay2TB97(f3=`u4eXKBN7VWytO6UxXV|br)K45OZe(i=cNf-;mklo`d zjR5)*on5mTA$69F9b>0A{;>bAA3vQVYxa{kv{JTRC~G(JyKb`wZ_Y|x`PE%*U3^C~ zs)m)t9{HC&rM&|UZeA!jJ0!tgAV=k8UcJBa0;8pmKgG5r2Wp#v^vhv0p3vj{vo{A+ zvFoo~`+XWIh^*rEZ`l|Q>j~Rn&T|Zyg@7$}>4U`|(>Eo0Gb~n>137`sWgJ#nw0oEt zVR11h(~XzaLi(owfePbTIiF#Vo#%vWbG{?Vy{t*2soEc{sqzm2Mt`8qpTiK_6_JchAxO|A-mQNMMVyJ+@-Jh; ztW-L{$;UYj-k`EhK_yuNUUo?Yp;>NRkbkhy;+`irEU6r}0Y?~;Yk*56Lg+|y=mH(k zneWjdy1@XjA{;a9Ew6@ZYhTrw^Di~_PvplC4;S!p=$F&%DN7zXuUWmL;t5cH&{XFe zFe)R762+C=Fm}6rOHX}nTcfMx8IBU4kgZ%JeA!(CiSZToIqp0^bIR{X|+H& zcm{gf#h`Y*gk6qcj3zu|+3F;}SwwqwUYZALEll(90?_byjDgmf6K5MLz62!ZWiKY1 z7Ab$v00Jr=_T0GaXCWA${Z>yN07?47kXUnK*C~P~0cU_`O)&s=qA8$AGNEz+EwvQhe}m#~#7dp>*1O<=Y0Sj|5o)3?fNi+og_b-Zq4f+>-MftIm2 z+w9-s5oMr5ayz@|N((TmF#rIk)UD&(CIAcP#26|JIuH!03PUTB>p~vj1cr#1I{j?0621-YsJvXtLOn?cEEVNkVvBp^BXWm^eIOFobFuJ#jesno+v6C zP%*|fQ^MZMCuLX;pYvOo0aZ-D4Jg}X5EB*sEg0t^?2?LLdImmzIjpPO);V|1goO(w5;3? zV1Z`<&dGsYh*`*?J&#t2ikX;E1wNabVc-md7f4-xl>|J>wmbr@tFntQo#cXM02o3t zHyVR$^h>fohQ``YE3)gnJdD_YN&rbpGIvap(wK$Yz_aWsy-oka=X8025Kjo@DA|rk zE=H@2a}7`?25u3S+OX;yNNfNo!6f>O1p{_r6C!-1BWN}u<+P8IH0XoAhjUJ<$!Q>$ z=z>0M(#-3cE$#t6R5h5cRH`bzWIp6BuG^Ayg=3K?^9PBP^kIxsl=Ye|nwL>njwKXv zb2c`NiAvLTo81H4Nl|b-R(Q&~GBjK#|9tiqqu2)I4i%Cyp_nDK3#`TX|MrR&B}a=& zQJ;Jn!?M27lLY0AX?sG6f9CeoXuN^pjy11^8gF78Zb*1FR<*yOz3E?&JxpN^Gj2{_ z(d5DJYu>`EQdPQc+xahJ9sloK*)#15!-DF`D-e{A+4I?(-7aPH)?D?UdD{H%eRY17 z(DX~!uNSM23~^2~WJCTWtpfz}f>u7Ps_^5!rr%muQrf|2&opUXsyapAo*!wpyOiDj zC5KGw4;Gqzv6+F7lSd|W=Z7v#>4x%eeo2Kn#`=G_6Qv}wOF2G&&UWgwhL@oe4=Q8C2DEm_Eq$@G}SSAwq3-Dv&QD_ z_B3`^hlSVI=+<+9)Xy$_4f>Jh8=-;+=;Z;S;4brQ=H!#kiOT?NRjPlorRa$2YA2$g z!T95O8-qu<3ygDt!qh3V1&kxt#6!T4h?x`6-Kqs~zbAV{7dV2G!3d#gX6eonSoX|V zFj82V);CxzfMEn^&{i@H0XjeiU~xdrDtz@FJV_leKyWjRg^Czb zVc|KBSUs{5r?r7Wn_-$USrNeTn}iwbFpQRT*Z`()+wVy``l!1i@U#fH(O#Z^e-A`ps!DXFRd}IsjCcJ&7kp zd9T|Ne+85qAs_M&#zFyacW;9|AM^V3W{K~3iU%YtUff1604tT&WffYNlz>m)E5kPw zLgg1ea@GuQ4Lh;*N6vPG#h^%tp*2!+cxZAP6&U2^7!0Xdn{*)Zc9V%-(fYAO86$aJ)DdZjz1viwuQ2R0 z>?V*s$FTZy*wDrX;p7y(ja58H_uko}y&G~KJ=5YxfYalJ3V-F_SG0bvO0TG(ydmdc zK#($1ZX3N_Une};R%`b!po@LwAOBQp-BtYP5sagtWt*jp%1UqE1T;@ri=lFR_Z1C^ zS{?(mCyw%;Th|l^5wPY#SYpi#T=;(Tt`eAzxAR3g$4BUJSGi7I%g!CDa`~V>2_Cy8GCUAQ2-Bk9baEhj zP^T0)D{c(F2F;n`21Y%WuEqmfEIbK zYE5=cNzxxH9l#FBdszV>dCoWyh~31GgJF<$X+T@#091xj@54wcHKi9_#s^SQ;e=Kx zvSeVn#k`Pc7DImaW)(Qgaao1Xav9z_!?!s3n$4lwgjWDaCV-(2!^LaPUG{vR*QYnT zBt$vdw=%MaOy^^kfU#e*83@~xjx40|i_CY#oL08k^VyqKPhIoO?zl&kc6)rKJXhFk_o6yu>kSi>c|EX>&cNwTW@d>6$IIrGTwe}`Ucc{V{ zo;3z^f+JMKSN(ho+^y2{AM*P2=KjTRsvQ(yDaT4rdYa^)s&d8xUbB?}$lRl`^2@p= zuMtunY^!w24t>Du)7#F~w_ncT&6^rr{!o>7(VyM2ri8KXcSuf82*)}AQ2UO&DaLev zo1ER1{N6}4_l`=XT`le%E7xhN*aD=_=8A|M+?Jbxi^_m^gM!5C-`4ck4CD!{CKU=3 zcLDaM=J$F4ewXwG%w-91{G)%R>RwaJn?>2Jgy$b)Gain08LK^iOZLpa`Prq?Q=DLq zDC8IrY`&>^_p#y)LbQViDi*e6w{XeTw$apu2Gz%KfuErBf&5@y$!+x4fb3{YeqkS!-OUORpfio&juT)2d$%3$cotzUkVYh#=sHHi$MPIw}pHDQ(J%C{@ zC_~)QVfzQFoKtbtA$kPEPDUzR<}|-?DZh&Drsz%?omoSkB;xI!_JRtI+Z_r3kc56; z;|hg`R!imj8?uL(_|EPfoYZ?DEfZf|Rs8f!>G?oD-a$1CsJN`C&M|NcGmLV%2?mBI&H*MpLapH`b`C=;0ff0Jf&sKjJ-NlQ>~~2P$9iQ90&pUJ zA~DMZ+8Bg<00xEy(|XCS>T;WN+QvH$0U6?E`LqY)a$`V<983DiCF6oUk*M=XR;H6O z#)fC0e>Z2$1LFidLa1oard`5aV`n0n>a;z`9*YGix{z7TNTA~BC>60FFqdTsS)9sA zE-_*h+QoCY##9J}UF37kW)FREmVLrZWRlH?_}$LCZo{kC1*~bF<6)mMppZ~eyKYNI zfO!s(qik-sXt5lYTd1?=n$7Z)!($jC&IYFHA?9S(*W&N~$AJF1G{xBd-uF51ZNRlNDO z@*f>!hG8JfssW%A{`ENjv$ynv7b<-1I|`4F6y$D7&-=2wl3uqp{|JCCVBl1tXQfLO zuc{d6DtkVAD}3u$NQ4*F^M8(BwbWbd5(1%1RKI-ktVtD}SjDNnx-YLc*Q9X?P5>z6 zYwR+ICHB%NeM`gr7pl(M=-CI$^kYDj&Jze|n_l?LfJ>p>FU% zg%75hH_j0};o>}}#%W&N)ic5-7#Ix1p1HaFJZTD-kp7b=T5Lv&Z#Fc(-Bi;Cyev@RO&`WE%-YaOcjx^vWGwTuCL`bYTCp>a$F(j zYn(iSIT@KqI0mOPU(xX5N9b6Ed~u?2e1?)^U-VOY*i)%hRX2T4{roe`v#jO?q2-{a z;uC|loLHb)d!pst08`+cWB}tM z%zd7dpIi;(e)-o>+PR#)Z9MivC66C#@$iKLr>FSCbEO9t(7;&H69h{6RVY?62?4Yf zm>H8k0}!D9cA0^Gd49Er@dE|` zi0`2oWj@!)kB}!z@&F#CX}^4od{FE~P2od~&&Q+O>}d7?F9j$?vsi_D4(&K7D!_v$ zlHGci&4DS*AMt%c2!)OZ8$-TD8S!MZPilZuN0!@i$I3xj&b ze3(aotPnb<(iTf)?D3k-b65<(0W@JOOBTk!2bOl-wj`{=c+n1CBsQZ%S*7N>Ej*@V z+=SiM0DV|cn!hDyW1BtyoY$wf#1gNB_9T-4bsr!F9A_sa`cd8r@+e(Dm+Lm?C(jj= z2XtxE99&}e?uuB0S4kK6fHbTxKSw#cWi4Nz;O~9}tHvPz!fJ_2oN8Xkb zwC7P?w;5nXr~jk!qf5Ds6;;ot^4fLweD)Un^h$+S-(lUTe*LtMUgCIOdy75SY?Y$y zZn#&|AE~glM&6PcO)?B!6^na1UHq2Pb&Nk{PWm~38)DN--7Nn55X>#q z?tMM={y#Y0R4xDW+AIAv&EjKyH2vFpt@>T{^#t7eB|W?Qk65z+eZ}!ao|a!8vHq-6 zu++v6$lDMiFWPyX-Z?>!2!(K7ublq}gw2oD-FpZK_tpGCOX2OFMq4xW>sQ+RZ;R^x zM;*EIM3bA5hBug34v@;RzHC;>O{=UC&e(g8b$|#gcYF;tm=Ek#d0wo8w=9xv7|5Qm z!xyM|RpVwy=`F%Ilphj={i1(ka@%E3y{!`^&;Gftz65z7auwk(2(=mOPEcGb})<@7?JN2MiTFDrvOo^(&t8+e}DuLQq*OA_7NBhv$!BmuHx09 zp3%9(SOAM(ZLPxtjb9h)LYyxc4WBG;e0nVIjMh)QM zGGS;iGL#J8%SoTTS?te1=#Rds+Tem1qIvjtd3}0&`QQh-SYYUk(JfK_ts&QIHkUl0 z{lMGubBSGLe27sd*8`mAqEzJU?2-*(Cw5V73P}3Ue!EW0DmuUD7V1iAm$G+*@!)Ok zVn1!xwA{x4!w)bJS7kq^rb zFV2-yOKp8wwfLT*c%-)XRlQjJw-AsJIp=jV{dJwXzolu~)u#LBm={Us7}iBZkSF|| z=s*|YzmhjD=rs8sQJqNd4gb3CRsROP#VWrW>*{~QoM30W|E#U6Z@ZeWE!3F4p4F#j z-W1-3?zUEfYKM2s{M@PZ@{KLL_Z-VxjHQCi1CroAGV47yy~&s z^Y6nl7a6E76yZ!!oNkh4B#08neyGJ~;aq>O3TCEuYrVdF3dDiaF!K<;IScO+6okqP&5 z`)2qiPz(Y0W66KCN?wy3$)&y1244l%7yG@swc!$;;4z@a;VIsN@~(xGITFYAKv=u9 zz#bxMKa#df4m<$OZt53bF@6N><)PjaEU7cYlS~w!q3jp4>^S>Dx4V)D_y9eWR$%pY zTYQCL)JdR@a*Pl8OkW^31FX;9tU_x*7`=e0FqhySGOx7R^Ald5-t1Qv!he+&5{uQ8xGWsUHjXgf(>s&lZv zBuKRVpFXC6m)qXo{{#Mgx&8FNyo)nw$lcvgfHTsQKUT7e9!%PbPY#gXT*>PNEoue% zS3lSAHDp@a*KqlfmMMw+3JxzozpmLXz5|OUTn=WQR=x)-`1OL?Wzr*IIsMjI?QdTlUI*aq9|mSOcal6%5UCM{cx($pS2x@_iLI|C(4}zd{x49LfEnQ2nI&3szL(fHWkcc(k{oT z=6jKYnGlX)QCdGZMi>ruHI`94OGvA zJ-M|z5Rwp*fZp6CT3OB&w*%GZ8*=k4#r?4^yx#yw8Pi@~A%(HzHfl^Bn+l*NcNYq} zE;6SO6Tg5_uTc4)%7qw(dx`wq76zg*kd8p{GKHO|2o$P!0gE{B6>R#--MCaZ+5~0E z>EJAJCQ!oM1^^?BZ4SH3 z6d%QD6Ju96!4Bo+1-v=5S)Ob59wBNaujRSXT;>W5c1!dD2Kt0qNl4M)oJ1!I<~nH^$N>eTBX)fD z=B#u4xR34+02!1Hre$pQy3MOD_~#0sCY<(MhE`ZJVv||h8t``yE zlr<%RTcf{XqVpTb=bEke)ur;VM5l&lojsHnhswi4{t0_NdmFWn@VU# zt4B)rSmzPW@0#r}_@}aqE_1U$t>=3HRVxD$yP&hu-P9y^LNXk{_fev&M3*<8la&B8 z(4~2Bm6hs4QU>`&U9s6qQ^qVT(*(1XF zxuUBd5#C`FbL9P;`Cp#PSmw&}6%~5qhgQflQfYODtkE%GjAJUCqNnu>RV+Fh6y+?C zMc32LKX9~cVgTsC^s7UP0!3AO8;YM1R=$6l{k+D0y5iIig zGgY4B0Nd*tkxNXDPXP8ZRqi4Q^-C?w$Yc{oMy|>TjwSL9h!LNHKKeQ8%WlULTi7}W zJB*I$+8fMkjrlaom8)a+5u=-;MhbliWn3QY1KvV85qpS1wfW( zXcVa6S@JH&X+RV4nRUF zJc$tq32;^mW(AXKVw~uJU0j+y$Q9OS0O6)R8YKiAg4Qhn6*lqG34_=Zm`IMckwgL| zcB(C@4p{c+pK>&%E*K(4k%FceXEIq}AT>E#n^+@?6jH{{GnX1#n6Ln$jgLWGv$+L$ zJ>bg<(3YDqmh84M*KAIqMzersqmOJBQXeHFB)D#K3|w&puFry#J4|Bcg7IIsWkmo& z<&+Y5vH)0oz>UI32GY!hBM3<`5h%Rd%z;@jxG7+50E45#eJHJQ>^0kR-Di%-Cnmv8 z(PFYrellFB`FnWvulg8*t4{kVpa4TzP+S%IN`!a5SBhkXuAW2%E50K#A+CIZm7 z2dsG>ht=a8<{xd9Rm5X0L^SmRz?vYZ?uzn{BF&wF78?v0lR?cDg-41`#^kk_2T_+@ zI+VUan-|!2_hU`BVM-O4_JH&a#KDRcmNsx^yw?Hj`ck=JJ}Y!A0=@%>oGwwvdLGyz zRYSDp+g0t^GY0#QIgxxu0BDg9N%0=8@four9L$|cw3R@YjTL46k}NimG{d(iAKTT^2^bI~cne+Z z=RuYTbYL{`h#VHlbhm~<0VtLmicy-xg$1tkIgdVl&cgsLFOWSHw8C7168(eF4zP_u z+0%=SntKfdU7e#HO$0aw^8h5;ie>;9p`dG*F|59Y*6k>M!FS~8f*llKlp+g4+bRog z+I7ulmowPa>Spl9L}g&ef7fo4V?YA=;Ne`~*bm_2=h^Yu8<`3K21ilmI2?}a_c=ah z&u4Gh8nUj&_&f)%I>kDWSMc{fWbdc9=x=?Ia{yXAOPHIfvz2Ih{c!MIumr|pPZp-+ zgATBc=*;O~#K>`eqsd2vCm7Enr|4C}dycntG2a#1I9`{Zhl8yLt;i`tAmpS`XAens;woYul8Va@u3MWsWGgi7|jNr-jI z+5qO+Z}5(>iFsQ;qSf^u03C93Astl=`ohubIx`%H2M*tn6TbcEr(+{C5i;L|8uBU|K zd6?^6oD}+M#Uj4~c_5t<3<1OKUCrF5vio#}9_SCvq%oo>+Vj zfpbJ^p3(y(2xVgb4Hf}o@^)pw=1fT5Qznl69o}ib_c3SS)k*Z(Z;;#~f{O6$B>S~u zAjX*N%A!-@e_DEo~yRs{MgnOli_oll_-t z85(HbjIZk*DP-ui5NQt5(vdWzBb3Q^3;$2(H_#ikp8L3jQJQ z%Xf9L`B;;CJ@$O|Rz55$I71+LlD>QBIr+@y_mC5YJoqB|6gjdhx|6|$<{Lx=7Z}uf zs*y2vOv28ypK%R8hg=z?v4c5=msqF+yDL2gEC#%j2%r8c32QG>n7`8KF6U!%E~=th zUPbb~(JoBm*<5x%cW(1#I-|39p}3+dtfbXTiyXEs3ICjIH9ZJ5!s;IfJ+;|!G0t36fU4VqNFZT_bnyO510dM33k|;+Xdal6Xx%d7Y3Xh^P@#b!8(eOBfJY7 zj$Q!zX}hBAV%0L{jsGuR%^%pPFR0-GJo3#+BwT%1|A8qps@nir6+6D zUbsOk>&I~mSS>59Y{}as{_c`*DReoV+2K+R+)yW)9V&YI9>x^FL@-35{3#(J!nO;| zQsa!?J*9J40$`I;&UVumbT!0?NcIK`-cg#Q#dunjGM~~0TK%ubV*8>B?hOSZ_vF-? z(KSPIrh%J^WvC~(4Gw%Lz_8|T~VY#t~8Xj}~1*3r@q#TTw}=SX1vUmyJ$ zn-7bmO`68@qTd*Q^>K|IpS{(e;81a@wSH04-cqZzH`VnYu;+l+r?+THQvS~@SXz?N zo3V0N4tj*ce+=-QQj}O}t8(k>n*ZzrUEVv;5&*VKTo&fYSf}i;=q&)}_jZ(Tuj)AWFD2yQ(x*MQZ<*pCibd5MUn6tzMBO)LO3No2 z)Q>qY)p+ql<*&Y~wN9+X;F*dz;^O;54RN58&l5ESL@!~a$t`RUd5=~uA)yoVgV|i{ zx1e@cP%G4=Fgc%)vO1`#e{-N{WvR$?J0;9CU4<1@3b&<)FR0Ylv7wpDaYM;&Q-k1{ z{AnQfwcD`G1C2u>t|Ev_`?+aJ`JSsKg{B;oyZ~#Ozf}OVu>~hjGMyY;!kqcfE`fl+ z1CmR8Etr5qvYQgxGTTq^Sae>18sRjs&l&7WzI&gk*hYwzZXvjPp#71Y#T5nv^GG=u zRuWy&*%U9)K=E7qFsv5n`2x?wv4Dx)0n_njOxT*ki&9CkpW+0?1O7%4O=4_TT}$FR zeeDAfW3UW^gL!%71;p+gmIE+xzTIRl30}hzYRuyiT1xvVfEM8e#t3f8;;`5zSohYO za&PX-IsQJmpBK!N$x{s~9^>9^(o@pal@5gpc!|Mc5GJG`O# z<(lf>i&a{zY5uud1|rG(j}?AxL%lD|_4Rwd&5@tpe*WKlNk_kYhWyZ0hGj+-5VDjW zlFtPh_`Kwg;Qe-3wHkbwF2Z@hhrKHg#3{nd~|xG?f9N z*4R!d+R)lZd#WsN5G*t_>(EaAQvF+(fED3uX{h4RF0EMCuzf=Gfy0h)+@>}@PT2?r zh-%KH6~3X>qkFonf2d`lPhTX(VLhdEUn>`PlphgZj)^?xsr>zYO)Fh>gP$m-;1)nM zYT>?$*y5!7K*O6|a%4T#X17(0+M4J4s`a*5V^`R7>(Tp)NTwHO<`F51q`QQ79oEXCGPzU zfT=L>GT86}gC$|sAw;UNK;ctzIwVhLgj@xLUBPHTQS;_rdB%CP>j54KgNy++Jd)j^ z)UE*666#0t*Q@3bC_;%bKtBQ$99D;X#kk1?0jpviVZV)mcW}l}m9hYF4-XN|l&ixE zV-ox0W9j(;VaX#!<XwP-G3TF9=9!`ir^^0=+>^dT~#y#267 zpN`z2uSIQ)0!OlYcF!1tXI2%V$T*^a3fC{X`LjU9URCYOO++-Zq(SG3G`G+P~N(jtQJVPO-(Gjy!| zbW6<#Wi6+3?fh0%@vRkIe(q)IzZKn3d~>O*Z=9*nMc3OojmsE#@PT&be}SGu4HxJw z6-F;*KNZ@EcY+gziIC#RV|xZJa5?mte{(&B_uf#@+vm)ImiOy~p6D0s%pS*833s%e z{4)737;Ex<)n_{jU2=96?>ot{D?`v&Vl}}>5yZoun3V*1gcT@G| zS9D(eSDF>hRPH0U-t_VjCv{{zh!1B$5`W3-#}<%~RsHL}1iC0T{_|)hlwQUD{dDHHH^X2sO(}nr|o_7Uj&I!7_3za-9KH&}0D1 z?s~|(DjOWj=W!2~Hj)`R@c{F~v)@=%a(u{FDgR+S2+*Fa6Fz0^Kq-y9?TC(R7+Cwzl^)^TSVw+ud;MSOLp1B4s)}@0Y;TXn* z8GN7kb?`V~Dc7KQ$o!hkZk5XllUsdpQ;W)!Dktkqf<0M|@pV=7 zkILkeL)2ubWCe#a_tcDTseS^JfQ5TkO?dUF28PYVZ|g>uPlI$0}9|8QUr4?8n!4yOpmZ*>;d1MtFCK4 zKfq>SFNJ&P&O7*eLf7&h`i1R|7P6nk*aKS~oTdF(y%yZ3&jP>-anMrpp#^D-0^XKp1(@Q zrl=f@+inJ$kb^dR^l;E)_mP~*U;Q$vt2su5QDM000>(j-EZzLFyuBL;u7|-bm0Uhi z{KzOXY>2SKz40~%n^XMp2b{<3In7~V-R25{gMGA6yc$L|CAVY`KkZz>-cVS=B>5g? ze2jPNRe9@mC1=ktzOItP0RRL$du1O0AqhVkWNlbh)2egntS@hkznOp~KQ-^bfM9L6 z?(-G>0)E+J@n@$T!^R}DToaS_+AzOXTey9t{VNu!3zGt2p|=K__T&}?D@vXp0tzVW zgq+)gwmoR^^DB;Hj<7p-4Z|+vXjhD}1fbJi=MsY@@3g!7vUm{<<*x34rz?t|o+5B6 zoIC96oxzZX^0#vU1)y^_Q*;ECFP3SHoCwXjo3uB>6DLuxDtjmfiPCh+;#uF- z7M}VB;EA#V+VLUl;`RXYbqtK~6{4N?CyWVM)Hbkyg`%?~fIS5C=mU>t7uq_leg2+O z30-GiyR5+ynU0XHfgR_UZYjCC)YTU*3D;XFJf1$ZkfWqod#O`GKzm34&Jjgi1tdCn z@40HHZNfTOV4eKYR;W__4$5{Q9bW-ZJ@yrpY*vviX2`A3*U{EQxTiO3=$QOVUB}}lGVKC zRm%1aU&RirYv5ACk2Up9Ss&!MOjMZERG2mt?Q(od8iP45>k%PRPs?DYJgm$fduBhw z^2zZ`*03*^>LQ_`hEpx+bJ1F`o>afd6Io(CHvNqVhG3?sn}QM`G+kkBU|TG2%J;d| zeWKGc>#&Xw>uGWH7`z5NaB?0@H@E+qN+a}fgq_9c^3d*-Fw|`NjN)5eYn4AwYOAFw z)pEDlW<5I6c~^t}4~Y(XDqR-PfhIXVD(Rb~64nb8-4D=(Dr-JdVOE1_=QXOF$eZ9K zSbw{bq21=ExNOVY+4)6yvoZS2Z^ z{}nxWuK3_UL8~FBi6Mkk56gM9n9yx_j$r`|At6E&=2U~BkXS~#goA(=ZQ3KiUf$gR zMV=7**8xsGr&Ia_a75D0+pE#e7JaioS0^wv#wAv-=)<~P_6;+DaZ4D2%ip0f2aE}d zibe>_WbvxB7xI0;csSoEm2OxCt(14dclFJg^ zvXHXTfcmZz{`lEvyE8;O1L%e`#bekD3*^7Lhb&OEBNWrTHJ&_4nk)i~LbB1_SV7qV zC_*F)?b04Vw!otV7*88O#EgM(6r7yg+7=+YgdH-s^qB7$4|xf<#(a_@ea~1LJO>Oc z^-+#AhT)AFH(=V@q#r)#7(WJL*PD57y#u=)0d&X=ImVZ#%$bxxn=wr|_sIvyqD@=a zVstJaOAf}cycc8T3*?8+Fs4zTHen#EFFk0`O%=~Z7zJx!O1OSUx#G5R0O8z2pC&kn zDY}3mQ6fSCO8^IsuGmmoEhx9Bpc-XL;wU@LE}CC4wF>kJnf>smDsEC``?9ZaI+2f} zJEb=7gc5^(=HQZUPj(Z%bjCXN=?gY#zjckz`U;T0f0-iBNYfoa9qoGaHu zE+H8k3NH&l%^{y<4?$TLXPS^YiF+N{om`_4V?`&!7=5>E4IvCJEGIK~D3x6%vV=uJ zxB!bBDvXYihn+@OIEq;51$vgcoW{90v^7fY8?bj61fG$49 zXaEd{&<5qqZ6TB@h)S+2y@KHkAItl~uM38%xIcrXQGIid5GWcRV8r8Rly5Nr!j;Uk zyfpE@z}Y zz(I_I#YW5I7bhqcU{YGa5NL1SLwjgH$;sJj00=0QUx0C9K-;e{mlFFp4j^%mSDLFR z{-pQPxb_2-Wl1}*r&1mANX`aDgFDMvZ8Clg3Km1!Si#*brDljzWMv^J3YrXXD&z$? ziFX(euk87S43)S9HeREBj5`adLOJJ`uv6xbOzZ}QX$c^+i%4sY%=uW!*zT^X*+A(F z)|(L9ZM_MAwV6Bf2H32sS9*bQr6bwB#s&Laz*1+dOZhlZwC(9?g{l>X?p*kq=2#EJ z7uI1HYjdsVb~KAGG~OUjb+MFtHU=`tzmVTEhGo?whqY?^U!k77&KM>dEDkWr4+&9V zLUj_m>o_vf2G(wV)>i#@1|)JPaDHIdd3lI+*IGieA z(f|a(T)UNT{X=vb=dj%IFir!AiSihBnnWrby0YgB#%rwG65V1<^YSq&7y**>odc9` zw7Cn|M3Zxy^h>*C+FY(VDnH}=P3!^3o$HXOz&`BpUj}>zR6bQWs|4C@&CMAn31bN; zV)(1_ihEkP=xU7Z&YGG(f*rniro#50Q=zb)v7$j+a;n1oP37LcqhPhA z{_#K8)ITL0+$Ly3KE09L=den`Q%wNe1#GJvD$lOv8|czuU;2b`k^6H`$Vp97g%wNz z=D!SJ{t-;t?PeG0>U^NeM~IyCko)i5V@&|ikj>)2`3sLd<+nfvXl_z3HH$jpDih;-@P*XCwzliRThDF*_w>-&3_@XJTy~P5Z%C2RJx_F<)0vP~qc_=WTnG^##&}p}dS2yKbEio2A z=;8rj!s1O`1jbM%fJ&T~v(iNI2Q01?2N*LUx;^mLeuGJA1!Kr_{1U^b4?cS&EaE=k z;IJ^m!5y!PgZX9s+Dvy80_K zKxd}i_X%A9MF+7!G+2{Viyg*v3!pKbo#KFCQS-f6iwzDs!azv!FIucWo7p1%jCt|_ zrfy8$Ujlj+a#T157rja;;m4-S34r~SV_;{?y$FCIXO^33-dt$DVStvZJ>uMQqWLB| z12Wq6Ty}qUyQCl(*xKVnd_ZeSng#L36^y)z>etY%LJD)m53Lgu0HR?NKq_2fBQP}U zA2w~b{I)B`OUKBQwU0}z!HhO~ms(a~com8ugm?aubp-IzD(k&`f=)RqeS>`0>`YVE zD%oMZpDvX9olkHsP1c5aK6$RF&Yb3lZW2p}=ZnlK(f(uEnE z-n2?j1+bwa^l+x)rLWRs@;IkCMSCbyDC1C`gdp_+Hcjs1Y z#x;O5QuzRbz+lP;f$Tm@_HfbBtIV5r=KJKr-h?e}(DDjx0#GaoFZy8BEWc!qQy3nq zCy1t^!jiwyOG0XU?x0-|>c$>AkIY!I*&ad6Dstg(`;qvv8q*Fs253fQ-ce24>|Af+ zLE6aw0tRLy*2kQ&EH-Gj0#H~VCC0*fM0NV7pWGC~CS4K1)~pRHLOHhXAgqPy_6wE8 zDr3UAnLOuP5lqjV6m~=ULgc3rqn0hyNLR{zNTR)QUwZY1Cc&Xb-V0b8x=6G$C_U5c zln`-?@Up$C^7l+HnLcW6PiG##<7spcr@(xS`E~!dgzoDA;ymCS75hby55wdWEb!@|wXp=>u|Tw^)lCSU$EAt^&e<(qe^m#J1DbD)PVyl-Wm0X4xjs zMQ)DRidBg)s42+Z`N*Wh;Lb2k43Oosm)rRfO7ILC{6(deJ4!m|*fT5OAW&HQ1N zX5h9jg?(8&xFFv7&S(<}TExmb<8)D4{<25eXNl|nfzkzw2NOw(ZH0gIhcM2Z++EsV z+B^WM849us_$0_^i7}&K2}))8BFZDk4v;`=y#ikUq==Qq^42ge6w{$Q3y1A?Gf{#E zB@r*qcUSO4FowujB-J*|g!wW)a~8SyVN+&th-Y=>5HuFMKkWc1^N+SomNYkovwzf%!F>zkZ_Euk-qa!<2&mRd4?|4kCzg(3`kOL^oQyuBy8g>}^F zYxIqthRCqkgS|&6NrkYqM1OZVrZCh92W{7@xuhqYH&)5U{3|Mk7YeR?z#Zn9$AJON zQHih@9i4@z2HVx17!LJlWSP6}giCMVb_o)mAK z0Sb#{tj3HronI>Lyns$J5DW{7Kumi;i-bc|2~)zraI%d+5fT8B0A8+x(K8SJrwu#@ zIU&SP+a%tJUyNO4Ps&LM)AID|&@M{hpgDHU6TS#w089*^TpHmUI^vxLV`53vAY|(D zneSLwi-%b%j%8t(qfcoZ=2(fzih-qFRc(SMtdd z*hQb#mOZo3+Td*drx62C0Mc?4SUmHm55iGPZd=*jF6K;^c%8`@>v+Zq>Z^O=d?V)E*i)QR<#_EfJQ;Q3ZOTqZ(MqI#j?x)$SuwC zX*6TGD8R?aCYr=t83&2as2eJ`gIrls6N%;HG)G<>o?Z7=WGz_hG$NnD-^LO=l-7Q) z31o>VOm?@7;)q!SU zHenTOsvhrZ@!&@~{UUP(99pwCl-x_TV$^@h|jT&eby>Q@Q3$b4y-gODHcCAa=^Go9fryFtJl=M~c@;UeOP zp+W410M@vu@}s53fb?>Q#K{3w(p-ZOd!z+6#6=F(qiIzf0_ z>J;U!aUgSKbcE^qa=TMqHHX45WH=hF#G0h%3UTV;ue6oltf^Z$WDORY)`yG}oO@@B zkg}!Lqz-wDR0`MCYJ8KEe@o-fKafu@c$|J;!`gXv{Imi?Dwc766=cSkV11!aUJd<1 zqhyctuXb0}Stryik@G@-Z9M|?%w=5V(hYKUC*&j?j0_iJkD*S9cT=w|t5~@LL@+|9 zTE>uA$WB+`lPioHO1ndc7@k#FEUyxtBJk*(iWni;?bJrV#&`UOW+_4T_R|o%fmq6d z*#(ulCws=5Qvh%QGZUbTa=UAc(4nf8+ofUVO>=IMx#D%em~69S z6TFoDq{v;tYXFiNH~_fmJW+JPK_mp-V5HnT>i{X^$=5RWAQU0)128oJ3x%-`GC42# zehF}rwDiac*k)cfhax5@e|X5c_c6FRa)OCjnBmc^-^4Hgu4s(xNTk|Ng&gL?0x}j} zrtstp85$Eoh9MOF3dmu#$i!j!yE>^pa?8d2@KMYj)F-H0db05r<+*+4* ztIE@F@Vu;cRMP^(V9*$HS5cn%qaUglRfOsKAI`KA?yGaJt2~D}2Q!uZUB>FGzkDBM zhMm1nK?721zw0xC4*A1b+5nO991yD0_iVy=2sclW_j6Zke_U5^I@0u>u|cFUAq>gb zC+m)L4rZ{YG4dhzROq9BwLGCO^LgCTs70}13&(+OScqoK&VB|H;J@={CJz$mj3KO} z7X{?NP=XGXwP97G_5`r3V5B%e#BJeP9*2$Vf^EbIlCiMmyT}rNiC~mz83)9!CHtdS zCbHYV)E<-1>5%gTk-|J)cSZ{&@l6M4lBl(z(xj~j)-Z>_I0!_)_Q= z)T(>~6DewZ{#fG`(izOLI9O3_v9D6~uDt(bZS%W!3m5f4x-nWFtSEYPr36DuMj?y~ zAyhX37uZZ6r5i)DFDXm1C?JHQ!-3)}l8_`9y&~-(Jg17{=ZYu{?ICOfEc5o6hqv<( zT$VRtePU;m)y1Hx+P&NdxGi|YSmFT&7`LF~w-h}mSv;QtBJ3xj7aj%j%P3@#gB!be z4h)6x%iKzWv9NZ4EelRKMAn(HqKtr!V0ma6FUE*LqiqZd&%4BG1N!nfcYFe{#uzU9 zBie|V^94+$&oSieUg0@j_Z&dqLAe+wVV$v0 z^Wt_3A8RwaE{dVqqs5J^nPOsgh!vp06WTRw$(Ycuj8W7W3&VFy9M3eDPcaVr#X+5< zE6gUvAkk3f$Gn-3rOFtLoc2xD5u>=kAVU-v3$lEe$&l(hhrlKXF$~aLXuaR&T!7D> zJ;^{ww30i4kB5;+QNUY#tU!@-o zRo(ika(2P-hsWf*2wR40fCYeY8mbUdR@bfyQykd^^LjQ^KtUiTC*<}htsg=rKaon0 z0F!`$N|=7xv&rb!&+b_B)i+_E8jPsQYFSQPS+=ZB=SN;xmi&@ z%(M7JgqS33x58SOBmNDWwnnGB;IaXMLWfyQRAU1)bn&UfK9lxWp zwp7mR{vV%qgJ%0JhraIB5_H*gF%5qAg>vS_S-o}!U~ zi=lAr!h#aOUc{Yd)1a&F087LoCv={#+_TQu8c%*7{ zgVx%j0c-;OM9c+0$9{QkG3qwb+ zC<@dK0fSOzNEn;lI>XvD_J)@783V$5C+7&H zcGK<^=Z|O`z{QP5Bf@1^l;zi)LYXlji#ew)03gsRp|W8mc{6<1D11u0K64gca6-Q7 zfP;;K#f%9C;?!>eHsrSW&y+A8q6ijq(RV_*7Yt-6zH))Ihjon%ZSsYM^sJD^jf`quQAgTg#jE#1Ku8B6L7=jsH+Gpf${rF|o z9wP4xoSM&i09wUU7KVLx@ui1+DE7+oU^%xg|8NF?0Js%$LO5B!mul7jIt+;dNQlnx z&IFW4j&`+vMB%2I?!ku3vIl3_^$dH$uL_>}<*>(Dq}*X$m_`)xo2;PGo{ z1$4o}J2Z>qPy`qQCj$}<772r4kyG&B@?3V&qCK}T(HaH}$cz|d8znE&7m4Mpx>mv1 zVOQ3tJ+jJfSxf`GSQvoAjM8r1tQiS%Y}KCDW1h;!fN9aE9gG45%+C@7Bs?tVWYi`Z z0Ui+mg>t%#)vhOVYO9JD4cQ$dtUb>X>Gr(^_%3ZU0Bj#YKxZA2fi@<}VeGSGXuG-& zH~;`+13%g`-$M>K04kAI z!hXpTnFpIw;8=4sfEl`p(b6W(soX^AX#<6HoCUI(%B|8qOe}Lgc04M9elP~wX6=+? ze7TmwXMM(u%wam2F=2?~8-(MPRM8qGdg~6^MF7CrD^%)`t6jpdxb3S^_!9lFrk6v+ z%h){nYUEV-;D`|LdrrFI<%L<9u#z3?B zK=b7h;l-saPdIvqaUK$ymP@{6F~;MnVEO%rBK6kY<35nepeQMF=`60CO^vNR@6=^VXaa zJcSCX&-Di-Ri9T>J8o%ulRO`Jtp(|YteUl!Q@DzAgpt@C6eb(67363a)kXzEeEKN9 zK;Kzcd&03@;^QKJ>{s@{S_4Xlb#cjy#!Uckf=&^F8N0GPQK`eYJ_1-+$B<+^L`IEw zeYnE6;RfWhbVZ8tl6U0R1-QwH<*QrDEi0N0K0%jYwjuge!C@fRLb9sDqN()kOcOmP zFNpJ*-cY6a7QjlSj@+*0l8PMw4%wyW9l}e(kb*YA;%VK$&L87@hUO_r$G9evi?0P{JWbLO6u+WRI;cVF1Lfp$Mr8 z91kUS^B9+b7L$3oVF)0#RkJ`7hztAh09YMJj2DA8JLoc61|adC;9c=%e8JzeM-tII zoq2D?02%Z4nspB2vvbNcP+CHYbZr-Ohe7y+cF2Xn(a$AbtpTV3c=V%mNbV~Fkd_!W z?Pp^HJVWM2b8c-%+FN7(e0IjP$9a>7I0N!&_OlD}SWduqREkJc(S|3V5CvhufSAAi zS^$7ebI|hU5#P~{g%az=v_Osm`vDd&53uf{#6#w0;d+basJJ8-q2gx;@;4i_!JM5g zK#8YbVSY=T3d))qFh&d(YL*fv`5W}dpV{*nO@1W9A`C3&pk$PwV)SKJA7yhIzOevg zV6`>I!@27}ER#Rml>d!83Se~e5C4dHE|h-@)(*pr-ucUji(OJkKD543EI)u+f%=`>mN84;niDb5CJs3>+ur5M~X2iI0@> zqhLlsprm5As%3Ma(S6b(!5lWW)XLAB5PQZ}J5n?yr*%l?_GY5d>x6M6hFkyau|}4# zM~4@ywl;~T%ON^4fpwwVthqhX-E=h%b2S6Bi>Q~I7$PBH%zB#>b^*7Tad`kk3|OVB z_}+jvIL~f&Xm?RaP}v2#AFm<*Zv(8TNcBCO9c;PKDQP-+q#1FqcNJ;0HB{w@;ziok zyfq^!4`W+4HL1K{|59F;DkUUgM)Wh$L#>|NW$gfu-F3~0@e@%E^!|_#f1<(*G`q15 zz~wai=m&r*ZRKyNAHSzux1>=MvQYBWcE6sn>q+>45Uws3CzmcC^Q#L)%z|18CvWLym5Fs5H2V1nnYL(k`wVEV=D?-%>==8& z*7+V;6_F9)w>{F|B`;!?Pq&28{5$&!zVmH8TKVtPeU0;09hLnX3KH6dJ+wbu z)#0DR<02nCq4s|BmgbwVnYD$s9=)zo?G+3fP#E-xvIbfJrt>=}^_}~AcH=i7t`rO2 zm}`IfS5SUIm|a!FVdltOm*(qM#|5ROJL zD^!pWDkpzN$ZbBu>;QeVi&L#nES}TQ5B!QxSZO&fGSmt#W*XiBfYu`|_Bd=n6>a2d z@a06E{R72|sqzPmxxA2nPMZMI@YaNkLsv8JSlNB$Ap*lqWQLPW7Gv;xEdS9!F-4i> zwx=n8H4dI>ivG`hocQ4dPHt6`W=E6anL^~8PnuZqm1OB7fOb%PflbXd>i$gqZH}od zw5$-WB0IMaxZ~Jk)+1m{^X5d$;#Bih`;NY!3^LXgx+8K{6U|_mY3Es52PlA^LBy}ia55q;!WQn8c7KXz47(6b7RzY3DNn9@mmhc@$OLo>m zK)Yp({g%!0Ed~@MIRHHl4H_uCO@<+g^8iVYiU#P0uo!bb00YK#apkjhxziS<-42(i%4G0vAuwgjR9T?V|&3l>?hr4;FQjxsSAvp{1y_VZ2*oj zq)vnVGzJ@C@W_p}Humx2FfHf`YJe^>fg*jvW-Rw*pl-=;KXV3%9wj%hhg$pNcNi}+42oL9co_g8lc&+$eSnwa zu|7*iFP)z3p{1eU*St(gdkvPf>k>vSG6NdjCrP{pLn;!!y#80@Zmhx1V3jAx$SG;b zG2@L(Ko};+Fzewx#8IQ-)l#iX{=~ndjmvkKBEXjH=y?4PNcyHQf-9BAZHDEjF?@x7 zFV&d73aBtHz6%J2J)BY}{UdTUD=K|NNcNbV%xN7htP}3FbanrnITNz1Q$_qOq6|XW zoG~CmIG>84-$hq_L=JcxkW60%l&b*s1z!(%p+co2<}%|&mDt8STZi%Ecq{}=U{-cD z{mY-?u->#1A$z-CD!cnCjt;7*{3)7UM~$!>E6`LAnuKCSYy>+XcNb##cFBY3vQ;r> z#5+7yNU+FN)y;walS(5IO%wb)1yC*$)6^guK+Mq zYGWK`#IYK|fIv&jFUC#A&IHHRL;8pT@(^c4MLcNJCUYR|5wUio=n|XSLEIOJe9E*qeA#&j-;(@}4@1N&F&H`qI6`X& z_OYOk7{x>R?CHwRtRa9t;cMvta|W_7k7f0~{Ea&BMHklh0$&t9(bF zFtZF0i`&`06xpi+HP09;$NS7D$N4tifUyAnOq6*dtNAJCGY-aTzdqofY)%dg(ynMX z194DVn}@Mx(3y98AuqScc?=0-H>TNHJ5z2!l6iuc19uDLRD8n8hhH&p!ZUl*%#h}U zaHdqn6dgcWXZdr$r=*gzrG(j5|+;Ao}LZ2KU1t72X-c)W*)eVEM z&+jPRXsVu4HHvR&S(<5D>dI>XIJrI8fTL#mCI&^g7rzGJmq-wk)Q`5*7~fGrZ56de z<*BVwx~<}?b%#HIpr5 zLjhnHSM57YbcS3H0GTdJF~qoWw3eQ=P;0U?reAcE^T?1ZxTGzVD0fMyh)q~R+wPU` z@|}fQHcq?HGTmvxbO}{+I2^z`m$o<^rkwVbzoIc5Uy^4&FxbTotgH@jl}D;xwN!Wv zP!y0+1hA9U;bVZuws!Ml*fLH$AH;SyPRehk2*f%Vh}N51Vhh0JJYNLghp~q zmbK?K9iYq&<_b$mk)^RahCze;%?G+y%)TXk0N6&E64P3M4|>M}6K2mt=D@iy9tOmz z0M5+DX!GVUCTYJ^fL1bA#!cA4A2c`R-8TAy<?| zK*(-MS9831PG@0k`dJtQ4rYIQR8(EU#^SI6xK%VLKV_BLFrhtNH6E}|=nG>ALA(&% zI)D1lcmK`G5nG&*Z&|jH3-(czmM9zqDk0 zjwJIgbGpFLtBUVdG}QtC4G7T^UQCz}JP$DVE1UE=AyGe8uG&Ozh#=CDiBE1Fz#2RU zz?mx`li=*^S%o$$N@}DZa8fL#fq(&9lEVlm1?A4rb;9}3zE3e^B8LP=HZPNMz%klm z=5mv~@+Yhjc32|X38*j+w&?@bR$1QB!eQ*>tnALCaRrxDgKz*W?wGa;%mEvi+poGy zfX&)Ep=lp&V4uUHGCb2oD{iPudWf<6eL%0t_|YT#8C7a?;e{~KEr5G3#+XShKC3p65k<)G?>yVVE~ClCq|)}u*JXj%lYLqgcx7R-ywe!F#rT&p5Iwv z60iC;IAn;dO+o?M+XHKmNPg@gAJi%IN+q4B;<_>78YApR5%9)0P2gL|Y*XRO35nwO#*WY|X7!0dVF^)K7F%FFW(U;oiGJt z5aX#Z7S@r4VC;N+Y4rAyzb%hv-8zKa1{MH-{lp`iXUu}IaF)|^XxDzf=fVIH1}AWm z$(dHN&4A2)2Z@n#FzwMgUL4EhSlZ-p8l+v0$G%=}dZra(Atf%O0r3dHXEcvEvc-+~ZuwR2bbBl=lgQTWM6@?QHi5^M76A#;E=FlGk9&{JJ5zb~2b1<{ttCuoI?bLW(iCU{NMi%xQsb*|kru2lEH{jcGVI0=tm56#_U5 z7zO%nPuUp&CJ|1{md3*g*=>Wu%1rqJQB1y0<&kidvBV_iy%^{0k&g>zg6#!>9!L(w9Z8248vq$?WRf?P-_sEL00;*+9F=b5lWAxO( zi1ra3z-t4c?Tm%-k+Ik{blFACZ1!k9--mjogjneU4^ikVyE+`SWBh;t`U}e1qqOXv zQ^p9aaj%gAI0&5miG7E$Cvj8pDIf%hxa$}?D&*HX7!--u#cozA&#Dk9tinPM`pG0^ z7K6h2D-*ipGe*LI*vB~d9!TXdzQ;(|LI3=X^4PNqNxWpo*rHe))|9<-5}!TT4r8AH z1eU9@HViD7SL(wCGtlD?8w22C$_GtAupNeg@afNqUvMynPLe4DY4T@wcy=DmW$ceH zQlnZlY(EO76L#=FfRt^NeeJPl$rbV?$3s1UKCD0F#(+@|Z26A?ZBRRpA5WetN0=prP4*s>%IW z1!pb0MyYe~d-88%SU4igMgc6=of6huFn{7 z^wp|L{VHimiax8zrZS^PSW8%cjnV`Q-iIBAPMBLJ72ohAF1?wD^F1LMht!e(Y~mlL@7#HCg2m)OpNwQHiAOWI+- z=~-+xfpeu<66=5}4e&o}%x84iwqeSByaah!J~Y!)zPB}G zewa4j@v?E-XJcdNT-HDDz6m`hZ{R|i?V2c|voFId{)buEr3>&MI))wW@4`5)Kumy% zjJ_G1Yeo*Ob>>HkpLb+edHa=P_R)a`v{6?4>?eR>3y-nGcZaYx8aEK}8L+Vf;M9x@ zHv*mo$dJW`Ine}z;d{nt$I@N)*{%Y&9~!%>>kzO@xs#`eo-yMEGJz4cWtF%H?Ib7W z!Ay<8u!9e@2hy71;;#7$@PLL}RnijhwrV&zl#V{d-~8(m^8K5Q(~Kc-G9Os%C7)UJ zq;``_ z0j4CbQW?S%k4{vC1tqZW0AsRe&RLUomw@Hd52<9XsR95mmKPXFNAu$s(%vc>SyBHj z7{L#=Y4}L_6GwJayvz|W{PF=+=Oah`uOQ<>L4~zjgpu#7a7HLGOx63#FuO8F$y&w% zVc#kt1G-o}ZE3OZXti)X5O z8yb~PF#IX|Vp}fM)%rk3=_|o5=C!GcfSijCa0E-w_!xv;7|N>4t}?gV<=B?(=Vdu9 z`^Lj=e4J7}xvx&}Q(Co+#ju@hF8c$DN~71Jtn%pg&`nFtFb+tr5-{Fw4j2Mhe3bv^Z}wv=c2WjRoC8OYJ@+ssRE0uv#LJCc*=C2wGyrhr%~%i& zjKOO%Ao_O!Gd^WT=QvaoTA(taV|?0#G6E8LV0UKy&|e;1K!A;48q4%V9xJqUxS^kE#ux#lGR7a7bO3-$I6 zU=w+bS50TA!~zIQLbkIzAFDDU#67;R#?c1qH&fasIv}E$)dt7{n?TMEd9dP$P^hhDzhz)#;a*6h+)TmNn!%!Xyn!tC zr!g?Q+iR(EQ?uwy&Pi9{3OZ6mw+Jt*kFdKMvNDznumk{jfX*fp!tEJVTnacT>59UL zd0JmJLOwvuAHawqCiCSKr-H3pMU;G_ji0)OmMvt!I5P*#D`WSJF(Bk)mI_OZk34q% zf-jNZ0%v0pn8VUTW$BACK%|lqeTAKhltZwqE9^8wIg(!`W;etfP>HxjxV9b=8lKAO zjhP6v0IFxk?L(D~vL(dC7IN8Bb`o+(cI^%>8soGI z@~JwNZ|ZwHx5*X(im)vMgasM~4Dd}3kZi!BX{!5L4$y-h1pCzwHslA{f=w8b$!@UC z?!N5X-8a>}w{o32dFQlpnrqGA-CJ zKas#U^G7S2p<-+_n)hMM&weoITrT1$6#Fcl+k3sIZeg`qjF(8$dCRx3{XhG zH70_$rf;i!qR5skwD8G7$b11 z)4Xjbmp}XM{|L1}X1OP;BLC|)+RZB4%z<|3z+SjvsOcn;7ENSB6ZDi~$BK`X?$SzT(jc zU5*v4k-WxfTF%EV;V`xktOAuz5Vko$9A-oU-rkICQAgwA7Aeq%F1j#KylX%G1z-(0 zkV9HOeG7dh94n6LA8Fd!VXRhRvj@7#fF5CU86ZlTN3ft991-Ae*|}aN-qgN z4`WT*+xoVu4+GXG`kPey@yUm*ezo%41DkF7ww)$sDgnr6#|4(;fkX_e`l|IaPqK&cXr= z3E*Z|ms6Tzp)u@Yz>M=L=IVe7V+b*xl_^#Qq0C!p0qAAvK za*nrsjgat!b@<%&YJn~kCnfShjFlXbA5&O~OKP9*(}zP?b)ouso2pzV_xM@4N$vu` zn3E;|>X;;u zg%#B+SUdP(xnm$0heSKD>!6Pf&(T=}L}Y+DK$2Qh&ZJV9onW-I;!kLmg(J$cmnR@H zj1%DMFdGL$gPP~y#9VD}GG$^#TW|~n4`dTa?b zs#yu%Dn|^J{qzKIX+ds+k$FX+m+w=~i=(dG2JB;n$Kx17Vqh4SW&Ls-hURsw0s2Hq zEVN;ueE1)>XO|)vo5KSn0>1O~#WY zM})+nzB4Dc@-3w=KPQR1DeXK|`pNr*t0*RmW&oU?Q(fw|V;OvBXWDNsY)GX zgGpU6#tIc2*p|KN*HH^VMHcm*l1pTWVtRGvNxp%I3~x;SaN`c?HpW8^%&AP79!b^V zm7HcmbQ)-RgM@Px7FMQ{ zMw&lz#tg)whUFbX-ChG6VIN?0@!QB12OQ(f?GZ97W7ky6`GcxpS*s$>r;=#)Z44Im z3ooSlkC9p9ToL+fy69iRjxcsGS@vYp0 zTqXcJ0&x0>rwf2TbD0p%9j0es9j2e)L65^TQq1ZOcr?uZA4Cj`MTJ*Xpk3E=P# zGBgInRAENU3_6Ad(F2Q5Xhsyyu^6yXH_*=*jcsr!*cTp*g|_P`%(J_77UGC$I zCJJ{beJ5r51#B6o6%wo%kfe1K2_}=FNeP~O+M+Q8lQtO}`6je1E3N^EmY7FL%bQAi zGZOYB@^ib+_#oFYd50>%1*=G@=-AESHe0)LJe}YZPUf700wK5L{DQFn4vamSprtHi zHst6YAlaqzgUr-eXO0VKKEQ}_rUO>4QkB1ThkcA`*aN5m0`h!r37J5XjY--~=$8A- ziUrPPOsu%Wf@c7UDMU5_^vEZP%4kY>M;s@6-J0S{LcM0r&eD@pM*h`XdNoznJ7=EE ziLtq`Sq;x*Ij8Y0s%f1>XAcMw#s#fE+EM9np{v*XDn28OfTaX4mO6ar5tT3GLVn3! zHgI_h052l`(pYQpw=s|wxttRXcTb@GC?F1R{qPOO+0PukWlJiyv=}L4G*z_Xz$!t0mXCX~*VUi?TL3=icK@-b@jFx;an_Z`4f!X8 zs{o9TN~Q0h8|ZmbO*MUkTo$^&*qbmuKYqc?DoH+ub-MNQuWe1kpt7ciIhvFuSW31O6x zg4PFREw;gka>O_RmjU|c;LHNnvCvWR=jK?i6jV{EBWjOdd?Bw&_yWO%?PR&$6f5X;taonwFnDN2bVs7eFJt_Nh`^em22*U}&nOJ1XqFt;Gn?T+S6< z4OKWmH{6<>Zd1jGcF4~XKrk+_qDLrsFi_GKl*X`Ime`8-q2$JNc0bG6_ z|C<-cF9_v0J14>DRjk0AFh&3(^|$!@mg3Jy%0fd`SpzUpe8MglP>cr++5&VSWR|;0 zr`8c#27np^Nfw(ljquIjN%*Bx!ZMgqidW728cNG|0@RWg-UQ&9!HfvyyvmHRp|A_u zasfF!vzib1j_=7erISF(6-mb$=X+hif(2X9F6H86NEk9CPlI*XJ$P!aDS3RT`0$dZ zN&p9jeooE@`DI3p?0PFgM~CuoIz{mbfxrUtD};VylO^AgNX;Lg6Ec=J-jlPri@X6R zm_vF#VLUNbhLMs3)8G;YbVfZ-VBU6FUWqLOPexnl9@ zIO`){SoHt)7Y7{sMfL&i-q zx-wMj2RLs8Y_R?q7@E!;X%f)1XHJ=irx>W}&r*feP4yo3RetHJ zN*Gyx-{Zp>^j-FLG+l!k%>gjfVC~~QbRt#d5l)J+CJXguvQ1CZ?OPNJE=TuYQ{0`KjDR1VfG_B(x zVceHg7%4<}Z@wY_&V7>cNcR4&Ji~^=vHY8N_}odsHa`p!}+=lhZL^V=jkB7;Od+MY5NuX4Ba#Fqlj*9{eUCoxcT$&?kQd z7&CG^ZTYuub1c9)nKN&^9wDLKsGNtpT@1Mr@F7IBYtJ0UFeJ$zPZ$RawY`RXVNuZp z)&+Qwe9m87yH-W6Q_kTqK-0l1B2ebam{6q5=EXQ2s!;a&wcyS@{jdM@BYoBOAN=;4 zau}yBPiZ@(ZNRTTR_}W=m@Z)mvIeU#HXM#e`{6#uK>q-9`3!?8ZQ}hsRh+wO#&=ck zd{ec*h-Av>|MFBC`y!IKZSWkYp3^A{mfV47~LMFYFEFfV0&L7#elUBHps=fTD%@=z77b& zV*S>J>eCz8gn^i+u(F}TXB1Dcs_NA`=dl(<5~UXa)Ja_>XIH@s0Okcnqk$(iv5_`T z-+`qJi+op5IAZO0JF0DdPvHVvC{oB6z)1Wx1up>`(iOGkzB1O^uXH$`(COou%7k={ z)oZva*mYRb>SjfS^Gxj*TVl5I?%!3mw}xG#`(^a#_16?swpmZ?y^YSTVb={D@DBF0 zSC;C0Rye$QL|BSlb~hCM?%$NQ$lXl=7g%KS+NQL>4zK`P+khEk(=NJltEr&9i8DY+ z0vshk6s-Y>o5+8&EPFiBa*EATO?1{+cTz6dT1n}{O$82VoiQLc=;KgO#*H=Xi=VX$ z`a!tQ8dxF8S^T5FPoM~r-rS>#a|VbE0HrwwMOeoVr_{vg`Ds-|ynS+VgfU!?j3pe9$fc1>XTc1^UK=+cSZj3PNafnIrj-vtt&D#OGN8Ff!J!{EN$~b1e!@8pnr5>`4 zS6W8Q1pr;{2ZRM}7y+^^)JfQ8n$AAWy=}3)Po)&L3OgslBvCt8+@jkH0CCt>b^E(o z9DPKnJy2vhk6oPKYNYJol)lOHJ-Om|n0~u1f9O!GY(i^<>!R#2Q!Tx%%~l0GPatkW0(w!?E4Lt<_XDt!le~q$&fInzNdEm*R^>0 ziI&Nwl8lhK1hA}aYvGWif{B-&AWihkSe7NDQ`U1;WBG1OwRoMh0nRB{mYFkQ@Flhc zQ?%z_c~sKl(IxUnh9spCs8)N$oKgBaw;02S?_hMNEd|Gb^bJqTd*lWq96(5@_+&zw z7)IJ0!HStXQHwoN#vG|<4=k9ljw!P8=g7U714CN##&dno?~ zGXYi8M=Wj`Fj>R+(NZ4+X5N`j@w(e|jPb87*#~{35|o{MjuOPI#08DgFv^i6Yk2D& zCU}I=A($=-59>%VO1DItO*9gNGCH615}PqGJIaBklBQ*Lr%L8aSjJf4=8~~8!DSWW zF3PQpVLNSwzx|%FK8)zopUG=Z0V@ofMbYpvjEez}AIqwk?rbi17i0I>m#~Od!Ukyb zF}p+hngE0db%s*mL9Hr8XB>wR<5T9tBJg+q)Q9Dv+$MmxKpssN|8@i50+@)+3;)Rv zY3rKpk3Qg^|Nm|N_g+V#0qnvMCc`-F`YjuejeR3-TQbCR*S7HwhP94V_1N?>GM`NB(uT|C4O{;D`TRRST~xCX;?z zdZZHGKe%Y>^?&F8$=<*I_QQ{Vi?PJ24>nZ88N@e-Fp1|HRxfdEBg?~UC79FVl;Q|$ zQ?IC&y~dfBve$IkTb-x(NJtkVqRtLsR#z8mAHhrlHA*)W-7aam8k5K`!yu?KpA$ZJ zXX@__U`*&GMmVe|tP zVw|m#odelZOB; zIW)%RqbF$!i2y4?DvMT0_p>p{xbzugqGA@ji;)6CUI9a9pa{r~nBWQk@zzlG69zoO zs4!4ak?31)|5F$W9g(-mzo#-{SCJc2NzRTDaLoQN|LH;}y%wPm?dFMmY$BoRV9%HW zw($N-Vq@Q}qo7~m~vNw~F+aWGCZ?ytEy>zjb!7d=9={jp4+FYxa|AOePjL=Ki~xv2`JDiNMGn$fQ(XS~b370K0+|Ew=tY7@ zH`T5mZOQ%FXNsZl8EoV0ZiB{SHK*_9j}!LD3uXNt(?n;#<~FJw0umnVif&#Pvnc{&DsdYl_;;QSIBjQKx+xlA;7PP8C&wKs2jK01{K z=rGk??-U!s31w42jod5qjAAOW%RjZa zu@F)a%No^K(_y|OrqBYgu^XlB@}tICQ}gypMX#kWfmJUrAQ8-$2xL)$O)*Z(Y1;8K z_ZW6cSWncm1ZRtE2D$QoKOvtAGn(Njd>~!uE&?igfbZ zOuEWf7=_ye80VkS7sf?f_B77?^;ab8Ep&6IW5ORMW=v`M0_B0x0gf&cv&kyK7y&~| z&ROD^9rVN4txpudZjuGzFhqa=CI@`e4aYH#SC3SIRc@`ZkP)5%z|4?|ixMRq55;ut zDW)bn3kOl0{3R45$K@9}jK06_<}+q|6x5EN3=-wY@Hi?`*<4`Ak&&@>xZA=A39r8o`|t z(j5}=c^@m=YRVZbG-;e^K`O%T*oYhSi;gagxtrbrLf!(IBkLHand>o|kDS5<%!mH$ zX$6*Uup8|8AC?bMSden*KS4#{BFz_aC#-b^r{EHH!SLoj%nj#f7rLeyA)G@yS zMJtzd1Yx=rf%@J@s9gylsiNmp|J+lK`zw9N&Jy%`R=h+PNh_>800t+K%Y@wBh@9MI zs__ zCV$Czy6dv*<2*pZZsD;j?D6Cr^LzIZ0q3*Bu5P!=T6|7iJz_%Sjr^T9paa$OVKy{i zo4q}n3DSvuT2bE#c(l_cvR(lIwvn?&uvezyTUyTrH-itE+=D1c__wD{=|a# zj{ZSCt3J^vUtm=EsMu*g0iMhUXkt*CL?Du6EKI;QsI?tt?GnfE3tI*_@x#8eu+G}g zH-|YwPctNI1p<;Gk1f1kZy-jd&chkp^DhoKpW z{*_F;fAnL1`SSM3C;t<@Z2S|%PgTwmAsDWg74^4vKWFckw?F&C`)Z%xk>xOEje)A} zEv0|*Bi;T_zxw$9-|e5g+(Z8Ps?vu?#fyaYM~=Sx-+#e3U*7)7;SK)99h^x!zqm)? zsHOA!FZ3I4|AcS9ynXZ!Z>w+`=;Gfd)Y~hd-#8~Kyiq+tCpZ9|P5EJ}7F=Lh9pnXw z+4Wg@p#|f&-%VzAoszv+)Iu1$HYzU6`JUtW*c9w|Eog|%9;ag0uVLN*Am>;Eb_}){ zPSI0R8a{d*RbU(Bjfy=O5``~w%H=~qW$tLQJ;x7+upCarmSs{sA(ha9qs0z3#PD3s zwH#yIz&gp779w(BH3*97JJUsd1sx0CCG`JYC-Bb+uB-}Y8G+HpID}+sA z*L0GZ$Nj2SM^~)aT}*pSD&g6sMb19K39{BqYMS*u(Eqm5Hl6oO%Ll0e$l} zILF#!#@BAl!R}wQ7fa-ujTc&b-IkuC<)t?L5BTevEn%ECS(BXrP1+|5#CO+h3uM5t zrV+L_Xfoq6fqnIs*<1s((n7+7@skQLuY29*KO4(?4dV_O7vNo(S5=DE*z-A`FK?yu zq8k5~16};RqORT=DEm2#;M=VAf6C7Pnk^i#W*C|c->#6h2j4|^V8GXG0o7n*4xOh} zH9sQ^iB7fg1J>=DZSpSb^f=J?Cix?njz2|g7@VIlKSCa;3tzC_B=OT4dgTGmNY#of zW>a~%Mmx4GTYv+}VyjxlJ08by9$QXOu^|sIvKOz~#gO)(x@d!a3E>%Ql>u5bi=h*A z(w8Oc8-EUS+hqTn$cuim8izzH4Q^0*JfI&8eBPX^FsjKvBJ8{Y6qU_M(GH9#!+uy? za=O@Xo%0#5Jv{@c%;#V~?e*{!w6P1o3Ka;(0r&u$0<3~dYyl87r{wd!&L#>^$j7~x zAPeSW(GwwSID)CdIO769$UHDt+GczaKm97ZrBm?%+(d;H|T6=u_WYuMqbClZvf{6tv>lkpz8dP~2N-5jh%STruU&%QG zpy6~rVTEa+US_lv7#B&k13VHrj?9w91=?aE?ZV20QCmsfY}_IKwTncJW<$4RPbuIZ z+F)jsQtifPGa857OMdH&%W?U}Pqe`vot%yVRlJwwoa{g5%Xk){C>KI- zt1Jf^ZjXjBcK7OWz>GU%z7z<|`&oV~H)s?l*F5^Q$0DagJQJl~yEs)oc|N?2-4kg; zN6gFtMfB>l_tjheEG}riU5n8Ed(2>%BzgfTGRqn$52B${h@ob_&RqP>%t! z=c_jht?d~?=8SCM_IC;pUALvSrj*<5hH%72e{=e{emwqP9BSjVfpNej=%dspalLyz zh!i*9P`vd_5eZ&EG0+^ zve%W_4b#ScIPG6;#$N2bfqpO2vB)Rv5Q1OCRiqaBxutFOvYsKOAY8xs;<0&M#n47Q-+ zBC=I@irwY_!Fe>4RnQ0Qq#E8O{0CTPXYvop-=Wg>HXLI?fn8bNi}5tr_%`hP5dEBy zwb=%|kWGfY8!#ISGN4-30Yre!9s=l20WdyRHBTT8(KwnE zZdGy#{SXXh&phg}3NSE#MjC-UqbMY$6>?ar?8+X%m-c!b%OqOFvXt-LqK`nTB!n*% zk6A1xoQz`m9b!rSP=rEE?a{t6Hq!Da#^PN-J=cG5CuFSOhavOID^+7TC(Rf7PD-uorLGjiz?dt6d9achsAa<}#pNdoo1A0#di- zT=uijuO8EpAEcD}bl%T3n-vp$C^=Zo_y8Be0te5t{2#pzpwbtWQoA(6-Un!)V0R1H zGvaZe*KWx%iZ#IiOi{KNM*%rlY=6y`8n}^DFf6z595FH$wD_7WIU3=?sQ#d2U?Lmm z(9LyQdhlGW=W85~LX-FKS|yFwy6pMtt@e3<0r%DZXO2P)DlPR@`GPTCvwi&U-39fYfeax2I)hrk^zs+% z<#X~no9NfZtN!fSRkNE*6|Ml%u@5WZ10dSVKoC3(%FJ|4r62Z5N@K@ctQl%yxn#SI zCiNUuKXX+2obc<8DL(QB#b$S~iLj{V@`09@&vaEekl&`7>5>aut55)#f!DWL*E84; z&VLyY3gdX&gmkqfj1Ft^DCjW86g`Y7M0wbBLVxybdwYCPaFJ=*hOXQM#ISKN9_C8v zY_`q%6*Mj!sj{d8(l`|upd<`~2(&g#q=miY)>Nl4`Hx#;H%s(p%~m=UGK zze747V-yc*-4cE5Plv>)BPLiPWFpaMhVFDw)SY`6Hpc>T)RqCgD?9;8g@xEV{oK(| ziiapafMoXqum(nM2<`bD&}$%V{F=RySPl!2nc*@xl8WRDF*cI^TWbI!^tRtuY9S6_ zmkPlRm>@c9p-Z;Jz~-Farh}A4A)%Op^4Wm)2;qQifD^%Dz;+clfp9(#8d7@6*wFj@ zk<0-NaxUM(WH^4o82Qs~oVM56C$tfdODrr(J*L7lM*FVW$a3%x{o*BYd$KoXgGZdh z6w1gD0I|zC%%d7$s>4r!$i{iymP{G9M|%ZRI-9%8oRHNuTS_7}qZ&g!8quN%C5*FR zGXLt08Rla(AT$uQLWtc6eeK3LqF|=dF?AerSENX!FP`$xHQNtA2gH5VJ_WGI1I@PZ z=!+wEeDzlBRS1bH#Na+JuhbcTx!QPMO zt&cIpK=JXZ)E~&(Y?9FRR8HT~?9-npTJu%HIoqRSX5=>QjYM%1ogoUa>-y|wX?r!7 zk9<&SmTIW-Wkv317B#Rg4vb~vq0}*Ug)EO|Dgq9bZ~twr0@5UtPv!44RhVKQ8=v94 zVSx3z{AyP3NV6tHt_vM_?}Ry-}yRgX67&*p$FN$O431;%AJM&~yqtE@t; zM0Jf64!k4YN?=^6I>XmA*(b$QOB6O?*VuP{!RQ&qj%V1}ZbOM(*lBF5juEsr-v ztA)a1Nu}zh7Hdo^U8+3p0M-zSAk?IADSJhJwuk^k=1F)QUNIKtZx27PXYvO@Te^kp zDht_b@PZ{_B=asG&~E3JCjO}kZbPMDQ%<(6)fMXn0DCDoaX>|qHTL~Fg$wj{NrkZo z+dGQ@$Pk3DRAkR-N{%l98jJ!Pa3-g6%Y5HzGD+A;6GgU1lgy@4qb7$um%T6{J~+UV zu*(8MZo+Hn)UH-{q6J|Q29G!JI|z4<`)H8A5&$^>T(CI5Tw{Uwm4u<)lV_JhxG<4q z4x^iuwfdCuZ$Cx37EpE;rUoBH;V5$;EW8%LMaLle2k69a*!h5=#p%{Zi{vc(0k;F5*L zfTO;8iwPe}(H5bor*-^m zMd8LR70CN|78Mk#ioUZ@chuHAzC>?VDjX61lpd1oFKTu90^orVkZ-a#&MccHRnc>M zgiA0Z{Dk==L)HbE+xtUNryKyw-~Jw{fhTuu!o&d11tpU`S=$vFT{ zLVQg`%kL~I6%-q%F{bM_16{iSmF@ve8ip!6D4A1aj4XCK!;_iuu)uaVK!WZ00e=Gk z*KMv*%5qa`Z%OB;c^g8puG`E5+I@{gY+`z}9pISw<(kd%dA={fzsbna7LmzeX0-t!}|(;?bnp`hI;+){y#YD)pqCq{3-wbSGN!N{C~I4|2`%5 zTO^McQw+PT@b&w6^A9mx^00{2LB|v$KXlKYLYia+`tQl9Vh5#?3THU2D0&r^0XkTb z{F}Gs2dAoa-&3*Hz~ISuVT}HbeT=vvCrYpbDx`&*!&ya^k(%YjID-KCdX`YOVUfgprRrS&E8h+c6a5MHdGp2Dm2@ zt6E%Bhz%s<+vJY`QYytA^qbU+JUlrteC4??;(U@2$hnqWlU zIzV6-W0GJ*-O)0B01TGsbrys}Fd~Ie_6-0Cp(cy67zgosh*!Ciy)6V@2nb-P7MwFV zf>a_Tln`XF870eM%u|xkb0m4dS6L~T_V~+8J zIiY=afohR<7h`4)NH_pE<8bh9cF}7>m_egr=e3*P0vsB&VYe6AT-qV?Y0%CT8ROlX zD3}>6%+{Ekw+0KNVrs9qzixBaYf_1^MdT{TB>N2%gv97|n_FSM9AwOtTnsL+ekKun zzIt;T%!wRP3}~*-86OoT+%0>q*%&a6+C;a;@Y+X6#lyH{O{srFIcAtomnQi zq5tc)msA>t=_c=vTTV@;!XU`xir zR$ZlctBU)uoS2*(-pDQ%j@C%-Cjbr3))u`b>Gp{jN-8He(BNJ4W<#sh z0g+No)8aFQK|`a$b1i#UtVM{sO_)bT{pd%kPH$^kAjgzkDqvi#^uGE# z2eOxH6#7jiTZFRcd4T;}WzPy*BmYvxqz2}eNnxMJ9nLiKj`^;mXmd^%Bjz_Cr0-~~ zCrpIN@NGgQXBQI}C+IEFojG@Vfa4+<0l;m1rwd>qKyvsB_cDZ>!JZ3wr(Sx2@gsBu zAZ&v4APt8AN`wJ2s}+JJgs|kbJrdb1b3O@mdp0`05ql2hcK{WRhpO-$r(+MoN71md z8O)2e-4Le6K=LOb5Et9qixuDrSdpd60^7hXi-_2ry&Ei|DJyLdn%b=%76RJ4`3%(Z zN!rDG8|(7keVYQpFBJdfPXVn9iUQDY=&L=TAGpRi>x_+VFkpLurd3K<75;|Z5q8;2 z4ZJ%2LWxD_YZXPib}MI^*fBv96Jl7`Y<_EjQgZ-h;>4;QUF6_i&<~W^WR2{M{VXHo zSO(0BL%KrSshptW@VJ@sKQH^W5I>Z4} z<+hM3zY72OK;F%}@;Ys$BMkreObNvfZLf1Yy387i^-Hb>q#=&vmatpW2F?b|%ozDJ z)1dsJ?B2~~G?L324>r$KBt~C3Q`N?s8de|Yx^5S=4!zF+mzCmTq|L#*icb%;TDwxO zeFO{hV5V)g3xuN?-<3br+RHmy?q4V@bad{$&oaY6i#U36%Cqzg(*xik8U=4#CG=pG z_B7NNv_A*%E82K;3ww;!-(|fiZ`xzAeWERU+Uu+UP^K7@mB{lD5DWBgZetdG1WG44 z8$wvbu((e-BseT2vIP?9)be&$jHIeFe|eB$((SZit*E_sl2_5&=TZU zA@rd?dK7>wA;U)V5jza;crkOF?OFZ4%x6pKy$UF&Pm0SX(B)pxC4UQ`+ z{`eCX1PI*Uc}114U{D~nJDH*ob&3NWWrxoJ1P;OjiSGsCvpOXGSzOw+L_q$81e8h% z{dh>y|Eur#8%hA{3jmoK-!T~^WTowVT-R(F;*n2MvQMsM2RSk!3u9MjGCjLP{ zc=f2D=IQ}^p7QzfR!ldw8lUCip0R*xudb*u(XuheIAJ_Bz-H9cxN)KtiRJ&-(Y~sq zt{P9;nwGD?9h}36kYg8+D27`2SNh%CAJOuw?Kl4B=luI>`}48>P7Z3~A;OZbs(-Asg&ibSt;&7!nUtBf-ynZP(wMN$a-hj40MGFeIXZ-^tCf524j?j>`^!(2f;qamujJ9^FuakR8|!k46=hdMKZBTL`xHAw zFB?^b4|jw~V+U7S^`25(!f_AEfD!iA#wqY=~!vtWE!1BHm1A7*DYPwPqofHx zO~17&U^ISpiN+=L^sFbZ3*!oyafBh#U;cnX6wfXgh4BN(csk;EW0w3Qk`K(C=I~?! zm`$mW8i>y^MZ(psb-oMW%=CjSGIDCyZWIYfGQc9B%tJtsaM-Sa@>=wueP#~nY2P0m$d0RKMx=ro}f0j9iy8PA@!w=9R|9W2#QO zIEXFz6RMX}7!Uc=)5^z+&3TX`xo-2$=PETzj2|5Zw3^;GRG3v5D`DWguR>f_b+E5^ zv#6`e&(JGmgHG5yEKIb^VmMgwN1t#!=S-1d9eJB>UG=5UUMl_OJ=hhxIJlBMM#x=j zEB$mJJv-83bs+!g=SuoRoN<*L(NGIpw*obBRKlKHwW`AUTU(l!p0YlGV_~AWNm~aH zi33t8airA_`c)-dD?E^2Z?Pw#2wUucoO)M&4#!lH&wCyJlF zPz9h)$pPEz@aM@3l^&xuGs3$shU$H5q5$v_a`Z;5=g3plyQ5VRdChKXF@2_pVpNn+ z0sM2q_XiUZtjGt*$keDVs+P_ZLflaO_{VlBCCqZ7`uH714S*Z)j+*GWkCP`XObLr4 z=L8_+XWejUfO>ARkdqY3O`}xW{H+t&{ZYwz6UC($Gdx(2Gk(VJfLgr;E64y(5@|6% z0g*Ii62?T}zIlGfBS!C#Tz-0hm&RC|KEk7&)e4|0U^J=R)hUWWHL*o|8HyP7VOSaK z3z%?@J>x2Q`dIFITW)tv$wwbDJ1qMAKt!r|lc5|-_I~3HsOe1JeoNU-g9QQ%p5PT~ zEb0llwDXf!W9yyC*@D?H$Go2?A1>aJwivQQHPN0&m0aQxqd5N#cS*&OFsun()=2>N>$c7oLt-6PD80klWEe#> zV8>T)!FRu@QR8EB7ROo(>a9@NR4Kcghb=?*g)9@`Ra)fS$yEgdd9$j5#ipW4AESX;nJxfEC1(RyKuGt+ z=W_P8wEEBfugY(4K_Am!y|19XE9WmiV-3*hE`WG=qU7x+&Hz^Zr++TL4_UYxYWg}k zuETkrTT0%zrP0o(ieMv#4?ZHbyq{gpU~f*3^#Q_%9p#r3k^8LB#+bCuxue;Qx#IGS z?8gTRdsG!60`cga^<2EtXj>B0?+px!Q}lQV@J6b>a78LyrPZD;n?yzaK=z(VdpwOhXWtQpk(3a2RZ{ga%q|b{ zESbki`F(dFxkLWSSzhr4xdJ9=xhc(hEJT4YkJT-b_**q$C%9I^7<;yr-MRx&l52zR z@BxCI9heU2YS(e3DWS|Roe-|sEkB&dq7`tX2>X;+e1b8T0_7J|4kH{WfY7Jyr_WI| z5}=bSJkvP~&jQhA_LHB(cwQ>}?(1^jc!=_#j6>-8&Ze@3?a`*gHd4=pky7=cp3eoh$L6!nF6T zoBtU{+UH+xAMug?`001luO1S8QgK@D;H|rm<_UYA>#Md27080IR#F_LbPdmbrq~~H z-jc8n$3lOD(jh62qH2pfu(d>XSC^Ii?Ip9C9OMppMJ^~^qSG)e?+chh0O*|1)@vQY zCnAZMQ1hL)i30fU4}M7>R0Erl2EUT3aG!t@kX*bq)5?ssZx<&ov}|HO>j84>5QdR) zPA-7^f|3vbbS8vsQ!Q^3#*G<56;;LA+x1V=^5+;ox@yi9R%DTdbBx~p=&Ag*b!BgN zRSdT^a}G2MPH7uJC^)K&0IdrL=7n>7Z;$*L_ONIwx=9Dj&Gm{38Xehd&sKwx{IfGn z*Uq(q71~o?m)nWX{|-5@38C^!+Bq5uw!C0~FEaGbiP{W%b z4p`L?gGLB2A$!)ivoh}uE8%au4kHJG^pq1*WfcIRUW75xkewUQPtt=fv(gA5OKIHN zTaoA5G6O*{eSppsfZ)|zBWHDS3M*RiJI9k$Pp<$Q-zLwwGg#J=PZ+z)p0D200~91>&IQ_@A`=@9p6j|TyE^Be7&R!Ppi_n(N}F%9=P&tu#dg+X zRgV?5PGBEUcv1>e_XRt?dRsVWfDX(MAh+jY&9X!KU{Kd=X*MP$;cK>hqEfuh-y`auZkG!HQPLWNsP}PMP38swmey+k))*F;Y5Fcv&K0?`&11muM1`oXa^o#|&&L`sKc$Z<6Za93kc-nTkWT|JcO8Z8x+=>+@!(WT3I|oMtw}g% zoajx1YG0jkK>)m$1w`S2cPp4507vR0W}I#WC=ycItvBvug`M|QKiX#Q9mS;)glM7S z3+BYn(Op2hQ^6VD1~!Te5`bdL*cF3jk?aa;yF}iueh0|eSR9*-2TE(f{*Z~iT13a5 zCE){h9M7zg2vRX168rGHxCl@a*yro~2?NG)>C3`GM9H}zahpz>^gxX2)FKujM92;K zYxgm_r+^^dtQ|0ky3$R6B|&NDGziFMgjFhU@*T-eJh9{U;Q^8iw&gZJ403;`m4#&{MC%f1Bm0ZS&xPljruu}XqXfWPg2M+h;$z*>SL-(R!U zNSLMoF&){h6fS~))!0{W_P{)QNT5;o>$d!f3x5Tc$;%gnsen(i&Yq9?e0fVg{0n4+ z^4fol-D|>lEfIXpmOgtdkFZ6A8W{=Q)UL_0Ml&5r{p6UUWEZ8ml)X@X0u9s!I1cAFK=~PWz0AtcLZpZ5^M?m0yO*x zfUUb4eRrjBma4uYOq^m%$R!{jYM|vhpCvOW>4o9e$B%=fh|@|;sx>ILIQUXzL{{VLg{rQ&_Su@b@! z5;z5GI-cW-wi(wI<00?8j*XMITvdviEY4Vm-+ztS(gB`?){p~6k(OagC@NtQ7Q%E2g42H@N;EOMfdGVD?xfT_%W33X1Wclzv9|IK{!eB6TD6?Ie?Zl?koa>eHWAbK6 zP8%z-Yqab(lBE7FA>D1l!gD5m2spx~78jf!+QA&dNoK&MO*waelg{Yl^pxWX*;b#^ zIw52M+H2t-3TDag{HABdXx=yT8|>dgvtf94%;JQ3Ge%2F+xTrun7@w#vj7>OmA^0o z@Ubz2p84D?WJKNB2UY%GeZud5{Vn;Ae;e06W1gFkuRcRFVWM4?HGs5=_7Yb75C3z% z`|EGZfA<}7hOiI7G#%opEQva0tjxnMRCS_(g8%q^j{Ner_#eC`@AfvK_MXy9m@srd zd3>SEZ!Q%Mefj%)>ij$Zj3fX0+dnQ+uz=M$&p{) z{_yb)34ABL*`!d154R{yPuX8Q{* zwiz?y^k~Z-72}fs+xtLc?>T@^&IWd5;N>$fdo`H790I5% zRIRGsTPLU02cUdSn&g_IkWkge%Q%c^U}JXEwG#S-P$Xf*+6CM^WqV9az}&5^l_;_?<{+yxSHKdIU{|wSg5TJmCI9_pQEs~fYr6zd zunE|!fvrVr=B%-Ne!+_nZDOZO7Oq1_J_EJ96u+{^3_RZe8!VJ>5RCO;n}HRBA<004 zoM-M3CT34E$e&?VMo9B3_FGG=F3sipQ4Ib;&I`KZoE3x1hXW(SoCt^Gp zi?cjqfl<_$1!rDJj_(;0f;I!E5eCce%s;ljg{md0Cs5m$DaO*v;hW!87K-xUbpV+xIBt zz+xB3w@pHP$hxj~Re8~4swkF!%u!!&OKpvjk>BH!!bAucmJ#x1Y3!Yo=o-s zgymrDtc{1B=C`QyVNKu3=d1s#$|NX^ct`idSW1B z`90u}poVz>xb~ktVb@+W=Pv?PE<2j8U%@hIfa8n^nArtUQ3Y6=U4~Hh_cROp=n8-b zVA^$x!75}tEpia}8Ri1Vhe7?#;{;FJ_^0gmLEEV=J2T-s(VfV~xkoMoo+ zWl6L8h;ZD%5RtBsDa?u(0c=G_`B*p`LK}ksf-%0-qBNvm_7me44_s9qfeXxax<`&J z1$EJ5-RM^Y+NP>mU0gO{DbTTGmf=$yF zidKcrj_{5g3m9?&ZF0V$kZmFD0W4Wi;t$SU;#Dk}pKUPt7y`3UR%-zU0M6_bn%d$V z+62Ax@HAL5I@+9G0z`cu<*_d=25{o$sN{eu#1Tz zD4N|)vn-A@A3xP%XDEB2sd`gFAwax}Y;iQJWV>u-fV5JUn>qGjSD^SXpU?s_`#aJ zDk1q!Nx_IJ?Q8)1BPs3F?qV=6Xdj_*uz7xm6a3_#lz)oz{NN!q9XyYE3PIUXlra&o$xtm=B+pSQnGjs_XE@sM-m zL0`dZcTutzD3GtS|Km5H?kGERKAE&sp0qXk7TkFqc9I=3cLIw|^aHAIc@O)~QET%c5PhE(M~ zp*nYgu~OAuPERP!qbq>AJ;lKzlrEh!|EnV7Kwp@1yy464LAAVU>wH&nW2MVCPgQs^ zQR#{T!JVb1%zOR6Xv@E~t>`=JntP}65_BEL5iL&{6X2HJK_`kVBkN2t%98sjdKO;{ zR9kiw-fzREnBNRNf)pfF-@|dB@&|wsDl>W$`CQsO_^{vPoZO`iic1dmSU3P+J{ih? z0sx^Ovv+EWABO;qvvX|)WCmUbn3aF6d`zR3IyEm%<`3~~|_?S~RMt}o;KKm4fLmB>C{}yvWkx4pcOG?WC zo@y+bUBC*cBma9-XEa2C_vrJ&s8^&x{7og+$rOu~2wR#Cw#29l$lu5jrRn;c{9i$_qet0LLyz!Ht1u9E11G z<^XrtVQ$E5^h~bnfE>(O2Wb2+#)`h# zmG`rkl;b(&9m1N%4HS~V{ouJ4m5Ej;rQIW%0T8iWlZMjA#ZXJCMzx;;H0ON3<+FZ( zDN1W^YYq>AvU5{-6dPH(CcWeulrh#0k#Ec6adJsy03f&==WUBZ;-$_ zAyj&TozBe}pb=E#9h|txJKCe2gY%U{lp=t;xTxbSHaK=YXINfbq)rC=M$z4iDQoH} znuOR3^C|Vvvn*fVm^rUH%zXemEMWy5fGIlG5@%$2Jot;eQy3bo({wh#mi$^nQQAY@ z45*0KI@lDtYLBMz!H5X`b6|~G8GVG{W1!(guS!CX!8viGAz^7G<}{sCAEp!mA@p+%<~;`!IpQ5bV)2@hQl9HAWF>mmFI1 z=%tdABW2Hz@jBRNcLyuNIM-+kcH->ZVS(_>^p(CmV;p#^V=5j;02Ygu^%qJmXN;F~ z&AAe7Sf#SO&0RUo4JH7fB`l7R#gz7zgt)A& zyLl`31a?JzHlV!>!Ky}^9sY(5u22dVE3cLi;{7W?G9X^j2Oi5|?)G3o%P|@AWM!#f z0;Yr?#-@xh+I@!EjDD%!xF`+e9vN}IO$TMoW`NH9w*WTA%HrGe!kyNx)ZBu+p}eLb zG-Xe4wS;?C*}ypfqR}Nr4p5O_wAbf5HDp?4tygmyO}CeRsMM4uCwwj#KW&hl4pz)P zAQUT5g1`cxANO6zrZ;pgb!WH+~kY2L)dle*HrGlt-=v25Z}_g(O2zqU0JVBcoHb= z0SM0kzA5Z*NREgiLv^~Y!XFV3TDdEu<=s#7p zw8Y#f1hop^R4uzJ=M>hp%UIhnI)?*z^L2%h75kAEshP@0i=!U!>AIg1n26#$^3j!$Ek2{8mZ0)PCabKmhqvEi_IHn2?=jag3 z=bUrU#lY*R@Mw$-kS%HwV4psqW4GBj0FvdRitD#zH!%BGBOWVxxx<2(PcP#OW_U(q)DjLd=&5HNO-2RPBHF)lKm<{WDD4+dBcGMtx5sIy)p!t5TpyH#NaOz?4} z@EkMg0A5w}nfB5$Au{>C@XF8G*P=1jqR3jTvBv*kcmMlVQHp-_ln@1NWFA=rvYkW- zhu#|7e1U~7mly=5LOh!skmNjHa2z)3l;!TQxb=06cZNZil$cTSz5nnXc@G|N95E{t z(L#>=Ndsr+7z+wXLOdg6O3qN0C4$1kS{@6S)#}ri2$Y#&Yy!=b(=#QHPvmUhmiNY6 z2!Y96UA;Qz^op^=44=P1%5|x{t>o|m(4?t3=M#P!d&pn=&J=Cj?&coj-g|XEN}2=4 z5>TnJ=&#?GT}7W>TyZ>%hB0PC#&_Q5M9|MC93@HU?%hS90JFK1gPGG>lUu1V-l^R6 zj=b=keSi^RvxP;h4}Aj;Fj{+3gHvtu;rJDcMO+Vl%W{c!Z>KRUa{>lHn2aoJvnpje zXYknHtF};>F`>)1e}gu#1Y`n#X8y=v$;9V91i-pQpf;hg78uFy8|-f(+b6HSvyH}_ z;W2BAf!n_N8f~#Y_DL{`$r(Rs&-Nz~ju`M}EWP_(m49eGIVGURUjV z|4r$KpUL~<4@pDbV4Mq;|L{naUW4`9mMMSfV;FDJRN)d}JT(Ua;Nm!aWK+7pAYWqC zJ@P+;qDt)tDzt8^NKT~mC{p3)efb|>DJ0+Op$FBiZ>sU;-)3E_iuYhGEvk30^8yA} zeCO9>uYq6v(Vr+^m!Kf$XV2vRizh1n+HYWlH3d_2jT~!n0?@1o$uE&T4jv09jAgB` zrSKBb!qQ#FRI9$G((QK?PDnaGVtqb4lm8jf$1}#%+EVGg-;q5E+PRo0c>67dg*62W zpJ<}30wI|IQb4W0T-L5wQ26jY<_tTmll!Xd$$d#1y}1IIQ|Scf{NWLGv{RDl0PV?{ z+()M@JGvWSmqlN_cX41N#smPQ;cedumA;>4>$^SSlj@VO7<15 zV9IxGYzD&NqvLs%GNx_Ri$*y=P~jQQ<0UK#XXI>ez^rgESEL>IJAoxy_1G@$h+Bk~ zzPnW1!QN9=_TO)Y--p9tSW8+19q?N8s)QKRJh->9!QZf-3t+TQ{5>Kx zI>ieY%6MWH?8ZH4ZykVQ=i*c~1tH1bw&I?`rmt4{>#^vEPj7F!AKUQ||?A4gAU_M(+ z@ZE1fl9wme`K zuFD=1t#PxhU z#zKwr=F?r0U*Lu(qe->)*y$U<(HHxZ;&NR(b7#ip~~c3!vSo%CC2o{q#cscA)eo z#_Bd;HC^UG9{_+|?oeK?sq)sZ(-zK@usP4UeB-8E*1j}>0Tu02S0MusZ*){{--nej z_uf#JC{6)h_cyQbbiXfEODfdSAq*mEvUXIP!=qTM7msl`^xq(?s{_0{ zH&lH0R~4T<)2uxqk=;;b|9kRo-h`1%Sr^9j_Kvb$tg#I9F13_lGrpxkx*ICqc#9=i z$u7yU8-UGlz4dK{zxA8SU*&#zNwT>t_x>%V`;2W9V61jw%IM?%4SBo!3K|fGzx*X3 z-bC&h^Qts)z6I8LrEd&d$nAlPdWg{RG0vcF9!r{VusWKfKG}vYCSI zP{|bt8<;o1fM~>$ug?5qT-c7h+c%}lPf&hBndWWTeRtXADS|l>4Ji5K0HbHZEsnhj zm`nhL;RlQsT3j0dKGqhlrCdO02ni$4AKZsmP>2xM06*ICQ2uy;v8=Z-6pXuYA(wS_ z8!igMWONKWW3dn@QzxY2!xWqvM$H^NJq19>v$YfUonwHU$C02SO2!YUv@9nS!K?;f zuyA-|e?eh^_`SYPN8}M6J!c7WvnZh^Lq&+^v3)+AsRRNmCfIb{##+YPa;jwVcrv+p1zpdmYidh8Egdt({ z{K5jV7KaC%Uy*nBA#2b>QX>Elr?INgCv95A)upaA3$U?Y@KcT$e z#v7h#QD32quz-iYwg>Ma1NL{z%Jw=c)$Yi7(F5G>$^FI~3f;EseTAt<)#_7U>8H=M z2%czo2Ssn*)nxOCHYbeJ(`fil75{etp;H`T_CjHM2f!SV6ya}HUPu~JA^a@n|E;h znW9fWV2vGEG}_m!%HMxYtIt1C@vJXnq{%IeY}U}+>#+v(1q*YH*~I)@U=QfN3OI>B zpUcG=MO)~48;HQk#PlnOhJ|z@wPeo;t4_B7QHVyw+|lb*8>J~@OXoA3*A48JDNL@w z0Q%s3=Q3957$;CdZZ9rmPr_(Cqe8kFYI(nbito?~p3}55z@W@X(MTMwgZIJ^moTMD zk4d0dgbT5UmurP`2A^|GEZ6rzXyVPSK6Zg1+zAs(F%H@xKOz#|&h{EPDgXl`wA+B} zdZRSL2tHyTbMw~$moQR%!sG!;f8FE!o|aER=G~=X4Z`L7Hjw5F<&HkV&KpEOfF%HH zU}#So%`WjS&4LR1p#LMngf5ff|77T5?6esb02ct4K1sf?Z$*26G-a3kiryip4+YLH zhfw7v!iVx6W6UIs^G5|oBO)Tk4vVl?p*aQeX3%S=MH%|my0VuryYT|B0B}zaC7gi^ zkU8xN9-;*HFqe}T$cL^+7|s>)A%t@*Kgc+poqc2jsASCN@DT)P!MU)&DuzD+;5`zQ z8+!-?1zn736M()vATPDec{J(+P9@qRmyjWQtDYL`%{qH>)?Sm{&2OLl&Vc$F0&rL( zKsKndPB19Dp>)c(fSlbrLPr49wtB740Zn9Btg1*AwS0J<|7}mfJokPIrJv#nmjDXP^;!pyFo)&djM+Oz?Hnv(D?%Jt5$Y_hNE`ee&<^H z1KF)Vo%9_N*W~WVm4?MNoOw~jhwoCrhb^)0t3{8n??T}UheBGw{pPn7w71a9D^1s6 z={H&mZ=w_Tx8>gHpgSKceR74qw&gs(B7N#n%z-dabB88+oZEQ-&-h+v=sYgRm? zqIfdSD}&yRP!YhD;=r>dImnxYxO2k$om((!?4ccL<~~)Kka;zvZ9uFtAt#DGt=_n& zyt0b}4bB|Zz9^wnv;~1Ekf*b7K7aI)V2a=Wn>*jfVp%}A8^+5oihKO(y8uLnkt8TR zKSMs2JSIGF;}Z@e{|Q>v zh2htc)jDywPg^d1U(wd?9*T~)-M|2bd|jX^0LDTkr@$}uEsPjI0kt!fcXh@&D62gP z(BHuL;92Pi@B{6QeWipK@|kRa2QAP)p|6F9X^)0UO1n@|d$688S6(yNp-S?;@jZYG zFMZm}=VJH2Id~4cAkNz+KXs!+vL1O9$yGeq#A7_APXKAf9Fqk~wvzYWJItAJBNw;K zxG-?bVadi$m}oCHa4Ti0xhePVcbFT$UmhaE1#+fscSe7#P3t~DyiHq-6Gmmv3BxLx z1J*DD$T~aB8M&0VkpaxttpP%44`bEz^wr-EdAHt67}XJDu=7yb(Gg=}U*jg{G55g< z)>W3X_b&Yd+~*uSqq0@S8S!6KL#~#KA$0ZPOfMfqc;ZvV!Hjyrf-#^YgqU#)s^3|t zHr`Uj-zNvNrcwAr7tN0p;Llz(|B3vWH1Q4yMF6`9|`u03TlhydLbeMYa=&)?FlL@vo~(Ow^a9;&=z z{bBF+ig>$+u(0fEQa;o&>|uN8@RA7l{4O#9974c6A$0BIV8%0r6B7S%MLw~a<-P3Y z;dq~rc#CxeVC-oa%l)D}562k5M*kZR6usS0Ve5f(46vO&m0iE(?(D$8>V&Y^DvrtC zI$f;ZP(U@_3MndA?0dXqDX1fyfo(KCca8yHZAp`w4V9{Y|R^k?}pdm@5ItgG4%pcCNsU~Y4ik7T$# z1KnG10FV_73)%xN?1u>W9M3?gxhN`Gt|Qo@g4d2fe}IXEvE7oA1@tqo zF;1WxZx|mR0!UN(jq&QKyb66|vv$F0@Wumq-+UWmCA=foq)8v+8OXo2&iSwx;M75R zoNcCj?;Eg`p5kYH=E59kCkGN_VU;$^OUd4XO(Na^BoFBrd&a&z6f?%x+CU-dfW(-; zQ92l?+hCpxl#)tTI$P4mF~G@qR=1rhrj@Jm*1I}i9e%F2f6iGS3uA88OLhO zF^?px490-`aKs$=zRnsI+saN4V0(wmiZR;QP9M|Pk}+-a`=Qd5()WzUp(8U`$cmwt za2`nt1I87m00e#)HG-vZ%xUFcFg`+=_OGau?dUlEXM~l{P?tpYxT)%(D{rt;RJqb| z=L3ziFIW?wv0EP$AaI;!zzI5O*MVWm3P_6EBVFi03l}Cpcp5J8;-#9dg7=vhA|NT_ z;UF#ll>$;x0iaEhIh5M2T{BQxvW~`JSWu>eZUMHz0*_v_eaN1TChB$C zu{2s#Ir02sbF76wEes%%YT^%uuBKxql9swkbIZAfwrF92f%tt&o8L*l(p#6C*uOQ6cy(>sr)(4Xr`kZKVf`) zpLjal{1@7M|F*oVp~i2X5o$~|Xgx!0Qa1EFuru&JeGQ zjC~UD^Ylo?Sw*uD5Cib6D3e#;rhK=v%-K!qtw;z1BH>)~>;z3mF60FbV0}WA@Q`_T zV1`xtG2@8HA(4Z%OE2h=P=(4^g#MxfK0s*qzuBW$CdnfJ4?V@JCov`e@f9r(Nm8>u zIHI^-P@2r;oshr#X;syeM3bE{Ov{$yLhjk65@cBVh_!8*8+l)7U5_g;F>Y_QUzK&_`SSRuysdc?@S)dFfDFN z&sNm-uoVhEGwjF<_LwB&E)piL7$f$(=s#z5SP(3L4~rdQbk2z1`3|Aw8=lEt%4iS7 zU-jw=$}^;i*5Lgt$&T{^rvMo|mbH-uHIi>_jA;ZQc_1sDH#rUk$yOto2S>9oZj8Ug zhXj?&WHKr{27GST0}yBrFDp>r!@xwPBtua|($mRc4FyI$L&>y&oovaeb38dH$AvC8 z00wL0YLXkO)9w(eF)o`!0${v&B)1OOYyr{bJ(QdF%X9YO)f*cqAMEAg6O!D|u$whl z(i-DuU$qEJLZDOjlZ!CmK=T2m=bVF@Z~1_(DQFqShw-hD)9?_>1=UmJnPSWl-xV1z zIWM~?HouMyBXDCp{^FEScc1pokOK`9k{jF2OT#2h`3D)I3^8pOBWCsvvLlVd8k`~T z8S*90p98{IQ~G6n2w~A6WW`wV4fc;cox`q1hnr&s02e@Jmq&=P85_)20~$;eADjc= z=!Gz}5g|v60kiJSQ%|)NWegLI)?ho8fht2}iQL!TUzfcVB_U@~L=U3!3~7F##s?vW znJC)AP$}??vPXm(Wb_E@QXiJXd@8fH=CoB@R$-F{3WS{iWB_}#3R(&vtqL$<^u+GB z;}p&OQ|7|hO+Abk^I-bfqnrqo6Pqqm=K#iAx$S}RY`63JETgjT5wa6c3 zW1QO%^#Dv-RrF@1>SN~k0){@uDWb=gXI(TREpg8Fz(LSh9??YUv7_?mq*_wbFXTmD zXZCQS`AwXE z{>H!zpg7F{i7)vtz^G>^CX4|Mb8J81p#e{d!kW$*^RNpeEy-=yXjlU|fRc!3Md=bK zVKJRDV6p^^4g3HSH)6jBkXAra1?e9$J-jE z9LIVYOSac7nu$Szs1>!<8dLHQm1}yUt zK8(mEoSW|T(d7~RsjTp$3BYlz#hdie9V&SI3&Obt;Tyn$%uz0dkxx;E^{dAS5Pc+{ zI;#Nc;7R27DBAH8J%ak-NX9BXV{R9hTJ8s0-ohTpEhp%p@t+bZzM^oHqRRsC^7lPZ ziN=b}!ug;T=>)~Z_-&_E`7A+hmjT2>jD!ZItfcx6aAcyf$gd$i(r zlETg$MIer~n`!Myr=%Nbn{#o$`K>oBssW9?)FPqUX_rjoV8eK=4;OFY+I>#M?rDlQ zG?r${$bQEM&(uNv4zakJF+Z46{=h|!#o9T5 z|B*R^=LCKrcaxzV!^-jppuwu85I&{VDPy z-{XDzHpSQ<5hB5i+Q@3t*dw-vqhl2K9zc@`CRNO951l}c^SiXe_z;|_s-_Ph#BWQ% zC5illRP)y{ZkV9Gh{ImEYPp`I!N(lcWTnL>x=MQp9Q8yNFiM}W+POlnSs(AonUdrX z@Hr*4yOfWEa3(|^6+nkvuuCMA-P$5dq<6nVq_L;$a6~}?P)6UE9^lhPPtXbv8?Z;# zB(TyLR-aT^!ydw^6{&2VF-PQQsS6){Lsl;139k5wEvG0{l5j41vaIp(2iO#N@TgB_ zhyM1^ONWYQMvl5eF3+ClWcQ<`Sq*8hXciXWAuKmVQl1epVL-`m!AwXHCakbM^W4E> zWHSbppv){T*pUBjTkh3ad{Z>e<{y5^Hx5L|7DC#+M~s{P0D=PNbJ)LnxE}^+Mr_FE z&;`G-**SRr3MUN-ql&O9fQ$w)EEdQ5r#JJQ`S~1cdAM}Weiq&ZfUPBKkDbhc@mcN( z&_(3|1dORfe<<9)1mS!>0gJ`)Nd!|POyOkuq91l!5yIw@TG+?&29mBZLGoe_bIKpP z!<4fX`{>s|gD=4mn+L#d3Pl$#41!n!K%MdnF?FkJr{U(5=UA=8<$}Gt9(I-x!_!1+9VTObv!5LxE zE(UyyHII@1$xK)GJ|z4gNuAsV;Ks143yhTgeb%spuCspjzB|h^MSJK6On^m0O#w3g zv(3QH97ckX*~O?H0y4%K!>ACx@<+hTW~dtHk?)C}0doZuVK2rwQuJ*WU}#q!fZb8@ ztF(do%=ckmtb2%#rm!had z{5=OZaWE^=2VT1chQdNlmRhW%BQ{6=Gkwii-x!-VC!WF;9LT^b`WW@2q8X5wFXBwm zA!owx&M9YM@9S&wOKlBTk2nSg7s6-@gs+Tc@)~RAFg9{uMkW{_07Gxg+noUPwOz#< zq)43S^Z`&A@UdAgGc)o4?x=>`XwT+pc|rr#7@|PuMC_z>IM)71Gy1}ooUBYP^$G?8 zGTN)H?7{uOD<2k)xHl!2;7~>Jswi6C5Nw9fAt5(q3XF4*i_k2FwOoibZ<{5JZOi*% zQm@dAAN*~TGozv@kekWTC02k@(-y#D#+@5qgupR0Q)&aMym3Cc!ND$Gg*JR>J2QY_ zfgQXoE5c#4XMl&oSw+$MvSI-T*#Z2G5XOKreVXy-j4feapuC6h>^nO)2RXa;Y6g%3 zI70L`)>pstlff8U%tKt1&8@*f7@LJ|3RwikW9wpb<6ptD?FY=u#>4N-)2@cMpY{qc zo2wmbA(=S=B9>eR`6VChChv)@Fd3AXuK7V@d`~N!hg?xS7w>P!XU51(2KKv62j#VA zV&$@B%+}|trLp5Vj{iA`Hu!;Du|s-!b)3oBls=)qB>FtQ3eSugLW>YHp_09bl(ZyD zio=`+y_3> zP(weLmU{3AGt9$Vbikr|rb~?39=+`0Ei7-Epd@a}@2qE3K`1d*WW4=~FvlJmV5(yG z$SupD2B5&q7!Pw}{-~rZv7J!B@fcgoAwFv=`m^^T=1-VKHg-3M(_)U709Onn?V{g| zCB+$%vsQTEQn3UWuq%%^&uxdQ5Pr?dB>2fu85r1oc0M3&x8X$SoI}FeWJ}VA4v{N^ zvNu`hH-6(qR~-f}0Cm8EuUVh0H$W7?LhW9|7;j`zPXYZ{Q1!FHui9V%x@}jY+ZtQ4 zJqWs}$ebyWV+sm2S%dtU1F0adYQ+sKoe%Q?V0}Dw(j-TRtzzyfP$k3%a6C%E z7)*A{Eq_5tc|QD2NA_z9K+p*v{$}}7l-7*$)gzWsSPUyyURKx`4u1h& z9Et&$v7tTeVqA6}6SB)J4D_4;piCG$3&FbQeHpm1*6d?H;A+>CnSs6<3+v5`*>2*@WjhG}zSoca0CX?7q2+t2ql zCYu(XIUgIx+1L5JSpb_eYYlK>P$nKGks1@=n0$_~KU3ViEjGKZ)7}(qVCzxvusK+p zxOQa3*jO6_ecPBO?Q(#DDcxg_jDw#xAWq50#>NQfi=Q|hl2IJb-_{>;Oks7nP>h;& z;Xh+?^u+wwhpdL*LMDW?L|rN{c2b~(BpkqTv;a_W9^=SgR!b;m%9wW8!@TW@p`2o( zV;+pj1_*fj6F>w2wVPq_9_S#-%YirkWJkljGmTmpXd4-rzG8gEQ_i_!I<)B*s~BH} zyiuTexkoOH90-Z>#F-Hx05Z%YpiNVJyN=7&+nyxwYU3yK@>6nF09@u13NmIN83u6) z#x_BwRJQ_BBq(JHqcBEE{Y*=MBE=4T3KVwnEP^9+#+VnB^{Y+l9}_}dfQI>6bYN)h zkuJ!A5__?HmpzFyB?XZ)sSvwD9zJ?%_we~t(mk)LG7Q^px5;W4IvG3%W|)$rjgci{ zqLGLYj(MPOHL7vT8jJ|0ZB8`C7|;vGW=_d~*>?(UcJ%Va%SXy$ zrFjes`m-38thOAGOqeX9xs;rFu-8DqZX8a-Ee3Kd*X#{_9}a~ig(69ZS1T& z2k;Mv(?Q;@c}sHudGP>7VL)vu0b@8U0aYmiggUt+V}`VyBENBqWbZcZ*|{jva?QS{ zFT7*E(T4#X2e2meXX8U6c3&9N0tERJc_bWTIS|kQy`s7`p}Odg<-=@aavBz{SOv}Q zkqbK*Jw|0!IcwV+XXJA{s&N=LPByG>D5}94a8fo5dIC&fAt1Ir|2!m5*@*6H96rnE z%Z~h~?Kj8ZS=ghT-;c(TtsWt%zPMM7E1n4bUPBA<=^s0L5s?0VSw4AV;bAa@B^D|G5=9P^54sQUBS#ge=(kyODr-g7n{dsCvfEQVZK3U2v#5gXYz`)S z#$rHFT){$d-iy+hW#CxmZK0z9j1v>W6DHWjp2caMP@du(MYk9VZf_y-hmlHyw!F0l zg%LoI*(VSMyGE|KY$aeP$@Oxb#9(Ovr>V zsVXxU3mD{;JO%(d@IS(4kU2nbv?(>|TaJNQ;8}8jv^KD1`}yjjezZ;dX4FoR9WWcT zlL6!9@g_OKlxV|10L9Hg!ZpJ+Dex1;vSV#uJ`5I;PFWm)*K%|Kj4c$a&wNl;Jh^Lh zyvSIsEl#pmeWwxhc8ZZO1_M%iDyxf!^kA4a4r6)w9IV>{?2~l$bLfndL#I09cVDk!^-z zs?=Z~Ie;bSF?YIQe8|es!1_UUCR3+UX1|Srei&yiH{?Y_`TS^+q478Q7YjM<82;gZ zK8&f4hrHb7SjJ#-;%q`7M@J8BuE>yeGPYrrV+;8?*&4KeX@h?GF2mSy-dTza91Dx-yS7P=UFun@y0#E@tB5Uf9VK`cYYSsRN_32{0D^R0|^){mjLebR)gN4d`AX%nE#!WP{yHros(F$nx1&zS3Fg6D-XIH)(6*uO`0BD*%kYRpBJtc8WlJ7W%Iid|< zCWa8eNbyv8aiU0ma5-W(jMijPq<@Usvs^%_iX3SRg|~aD&<@6fQuvIsvd6K=Wd&dn z8nGz!!I%P{wwP~%As~Z{Iq@wr;%9*|ky8;$WOK0)lo4?p|H24uJsd#I=3yJDbN(sf zc~KyktPk6sH$6@8_-LgDnzJ&^6XNe)9w^iB& zFx#Ir6;w7!3SSYv4e}`zCm6#5xwBTa#h$hoe?wuPFz%4jJ$V$bP-EFfs-(Lr6GCMx z^xuV104|j=MuvP7a#cVEb6^$=)@6YTU%9GI*5nhNM3x*zWM*^*NVW5pLMnhMRM-qN z<^$&Dtja@v;e?_UL$V}x!uqdhurwhIT@+MEJF*Kf%Tb5(>67xmRlyOQ2^V>wYUqL` zs=XCJgHto0O=d&DUBF4RVHoC=N}xUdxO_sm z7?RBQXN=c$AZ2Zfs`a;IkGqD$5njLQ#|jl3fXZQD=wHb|ZGfI*{~Z&%nG3xWNpwYLEFh@5{aqN)G2gLTt=q($3)#c*lwHc+ zrDuppEgG+Z*C(FWB`Z>1mtB$WQaMon8O#mEg>l)1r5Q%xrL+eFvfPQ?vXe8N8s{lt zA`vVnsC{~r7C^~2gc<{Z&r?4Q)v1Q~uROuq~_n6~^zF;|h62b8~hR2*);QZoTA9h79 zEF;g5qA-q)3BzX)G)J2Tq~;j`bX!Bq)7VYd`~w?g%rM%hcC1CYkEbU&OMbyZmJ9{& zUfk1g`%E+MoB^XuB!(?VK~@U`hABkdTw&AY6i?ceT`x3f9;uPuReDxs{1`%MPRLhB z4zQPGBzxh58I^_O_KYQao>TrhsX2KgyLHKFsQ4_V?~3Bh39>7pmOV|}fl7}&bxzn{ z1q^V$m1jjw_a+J#geI@EmSfn?<$(1YseVZNo6NsiXPn4%0DIYQ62cH}k*~EPMX6U+ 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 diff --git a/tests/reference/webp/lossless_images/simple.webp.18d31ac3.png b/tests/reference/webp/lossless_images/simple.webp.18d31ac3.png deleted file mode 100644 index a1458a1b8f0822464de5ee1a15f023f3d3066c8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111428 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 literal 0 HcmV?d00001 diff --git a/tests/reference/webp/lossy_images/simple-gray.webp.6b294f50.png b/tests/reference/webp/lossy_images/simple-gray.webp.6b294f50.png deleted file mode 100644 index d87582eed04b0c48cdd80d67f01def34a08c1fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7471 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 SLRo)=9z$Qdp;v@-2>(B=He{** diff --git a/tests/reference/webp/lossy_images/simple-gray.webp.f7c5ebfe.png b/tests/reference/webp/lossy_images/simple-gray.webp.f7c5ebfe.png new file mode 100644 index 0000000000000000000000000000000000000000..9eec1acbb8912f896360d1f88777d8fc8c88f8f4 GIT binary patch literal 13548 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 literal 0 HcmV?d00001 diff --git a/tests/reference/webp/lossy_images/simple-rgb.webp.4bb22be5.png b/tests/reference/webp/lossy_images/simple-rgb.webp.4bb22be5.png deleted file mode 100644 index 894383144aa0333c1f96383751032a3494767fb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9879 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 JPDHLkV1jkf$(;ZI diff --git a/tests/reference/webp/lossy_images/simple-rgb.webp.86dd9540.png b/tests/reference/webp/lossy_images/simple-rgb.webp.86dd9540.png new file mode 100644 index 0000000000000000000000000000000000000000..83c61abc466f3fd2ae82507cbd360d27265efdf6 GIT binary patch literal 9742 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 literal 0 HcmV?d00001