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
Wei Ji
307cd8be97
Add SignedByte and SignedShort enum variants ( #234 )
2024-07-21 20:37:25 -07:00
Jonathan Behrens
90ae5b8e54
Fix warnings ( #225 )
2024-03-23 13:51:28 -07:00
Jonathan Behrens
60f866c119
A bunch of clippy fixes
2023-08-20 13:32:08 -07:00
Andreas Molzer
0e9f8e3b5b
Mark more tag enums as non_exhaustive
2022-11-10 12:45:04 +01:00
Alan Race
802949f6e1
Removed ChunkInfo and added additional functions on decoder
2022-07-18 17:15:44 +02:00
Jonathan Behrens
01df985ef8
Fix formatting
2022-01-12 20:13:23 -05:00
Jonathan Behrens
2d10cff97e
Reading fields shouldn't need the entire Decoder
2022-01-12 19:50:06 -05:00
5225225
2f4e491874
Check for where tag count * tag size overflows
2021-05-28 20:32:30 +01:00
HeroicKatora
8fcacc829f
Merge pull request #119 from kalcutter/missing-tags-and-i64
...
Implement missing tag types and signed 64-bit support
2021-03-24 12:25:01 +01:00
Emmanuel Antony
f5754159cb
Modified the validation for ascii tag type
2021-03-20 08:47:47 +05:30
Kal Conley
d086e289dd
Implement missing tag types and signed 64-bit support
2021-03-17 01:24:32 +01:00
Jonathan Behrens
67105fe4ec
Refactor Entry::val function
2020-12-04 18:59:51 -05:00
ruffson
e2caf86f6a
Add intos for Short
2020-11-16 19:01:18 +01:00
ruffson
923b37d647
Remove unnecessary line
2020-11-16 18:57:50 +01:00
ruffson
3953bd31e1
Read out short vecs and ascii from ifds
2020-11-16 18:52:04 +01:00
Andreas Molzer
8ab9d30eff
Convert to edition 2018
...
Notably, This enables NLL even on older compilers such as 1.34.
2020-10-31 20:13:30 +01:00
ruffson
cb5319c426
Deal with empty jpeg_tables
2020-09-26 14:35:06 +02:00
ruffson
72474b569e
Add byte expected error and cleanup
2020-09-25 20:06:52 +02:00
ruffson
a510b03e1c
Apply auto-format to modified files
2020-09-25 19:47:33 +02:00
ruffson
da9bdac8a2
Read out byte-sized arrays
2020-09-25 19:39:09 +02:00
raph
647de77b70
Add support for UNDEFINED type
...
According to TIFF spec this is an byte-array that may contain arbitrary
data.
2020-09-25 19:37:24 +02:00
Andreas Molzer
bf24b3f935
Do a clippy pass
2020-09-12 01:15:08 +02:00
Andreas Molzer
44c75a66ab
Merge remote-tracking branch 'origin/master' into features/32-bit-float-samples
2020-08-31 20:50:16 +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
Etienne Prothon
3b0da4d1ae
feat: Add decoding value and get tags as f32 or f64
2020-08-05 14:25:02 +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
Etienne Prothon
ba3f6e604a
feat: Add BigTiff enum values
2020-07-27 10:52:43 +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
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
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
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
1fafcccb36
Remove needless cast (minor)
2019-12-21 15:57:24 +00:00
Andrew Champion
8c4cea5d97
Support 64-bit encoding
...
Note that this adds the LONG8 data type from BigTIFF because of bounds
requiring TiffValue. However, this datatype should not actually be
written to tags.
2019-12-10 20:18:53 +00:00
Andreas Molzer
07e8501ad6
Prefer matching over if-else-chain in tags macro
...
Thanks to the review comment for pointing this style issue out.
2019-11-12 10:53:38 +01:00
Andreas Molzer
f88c9f00c3
Move everything to the tags macro
2019-11-10 18:02:42 +01:00
Andreas Molzer
f80f4a06d5
Make the Unknown field optional
...
Several other uses that currently rely on num-traits for conversion have
no Unknown representation. Thus, the converter now outputs only known
variants or an error and the exposing function then can put the error
value into an Unknown variant instead.
2019-11-10 18:02:08 +01:00
Andreas Molzer
ffdeb62b9f
Rework the tag macro to make it reusable
...
Factor out parts that are unique to instantiations such as the name, the
documentation, the underlying type, the public conversion methods.
Also adds the ability to document individual items and remodels the
syntax to more closely resemble ordinary enum definitions.
2019-11-01 01:35:18 +01:00
Yuki Okushi
ea19f0f686
Remove try! macros
2019-08-29 19:10:27 +09:00
Dustin Thomson
30eb8487a6
Signed value support
...
Add support for SBYTE, SSHORT, SLONG, SRATIONAL as per the Tiff 6.0 spec
Add support for multiple BYTE
2019-08-14 21:22:56 -06:00
Birk Tjelmeland
514b7cddaa
Change minimal rustc version to 1.24.1
2019-05-03 23:12:29 +02:00
Atul Bhosale
522fbd1a69
Format code using 'cargo fmt'
2019-04-18 00:04:43 +05:30
Birk Tjelmeland
5e86931dff
Fix possibly overflowing multiplications
2019-03-12 11:07:57 +01:00
Birk Tjelmeland
5c3f50f800
Fix compiler and clippy warnings
2019-02-28 07:58:07 +01:00
Birk Tjelmeland
d637e1f7f6
Fix memory exhaustion bug
2019-02-27 16:15:57 +01:00