A. Molzer
59d32a66a7
Add test coverage for to byte decoding
2025-07-14 18:23:30 +02:00
A. Molzer
5a6b2ad8f3
Complementary methods reading into borrowed buffer
2025-07-14 18:23:30 +02:00
A. Molzer
c746653269
Add Decoder::read_image_bytes, borrowed output
2025-07-14 18:23:30 +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
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