A. Molzer
23672b2490
Switch to div_ceil for rounding implementation
2025-07-14 19:25:12 +02:00
A. Molzer
ca74c03520
Fix straightforward cast/borrow lints
2025-07-14 19:25:12 +02:00
A. Molzer
29add10ca7
Fix manual non_exhaustive pattern
2025-07-14 18:24:01 +02:00
A. Molzer
525bb2b9b1
Simplify encoder writing of dictionary
2025-07-13 02:22:17 +02:00
A. Molzer
890488b16e
Add Entry::field_type
...
The directory API offers a direct access to entries. It is useful for
downstream to have the ability of inspecting fields before consuming
them.
2025-07-13 01:11:59 +02:00
A. Molzer
26b6afc787
Document Directory related symbols
2025-07-12 15:34:46 +02:00
A. Molzer
e62cdfbf42
Merge TagReader and exposed IfdReader internals
...
Having the value reader itself take care of the bigtiff and limit
semantics is a little cleaner, with the TagReader being responsible
for the interface of grabbing specific types of IFD values.
2025-07-11 15:09:31 +02:00
A. Molzer
f021e3e599
Rename ifd value adapter to read_directory_tags
2025-07-11 14:12:36 +02:00
A. Molzer
f5ab3b363b
Expose interacting with secondary IFDs
2025-07-11 14:12:36 +02:00
A. Molzer
98cd3dc2d2
Refactor directory reading
...
This allows us to recombine the reader and other file data in a Decoder
with any IFD, whether that of an image or an extension IFD as indicated
by an IFD pointer such as Exif and GPS.
2025-07-11 14:12:34 +02:00
A. Molzer
43d7f66c9e
Refactor cycle and IFD tracking
...
The previous strategy could not keep track of all cycles such as
reflexive ones at the very start. Additionally, it would fail to be able
to iterate after seeking since it was overly cautious and verified the
next IFD position before allowing the read of a current IFD.
The new implementation is furthermore proof against having multiple
independent chains of IFD which may occur when iterating SubIFDs for
thumbnails. (Note that we do not verify the tree-structure, only a
freedom from cycles).
2025-07-10 23:52:07 +02:00
Aurelia Molzer
df4e42eecc
Add a dedicated Directory type ( #277 )
2025-07-07 19:59:37 -07:00
Vladimir Kuznetsov
816fb85304
Use libtiff compatible weezl configuration ( #276 )
2025-06-29 10:24:28 -07:00
Jonathan Behrens
7648317643
Stop doing color conversion when decoding JPEG compressed images ( #274 )
2025-06-22 16:19:36 -07:00
Emma
29b71ff597
add CMYKA ( #208 )
2025-06-15 16:38:22 -07:00
Jonathan Behrens
83e6d64751
Create feature flags for more compression algorithms ( #270 )
2025-06-15 15:50:14 -07:00
Jonathan Behrens
dc2c67469b
Switch to zune-jpeg ( #268 )
...
]
2025-06-14 21:13:16 -07:00
Jonathan Behrens
b5d8ee5f86
Switch to quick_error and cleaner error messages ( #269 )
2025-06-09 19:10:12 -07:00
Jonathan Behrens
f44da4a00d
Switch from SmartReader to EndianReader ( #233 )
2025-06-08 18:45:10 -07:00
Wei Ji
ee0dbf373b
Read Byte as u8, SignedByte as i8 ( #236 )
2025-06-08 18:31:51 -07:00
Wei Ji
aeab243a96
Read Short as u16, SignedShort as i16 ( #235 )
2025-06-08 18:03:08 -07:00
Micah Chambers
3bfb43e83e
Add FP16 support ( #257 )
2025-02-04 19:12:01 -08:00
Jonathan Behrens
d42e6be507
Fix formatting ( #263 )
2025-01-30 23:29:29 -08:00
Stefan Schake
a19cf37587
Support ZSTD compression method for reading ( #256 )
2024-12-20 12:50:34 -08:00
Gunnar Schulze
ff52aea06e
Add support for iterating over all tags ( #255 )
2024-11-25 19:34:11 -08:00
Jonathan Behrens
96d3a02efe
Fix 1bpp image decoding and add a test image ( #252 )
2024-10-31 20:21:02 -07:00
Jean-Baptiste Skutnik
e28ad564d9
Add horizontal predictor support ( #240 )
2024-09-23 19:45:45 +01:00
Jonathan Behrens
6dc7a266d3
Make decoding internally operate on byte buffers ( #230 )
2024-07-22 20:13:39 -07:00
Wei Ji
307cd8be97
Add SignedByte and SignedShort enum variants ( #234 )
2024-07-21 20:37:25 -07:00
Wei Ji and tromper
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
Jonathan Behrens
90ae5b8e54
Fix warnings ( #225 )
2024-03-23 13:51:28 -07:00
Jonathan Behrens
9b06e3726d
Sample format should not be a Vec ( #226 )
2024-03-23 13:51:19 -07:00
Jonathan Behrens
4a2e76858b
Allow arbitrary number of samples as long as all have the same bit depth ( #215 )
2023-10-04 09:45:03 -07:00
Jonathan Behrens
8ec91b64f6
Cargo fmt
2023-08-20 13:33:35 -07:00
Jonathan Behrens
60f866c119
A bunch of clippy fixes
2023-08-20 13:32:08 -07:00
Jonathan Behrens
daa0e3eabf
Merge pull request #206 from fintelia/simplify-jpeg
...
Simplify and avoid allocation in jpeg decompression
2023-06-14 14:04:01 -07:00
Jonathan Behrens
24d203c7c3
Simplify and avoid allocation in jpeg decompression
2023-06-11 12:54:30 -07:00
Jonathan Behrens
473868a7bb
Merge pull request #199 from pka/planar-config
...
Basic support for planar configuration
2023-06-10 12:46:20 -07:00
Alan Race
d1ad9b2664
Don't panic when parsing metadata when custom compression is used
2023-03-07 09:15:24 +01:00
Andreas Molzer
aa10d27a28
Merge pull request #200 from anfedotoff/master
...
Fix capacity overflow in JpegReader
2023-02-06 21:22:13 +01:00
fedotoff
8fa175c371
Fix capacity overflow in JpegReader
2023-02-05 17:53:37 +03:00
Pirmin Kalberer
2a15aa6b7e
Support also tiled planar images
2023-01-17 11:57:54 +01:00
Pirmin Kalberer
42feeba8da
Add basic support for planar configuration
2023-01-12 23:34:31 +01:00
Jonathan Behrens
0da9770916
Merge pull request #190 from kurtkuehnert/YCbCr_support
...
Added support for the YCbCr PhotometricInterpretation
2023-01-06 23:54:16 -08:00
Kurt Kühnert
da07c0f4f5
added round trip test
...
fixed ci
added colortype
2023-01-05 09:34:54 +01:00
Pirmin Kalberer
21252d9d89
Fix padding when image size is multiple of chunk size
2022-12-16 23:37:38 +01:00
Andreas Molzer
aa42fcb1bb
Merge pull request #193 from image-rs/issue-192-desync-packbits
...
Fix read in packbits decoder
2022-12-03 18:49:51 +01:00
Andreas Molzer
1f7b25ef55
Fix read in packbits decoder
...
This assumed that a `read` would succeed for the full length, thus
interpreting in a subsequent call some data bits as a header.
For instance, consider 77 bytes of literal were left and a buffer of
1024 bytes was provided. Then the `read` call might return 60 which was
ignored and assumed to be 77. Thus the next 17 bytes of literal data
were instead interpreted as a header due to setting `self.count` to 0.
2022-12-03 18:42:08 +01:00
Alan Race
4f1c88e35f
Added unsupported error for interpretations not supported by JPEG
2022-11-22 14:38:27 +01:00
Alan Race
7307e96782
Removed unwrap and set colour transform with Jpeg compressed tiffs
2022-11-22 14:31:33 +01:00