Commit Graph
32 Commits
Author SHA1 Message Date
Jonathan Behrens dc2c67469b Switch to zune-jpeg (#268)
]
2025-06-14 21:13:16 -07:00
Jonathan Behrens 6dc7a266d3 Make decoding internally operate on byte buffers (#230) 2024-07-22 20:13:39 -07:00
Wei Jiandtromper 0c54a18e21 Add ColorType::Multiband enum variant to support samples>1 per pixel (#224)
Co-authored-by: tromper <scott@hopkinsunderground.com>
2024-03-24 15:04:52 -07:00
Kurt Kühnert c30ea911a2 fixed ci 2023-01-05 10:00:10 +01:00
Kurt Kühnert a08604b015 added support for the YCbCr PhotometricInterpretation 2022-11-16 17:33:39 +01:00
Lukas Sabatschus 5a809a728e Update link to the TIFF specification
The old link is unavailable since mid-2017, so we link to archive.org
2022-10-14 13:53:29 +02:00
Ingvar Stepanyan b7e8f210d1 Remove InflateError
It was left in but marked as deprecated as part of #132 to avoid breaking API changes.

However, #130 is going to mark a 0.7.0 release, so we can remove it altogether for simplicity.
2021-05-15 21:43:42 +01:00
Ingvar Stepanyan a6fb855121 Improve deflate support
- Switch to streaming decompression via `flate2`. Aside from performance improvements and lower RAM consumption, this fixes a bug where `max_uncompressed_length` was precalculated for a single tile but then used as a hard limit on the whole data, failing to decompress any tiled images.
 - Deprecate `InflateError` - this was used for wrapping `miniz_oxide` raw status, but `flate2` already reports them as `io::Error` instead. This makes errors from both Lzw and Deflate modes more consistent - they're all now just `io::Error`.
 - Add support for new `Deflate` tag in addition to `OldDeflate` - format-wise it's same Zlib, and on practice decodes successfully with the same underlying code.
 - Slightly simplify partial reads from the `Reader` by using the `std::io::copy` helper instead of doing it manually.

Fixes #131.
2021-05-08 15:34:14 +01:00
Tomáš Král 00e0eb9006 incremental tile decoding, refactoring 2021-04-12 15:09:39 +02:00
ruffson d00ab0cc61 Fix formatting 2020-09-26 17:22:59 +02:00
ruffson 2cb57a4d04 Add initial support for modern JPEG compression
Some things still need to be done:
- Check RGB images
- Check small images
- Check huffman-only jpeg tables
- Check empty jpeg tables
- Add tests
2020-09-25 19:42:29 +02:00
Andreas Molzer bf24b3f935 Do a clippy pass 2020-09-12 01:15:08 +02:00
Andreas Molzer 49b1f78ce5 Replace lzw decoder with weezl 2020-09-05 21:57:51 +02:00
Andreas Molzer 99c038c929 Move all bytecast unsafety to one module 2020-08-16 16:24:47 +02:00
наб b853d841f3 Drop byteorder dependency
Ref: https://github.com/image-rs/image/issues/1000
2020-08-14 16:52:51 +02:00
Spencer Nelson aa49e7d6f0 Update link to TIFF specification in docs
Adobe refactored their site and the specification has moved.
2020-07-21 09:23:12 -07:00
Andrew Champion f92be13f6c Factor tags into own module
Tag representations are not decoder- or encoder-specific, so should live
in their own module accessible to both for reuse. The decoder::ifd
module remains since this module is mainly dedicated to decoding the
IFD.
2019-12-21 15:57:24 +00:00
Andreas Molzer a14b23473b Export the inflate error publicly
It encapsulates the implementation detail of holding a miniz_oxide
status within. The derived traits are not too extensive for other
possible representations as well.
2019-11-20 20:02:55 +01:00
Andreas Molzer 7b672998db Get rid of num-traits crate
Turns out the only use was as a private bound which was unused within
that method.
2019-11-12 20:06:02 +01:00
Andreas Molzer 258edf4a46 Remove the num-derive dependency 2019-11-10 18:02:43 +01:00
Masterchef365 205626bd62 Switch to miniz_oxide crate for DEFLATE decompression 2019-10-02 18:51:47 -07:00
Masterchef365 ce73d39d57 Add old-style DEFLATE support 2019-10-02 18:51:07 -07:00
Atul Bhosale 522fbd1a69 Format code using 'cargo fmt' 2019-04-18 00:04:43 +05:30
Birk Tjelmeland fb30648c12 Implemented basic tiff encoding 2019-01-31 21:20:49 +01:00
Felix Schütt 0089e93b49 Migrate from String to properly typed TiffUnsupportedError 2018-09-13 13:44:16 +02:00
Felix Schütt 2c6ca5459a Migrate from String to properly typed TiffFormatError 2018-09-13 13:20:50 +02:00
335g 6f0496b10a Support CMYK 2018-07-01 19:49:41 +09:00
R.Chavignat 9c098c4bee Integrate upstream changes 2018-06-17 16:44:51 +02:00
R.Chavignat 112492261f Cleanups, visibility fixes, add authors 2018-06-17 15:45:00 +02:00
R.Chavignat 0c623bc3a3 Refactor a bit
Rename the Image* types to Tiff*
Extract the "common" types to the top level.
2018-03-13 00:07:06 +01:00
R.Chavignat 8210a81672 Paste code from image until it builds 2018-03-13 00:06:56 +01:00
R.Chavignat a92205909a Import tiff module from image repo 2018-03-12 18:26:44 +01:00