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
Jonathan Behrens
f44da4a00d
Switch from SmartReader to EndianReader ( #233 )
2025-06-08 18:45:10 -07:00
Micah Chambers
3bfb43e83e
Add FP16 support ( #257 )
2025-02-04 19:12:01 -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
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
473868a7bb
Merge pull request #199 from pka/planar-config
...
Basic support for planar configuration
2023-06-10 12:46:20 -07:00
fedotoff
8fa175c371
Fix capacity overflow in JpegReader
2023-02-05 17:53:37 +03:00
Pirmin Kalberer
42feeba8da
Add basic support for planar configuration
2023-01-12 23:34:31 +01:00
Andreas Molzer
0e9f8e3b5b
Mark more tag enums as non_exhaustive
2022-11-10 12:45:04 +01:00
Jonathan Behrens
1416af1018
Remove deprecated methods on Decoder
2022-11-05 10:15:31 -07:00
Jonathan Behrens
5003803c97
cargo fmt
2022-07-23 15:27:02 -07:00
Jonathan Behrens
7c4a6fae08
Update src/decoder/mod.rs
2022-07-18 19:36:35 -07:00
Jonathan Behrens
723ef6431a
Update src/decoder/mod.rs
2022-07-18 19:36:28 -07:00
Alan Race
802949f6e1
Removed ChunkInfo and added additional functions on decoder
2022-07-18 17:15:44 +02:00
Alan Race
5cadbffebf
Changed to use u32 for chunk_index
2022-07-11 08:56:35 +02:00
Alan Race
e1f4161e0b
Removed unused functions and make InvalidChunkIndex a UsageError
2022-07-08 11:08:30 +02:00
Alan Race
8c0c13f022
Added read_chunk_at and read_chunk_to_buffer functions
2022-07-07 15:25:01 +02:00
Alan Race
d5e3f4aa8a
Merge remote-tracking branch 'image-tiff/master' into access-tile
2022-07-07 15:06:56 +02:00
Jonathan Behrens
5e7702a874
Suggested edits
2022-06-26 20:45:21 -07:00
Jonathan Behrens
8e5c5b44c5
Support floating point predictor (predictor 3)
...
Based on work by @TomasKralCZ in #135
2022-06-22 20:14:25 -07:00
Jonathan Behrens
8a6e93f66e
Merge fix_endianness and rev_hpredict methods
2022-06-22 20:13:55 -07:00
Alan Race
6e398ce7e3
Remove ChunkInfo from mod.rs that was added through merge
2022-05-09 09:58:51 +02:00
Alan Race
8bd02ac389
Merge remote-tracking branch 'origin/access-tile' into access-tile
2022-05-09 09:57:24 +02:00
Alan Race
0447d81b07
Updated to use new unified chunk handling
2022-05-09 09:56:46 +02:00
Alan Race
54664d553d
Added comments for read_tile, read_strip and read_*_at
2022-05-09 09:17:39 +02:00
Alan Race
6bec36ab20
Reverted read_strip and read_tile to previous call signature
...
Added comments to ChunkInfo
2022-05-09 09:17:39 +02:00
Alan Race
e57ca1a926
Added functionality for loading selected strip
2022-05-09 09:17:27 +02:00
Alan Race
ca4da33dd7
Mirrored return value of read_tile to read_strip
2022-05-09 09:16:35 +02:00
Alan Race
6d4c4a49a1
read_tile now returns ChunkInfo
2022-05-09 09:16:13 +02:00
Alan Race
d8520bde1f
Now using the list of offsets to know how many IFDs we have seen
2022-05-09 09:14:56 +02:00
Alan Race
56c20c2c20
Added ability to select which image (IFD) to load
2022-05-09 09:14:56 +02:00
Alan Race
6efa89c249
Added ability to select which tile to load (based on index)
...
Also reduced repeated code when calculating padding etc.
2022-05-09 09:14:04 +02:00
Alan Race
72ca636625
Added comments for read_tile, read_strip and read_*_at
2022-05-03 09:27:23 +02:00
Alan Race
1f501b5acb
Reverted read_strip and read_tile to previous call signature
...
Added comments to ChunkInfo
2022-05-03 09:21:23 +02:00
Jonathan Behrens
805a1e5cef
Rename chunk_byte_range method
2022-05-02 19:47:41 -07:00
Jonathan Behrens
dc8311fb99
Merge read_tiled_image and read_stripped_image
2022-05-02 19:46:28 -07:00
Jonathan Behrens
f25530adec
Unify expand_strip and expand_tile
2022-05-02 19:37:00 -07:00
Alan Race
dd8c9e4f2b
Added functionality for loading selected strip
2022-05-02 15:59:48 +02:00
Alan Race
8f34748d01
Mirrored return value of read_tile to read_strip
2022-05-02 15:39:14 +02:00
Alan Race
4ce3c2f41f
read_tile now returns ChunkInfo
2022-05-02 15:35:48 +02:00