Commit Graph

28 Commits

Author SHA1 Message Date
Simon Kammermeier c858454c5a Support ImageReadParam Settings limiting Raster size
On animation frames dimension has to be passed as it is not guaranteed
the same as in the file header.
2022-09-09 01:18:53 +02:00
Simon Kammermeier 67b48ce1e3 Implement decoding of compressed alpha chunks, alpha filtering 2022-09-09 01:18:53 +02:00
Simon Kammermeier 6608f61353 Fix starting to read at wrong offset, now skips header 2022-09-09 01:18:53 +02:00
Simon Kammermeier 326b98d5e5 Implement applying of the inverse transforms 2022-09-09 01:18:53 +02:00
Simon Kammermeier fafa58b718 Implement actual decoding including resolving backward refs and cache 2022-09-09 01:18:45 +02:00
Simon Kammermeier 0ed0246762 Implement Huffman Table parsing and decoding
Uses a 2 level table approach inspired by libwebp
2022-09-09 01:15:04 +02:00
Simon Kammermeier b3004a1227 Implement buffering in LSBBitReader
This optimizes away the constant re-reading of bytes.
Also allows peeking at coming bits without consuming them.
2022-09-09 01:15:04 +02:00
Simon Kammermeier 7ab627a754 Setup Huffman Table framework, decode meta groups 2022-09-09 01:14:36 +02:00
Simon Kammermeier 008e57a7ce Move helper methods to transforms needing them 2022-09-09 01:09:28 +02:00
Simon Kammermeier 28270b4d5b Objectify Transforms
Deduplicate code for parsing predictor and color transforms.
Add missing subtraction code removal on indexing transform.
2022-09-09 00:46:48 +02:00
Simon Kammermeier 7382151db8 Convert transforms list and colorCache to local variables
This is needed because on recursion new (empty) ones are necessary.
2022-09-09 00:10:33 +02:00
Simon Kammermeier b856ce07af Fix not using LSBBitReader 2022-09-09 00:04:41 +02:00
Harald Kuhr 9fe87fe10d #672: WebPImageReader now supports unknown stream lengths 2022-04-22 14:41:57 +02:00
Harald Kuhr 25c703f4b2 #646: Spi now recognizes VP8 encoded images in VP8X ("extended format"). 2021-12-14 19:30:08 +01:00
Harald Kuhr 38caeb22e0 #631 Introduced ColorProfiles. Profile activation through SPI to force early activation. 2021-12-11 18:58:25 +01:00
Harald Kuhr b2c5915db8 #631 New way of forcing profile activation + guarding all invocations of ICC_Profile.getInstance() 2021-12-11 18:13:07 +01:00
Harald Kuhr 16d0af357d #629: Fixed build 2021-10-15 16:04:53 +02:00
Harald Kuhr 74927d5396 #629: Preliminary WebP animation (ANIM/ANMF) support 2021-10-15 15:08:39 +02:00
Harald Kuhr 976e5d6210 #619: Fix WebP Y'CbCr->RGB conversion (now uses rec 601) 2021-08-26 16:47:51 +02:00
Harald Kuhr e28bf8fb44 Fix WebP ICC handling for images with alpha. 2021-07-12 10:01:16 +02:00
Harald Kuhr ff50180d86 #609 Fixed ICC Profile handling in WebP. 2021-06-03 21:31:54 +02:00
Harald Kuhr 15a9ad0a9b #483 Initial PSD Write support 2021-05-06 00:01:54 +02:00
Harald Kuhr 3f7cb24407 #395 Removed WebP lossless and extended format (until it's implemented). 2021-04-15 19:24:52 +02:00
Harald Kuhr 9053fb3816 Minor clean-up. 2020-12-11 18:28:48 +01:00
Harald Kuhr c1d4e474f0 Fix source region reading in VP8Frame. 2020-12-09 09:24:19 +01:00
Harald Kuhr 3bb312e9e1 WebP source subsampling. 2020-11-30 22:10:54 +01:00
Harald Kuhr 4dedf76ebc WebP performance optimizations & clean up. 2020-11-30 17:10:35 +01:00
Harald Kuhr 2376d16ffd WebP initial commit 2020-11-23 09:34:34 +01:00