Commit Graph
199 Commits
Author SHA1 Message Date
Andreas Molzer 7cc5b98d9c Switch to Github Actions for CI checks
More customizable, faster, more integration. We already did that for a
number of other crates with good outcome.
2020-09-05 21:54:15 +02:00
HeroicKatora 1492087426 Merge pull request #76 from sdroege/miniz_oxide-0.4
Update to miniz_oxide 0.4
2020-08-22 18:13:36 +02:00
Sebastian Dröge 23090a3513 Update to miniz_oxide 0.4.1 2020-08-22 18:03:46 +02:00
HeroicKatora 469883aa79 Merge pull request #88 from image-rs/group-unsafety
Move all bytecast unsafety to one module
2020-08-16 18:13:28 +02:00
Andreas Molzer 99c038c929 Move all bytecast unsafety to one module 2020-08-16 16:24:47 +02:00
HeroicKatora f3eebee1e9 Merge pull request #87 from nabijaczleweli/byteorder
Drop byteorder dependency
2020-08-16 16:20:40 +02:00
наб b853d841f3 Drop byteorder dependency
Ref: https://github.com/image-rs/image/issues/1000
2020-08-14 16:52:51 +02:00
HeroicKatora 418979f14b Merge pull request #86 from image-rs/release-0.6.0-alpha
Update release notes for alpha release for BigTIFF
2020-08-13 20:37:22 +02:00
Andreas Molzer 2635bdd7d5 Update release notes for alpha release for BigTIFF v0.6.0-alpha 2020-08-13 18:02:26 +02:00
Farkal ff874612ba Allow to decode LONG8 (u64)
TileOffsets and TileByteCounts have the LONG8 type on bigtiff.
2020-08-10 15:32:47 +02:00
HeroicKatora ea217dc238 Merge pull request #83 from Farkal/big-tiff
Big tiff decoding support
2020-08-08 12:33:54 +02:00
Etienne Prothon b2da2f2333 Merge branch 'master' of github.com:Farkal/image-tiff into big-tiff 2020-07-27 12:01:55 +02:00
Farkal ba1daa18b2 Allow custom encoding process (#84)
Simplify encoding of tags
2020-07-27 11:29:09 +02:00
Etienne Prothon ba3f6e604a feat: Add BigTiff enum values 2020-07-27 10:52:43 +02:00
HeroicKatora a471591f06 Merge pull request #77 from Farkal/read_ascii_in_offset
Read ascii encoded in offset
2020-07-24 02:25:17 +02:00
Etienne Prothon dacc2864e8 feat: better compatibility with old api 2020-07-24 01:22:33 +02:00
Etienne Prothon 797e3dca07 fix: Big tiff decoding and add tests 2020-07-24 00:47:14 +02:00
Etienne Prothon 23751bd8c5 feat: Support decoding big tiff 2020-07-23 01:33:41 +02:00
HeroicKatora 7fb68dbbe7 Merge pull request #78 from Farkal/support_tiled_data_tags
Support tile and sample format tags
2020-07-22 18:52:57 +02:00
HeroicKatora 4afd7ed462 Merge pull request #81 from spenczar/patch-1
Update link to TIFF specification in docs
2020-07-21 18:30:27 +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
Etienne Prothon cbb41fd479 feat: Support tile and sample format tags 2020-07-15 16:55:34 +02:00
Etienne Prothon 9edc0e656e fix: remove unwrap 2020-07-15 16:39:00 +02:00
Etienne Prothon 9f4873bae8 fix: Read ascii encoded in offset 2020-07-15 16:21:09 +02:00
HeroicKatora 472cf6d07d Merge pull request #75 from image-rs/release-0.5
Update notes and metadata for 0.5.0
2020-06-01 20:13:42 +02:00
Andreas Molzer ee73341bbf Update notes and metadata for 0.5.0 v0.5.0 2020-06-01 20:05:59 +02:00
HeroicKatora 6c7cc7ec30 Merge pull request #71 from aschampion/issues/69-u16-lzw-error
Fix #69
2020-03-31 16:55:39 +02:00
Andrew Champion 24d347ecf5 Tests: add regression test for issue 69 2020-02-09 18:37:16 +00:00
Andrew Champion a439baa948 Decoder: remove test make wrong assumption
The byte count for strips is the compressed length. The compressed
length may be larger than the uncompressed length, especially with poor
compression choices (multi-byte samples with packbits) or small images.
2020-02-09 18:37:16 +00:00
Andrew Champion 6e23274bea Decoder: max uncompressed length for LZW must respect buffer byte length
Fixes #69.
2020-02-09 18:24:22 +00:00
HeroicKatora 119dec5068 Merge pull request #67 from aschampion/issues/misc-cleanup
Refactoring, cleanup, safety, docs & CMYK(16|32|64) support
2020-02-06 17:55:26 +01:00
Andrew Champion ec0477125f Tags: restore primitive conversions as inherent methods 2020-02-01 18:25:05 +00:00
Andrew Champion 1c8e98bca5 Squash to cast checking 2020-01-02 12:47:39 +00:00
Andrew Champion e6985063ac Fix formatting in README table 2019-12-21 15:57:24 +00:00
Andrew Champion 42c94ac3d9 Add support for CMYK(16|32|64) encoding 2019-12-21 15:57:24 +00:00
Andrew Champion eadec8f0b9 Remove most unchecked size/index casts
Convert most unchecked size/index `as` casts to checked casts with
`TryFrom`, included another top-level error variant.

This has several motivations:
- Making the library as robust as possible, including to platform
differences.
- Unchecked casts are susceptible to breakage during refactorings.
- Preparing for BigTIFF support, which will require the introduction of
generics and associated types for some parts of the de/encoders.
Unchecked primitive casts cannot be bound, while TryFrom can, and
overflowing conversions become more likely.
- Remaining u16 casts may be prone in failure in existing practice and
not just in theory during future changes.
2019-12-21 15:57:24 +00:00
Andrew Champion 462697e373 Add support for CMYK(16|32|64) decoding 2019-12-21 15:57:24 +00:00
Andrew Champion c537f5cc64 Add decode test for CMYK(8) 2019-12-21 15:57:24 +00:00
Andrew Champion 8f61196d70 Note 32 and 64 bit support in README 2019-12-21 15:57:24 +00:00
Andrew Champion 298dc8841d Remove unchecked casts and magic values for some tags 2019-12-21 15:57:24 +00: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
Andrew Champion f9cace84da Deduplicate primitive conversions for tag enum 2019-12-21 15:57:24 +00:00
Andrew Champion d510a9f4ab Strictly handle expected tag value types
Resolve several TODOs where tag values were cast from u32 without checks
by providing generic methods that error when the value fails casting to
the desired type. In addition to being more correct, this simplifies and
shortens decoding logic.

Remove `find_tag_u32` and `find_tag_u32_vec` as they are now redundant
and a GitHub code search found no usages outside copies of
`image-tiff`.
2019-12-21 15:57:24 +00:00
Andrew Champion 1fafcccb36 Remove needless cast (minor) 2019-12-21 15:57:24 +00:00
Andrew Champion 8b96793671 Simplify expression (minor) 2019-12-21 15:57:24 +00:00
Andrew Champion 27ae65160d Deduplicate decoding buffer construction 2019-12-21 15:57:24 +00:00
Andrew Champion 29bb8c2dfe Summarize supported features in README 2019-12-21 15:57:24 +00:00
Andrew Champion c5fcba45a0 Fix typo in error display message 2019-12-21 15:57:24 +00:00
HeroicKatora cbaa9dbc5b Merge pull request #68 from aschampion/refactors/test-dedup
Deduplicate tests and remove tempfile dev-dependency
2019-12-21 16:47:42 +01:00
Andrew Champion 959254aee9 Deduplicate encoding tests
Also removes dev dependency on tempfile.
2019-12-21 15:12:25 +00:00