Harald Kuhr
456749ded8
Using new sequence support in DDSImageWriter
...
+ some minor bonus clean-up
2026-03-13 14:46:19 +01:00
Harald Kuhr
47a26651b4
Using new sequence support in exising writers.
2026-03-13 14:46:19 +01:00
Harald Kuhr
10183ef830
New class for simpler sequence write support.
2026-03-13 14:46:19 +01:00
Harald Kuhr
263fb75d1d
DDS cleanup ( #1262 )
...
* Refactorings and code clean-up
* Major rework/standardization:
* DDSEncoderType, DX10DXGIFormat merged with DDSType for a single way to describe a DDS format
* Added constants for DXGI formats
* DDSImageWriteParam is now mutable and supports standard way of setting compression type
* DDSImageMetadata now supports more of the format
Performance:
* DDSReader now use seek() to jump to correct mipmap instead of reading all bytes
* DDSImageWriter now uses getTile(0, 0) instead of getData() for better performance
* Fix JavaDoc 🎉
* Sonar issues + roll back accidental check-in
* More clean-up: Removed optional flags from param, header size validation, metadata now reports compresion as lossy
* More clean-up: Now keeps stream byte order consistent (LE), support for Raster, more tests
* Mipmap support using ImageIO sequence API
* Added raster write test
+ fixed a small issue for PAM
* Sonar issues
2026-03-11 21:09:26 +01:00
KhanhTypo
a7a4445ce8
[DDS] Adding Block Compression 1 -> 5 Encoding Support ( #1237 )
...
* dds dxt10 support, with some certain supported DXGI Formats only.
* expand the supporting range for some DX10 DXGI Format in the DXGI_FORMAT enumeration
* readability and maintainability fixes, adding DXT10 test cases.
* java.awt.* -> java.awt.Dimension
* DDS header & BC1 writer
* BC4 Writer
* BC3 Writer
* BC1-5 writer support
* remove unused methods
* code fixes
* BC4 fix to resolve unwanted blocky effect.
* CI test fixes
* change bitflag setter functions
* temporary disable formats that does not have an encoder yet.
* resolving SonaQube issues.
2026-03-04 10:35:40 +01:00
dependabot[bot]
0c05918d8a
Bump junit.jupiter.version from 5.14.2 to 5.14.3
...
Bumps `junit.jupiter.version` from 5.14.2 to 5.14.3.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.14.2 to 5.14.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.2...r5.14.3 )
Updates `org.junit.jupiter:junit-jupiter-params` from 5.14.2 to 5.14.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.2...r5.14.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.14.3
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.14.3
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-23 10:26:02 +01:00
Harald Kuhr
5b4fa64dc0
[maven-release-plugin] prepare for next development iteration
2026-02-22 16:13:49 +01:00
Harald Kuhr
2ad522a9fa
[maven-release-plugin] prepare release twelvemonkeys-3.13.1
2026-02-22 16:13:44 +01:00
Harald Kuhr
146d5926bb
#1244 : Created test + fixed inverted PSD hidden flag in metadata
2026-02-05 13:54:51 +01:00
Will Ezell
1b889b1b4b
Fixes Lossless Alpha Channel WebP ( #1243 )
...
* Fix alpha channel dimensions in WebP lossless decoding
Use the expected width and height values instead of tempRaster.getWidth()/getHeight() when creating the alpha channel's writable child raster. This ensures the alpha channel is correctly sized when the temp raster dimensions differ from the expected dimensions.
* Fixes Lossless Huffman table based on libwebp
* Remove redundant flush call in image reader test
Removed unnecessary image.flush() call in WebPImageReaderTest.
* adding code to generate good hash for reproducability
2026-01-23 09:40:06 +01:00
Harald Kuhr
cd79ef4409
#1240 : Fixes TIFFWriter overwrite of nested values issue
2026-01-15 19:42:56 +01:00
dependabot[bot]
eb1735ab33
Bump junit.jupiter.version from 5.14.1 to 5.14.2
...
Bumps `junit.jupiter.version` from 5.14.1 to 5.14.2.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.14.1 to 5.14.2
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.2 )
Updates `org.junit.jupiter:junit-jupiter-engine` from 5.14.1 to 5.14.2
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.1...r5.14.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-14 11:25:14 +01:00
Harald Kuhr
b86d82720d
[maven-release-plugin] prepare for next development iteration
2025-12-22 15:40:16 +01:00
Harald Kuhr
47e90a657a
[maven-release-plugin] prepare release twelvemonkeys-3.13.0
2025-12-22 15:40:12 +01:00
Harald Kuhr
8d08c9565b
Fix JavaDoc error
2025-12-22 10:08:43 +01:00
KhanhTypo
46a399ff02
DDS DXT10 support, with some certain supported DXGI Formats only. ( #1230 )
...
* dds dxt10 support, with some certain supported DXGI Formats only.
* expand the supporting range for some DX10 DXGI Format in the DXGI_FORMAT enumeration
* readability and maintainability fixes, adding DXT10 test cases.
* java.awt.* -> java.awt.Dimension
2025-12-17 17:38:47 +01:00
Vincent Privat
c9063ca02d
add unit test
2025-12-09 13:25:26 +01:00
Vincent Privat
340e79eb8a
fix webp decoding using source region without subsampling
2025-12-09 13:25:26 +01:00
Vincent Privat
355a916225
Optimize buffer by allocating enough space up front
2025-12-09 13:24:39 +01:00
Vincent Privat
8da45b5f05
take code review into account
2025-12-09 13:24:39 +01:00
Vincent Privat
6c8b0cdc2f
Fix #1211 - SVG: support namespace prefix
2025-12-09 13:24:39 +01:00
dependabot[bot]
21e5a465b9
Bump commons-io:commons-io from 2.20.0 to 2.21.0
...
Bumps [commons-io:commons-io](https://github.com/apache/commons-io ) from 2.20.0 to 2.21.0.
- [Changelog](https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt )
- [Commits](https://github.com/apache/commons-io/compare/rel/commons-io-2.20.0...rel/commons-io-2.21.0 )
---
updated-dependencies:
- dependency-name: commons-io:commons-io
dependency-version: 2.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-10 09:33:25 +01:00
dependabot[bot]
5011e98184
Bump junit.jupiter.version from 5.14.0 to 5.14.1
...
Bumps `junit.jupiter.version` from 5.14.0 to 5.14.1.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.14.0 to 5.14.1
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.0...r5.14.1 )
Updates `org.junit.jupiter:junit-jupiter-engine` from 5.14.0 to 5.14.1
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.14.0...r5.14.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.14.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.14.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-03 09:25:22 +01:00
zcronix
1328dbf763
Handle lossless JPEG with non-zero point transform ( #1183 )
...
* Handle lossless JPEG with non-zero point transform (Pt parameter)
* Add unit test
* Inserting a fix for last pixel not being output
* Address issues from code review
---------
Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com >
2025-10-03 10:49:40 +02:00
Harald Kuhr
2d6f7d89fa
JDK 25 seems to have added Exif thumbnail read support
2025-10-03 10:42:16 +02:00
dependabot[bot]
5b184a2a8a
Bump junit.jupiter.version from 5.13.4 to 5.14.0
...
Bumps `junit.jupiter.version` from 5.13.4 to 5.14.0.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.13.4 to 5.14.0
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.4...r5.14.0 )
Updates `org.junit.jupiter:junit-jupiter-engine` from 5.13.4 to 5.14.0
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.4...r5.14.0 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.14.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.14.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-02 09:13:48 +02:00
dependabot[bot]
488608b312
Bump junit.jupiter.version from 5.13.3 to 5.13.4
...
Bumps `junit.jupiter.version` from 5.13.3 to 5.13.4.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.13.3 to 5.13.4
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.13.4 )
Updates `org.junit.jupiter:junit-jupiter-params` from 5.13.3 to 5.13.4
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.3...r5.13.4 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.4
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.13.4
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-11 15:58:37 +02:00
dependabot[bot]
b3ae8a8ba6
Bump commons-io:commons-io from 2.19.0 to 2.20.0
...
Bumps [commons-io:commons-io](https://github.com/apache/commons-io ) from 2.19.0 to 2.20.0.
- [Changelog](https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt )
- [Commits](https://github.com/apache/commons-io/compare/rel/commons-io-2.19.0...rel/commons-io-2.20.0 )
---
updated-dependencies:
- dependency-name: commons-io:commons-io
dependency-version: 2.20.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-11 15:58:09 +02:00
dependabot[bot]
f653279c62
Bump junit.jupiter.version from 5.13.2 to 5.13.3
...
Bumps `junit.jupiter.version` from 5.13.2 to 5.13.3.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.13.2 to 5.13.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3 )
Updates `org.junit.jupiter:junit-jupiter-engine` from 5.13.2 to 5.13.3
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-07 12:38:09 +02:00
dependabot[bot]
133eafc8c2
Bump junit.jupiter.version from 5.13.1 to 5.13.2
...
Bumps `junit.jupiter.version` from 5.13.1 to 5.13.2.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.13.1 to 5.13.2
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2 )
Updates `org.junit.jupiter:junit-jupiter-params` from 5.13.1 to 5.13.2
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.1...r5.13.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.13.2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-25 12:41:59 +02:00
Harald Kuhr
85346a82e1
Fix JavaDoc that breaks build...
2025-06-17 08:30:43 +02:00
Harald Kuhr
e718e58b65
#1152 Fix TIFF CCITT T.4/T.6 metadata compression names
2025-06-16 21:18:30 +02:00
dependabot[bot]
9abe154ed3
Bump junit.jupiter.version from 5.13.0 to 5.13.1
...
Bumps `junit.jupiter.version` from 5.13.0 to 5.13.1.
Updates `org.junit.jupiter:junit-jupiter-api` from 5.13.0 to 5.13.1
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
Updates `org.junit.jupiter:junit-jupiter-params` from 5.13.0 to 5.13.1
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.13.0...r5.13.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-params
dependency-version: 5.13.1
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-09 14:49:17 +02:00
Harald Kuhr
867a46d281
Bump org.junit.jupiter:junit-jupiter-all from 5.12.2 to 5.13.0 ( #1147 )
2025-06-06 10:32:42 +02:00
Rolf Howarth
5af87372aa
Use signed arithmetic when reading rectangle ( #1131 )
...
* Use signed arithmetic when reading rectangle
An operation such as DirectBitsRect can fail if the origin is -ve and we're applying a screen image ratio. See for example P564B1400.pict
* Fix copy/paste error in testNegativeOrigin()
---------
Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com >
2025-05-30 16:14:23 +02:00
Rolf Howarth
defadbbbcd
Set 'frame' to correct image bounds ( #1130 )
...
Ensure the x,y offset for extended v2 pictures is respected by updating 'frame' to the correct bounding rectangle. As a result we
need to base output image directly on frame size rather than applying screen image ratio. See cow.pict.
Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com >
2025-05-30 16:07:16 +02:00
Rolf Howarth
66363f8d09
Fix bounds issue in some v2 PICT files ( #1129 )
...
x2 and y2 were swapped over, resulting in an "invalid bounds" exception with -ve height on some nonV2Ext images,
see for example CatDV==2.0=1=.pict or Picture14.pict
Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com >
2025-05-30 15:59:00 +02:00
Rolf Howarth
1bef35daba
Fix rendering of images with JPEG slices ( #1124 )
...
* Third attempt
* Add test file
* Only suppress lastQTRect if PackBitsRect immediately follows CompressedQuickTime opcode
* Only suppress lastQTRect if PackBitsRect immediately follows CompressedQuickTime opcode
* Add unit test that checks pixel values
* Add missing ImageIO import
* Fix formatting issues
---------
Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com >
2025-05-30 15:51:06 +02:00
Harald Kuhr
0be5efc534
Add static import of Assumptions.assumeTrue
2025-05-30 15:50:02 +02:00
Rolf Howarth
35da57dfcf
JUnit confusion about parameter order
2025-05-30 15:50:02 +02:00
Rolf Howarth
5d09bb664e
Add assumption for TIFF reader being present as test will fail under jdk 1.8
2025-05-30 15:50:02 +02:00
Rolf Howarth
5590072cc7
Fix assertRGBEquals() failure message
2025-05-30 15:50:02 +02:00
Rolf Howarth
31117c7cea
Add unit test for QuickTime mask issue
2025-05-30 15:50:02 +02:00
Rolf Howarth
ae0899fe76
Make sure maskSize bytes are skipped
...
If the CompressedQuickTime opcode has a mask then this wasn't processed properly. See for example P30946BDC.pict.
2025-05-30 15:50:02 +02:00
dependabot[bot]
a8f77a9a45
Bump batik.version from 1.18 to 1.19
...
Bumps `batik.version` from 1.18 to 1.19.
Updates `org.apache.xmlgraphics:batik-rasterizer-ext` from 1.18 to 1.19
Updates `org.apache.xmlgraphics:batik-extension` from 1.18 to 1.19
Updates `org.apache.xmlgraphics:batik-anim` from 1.18 to 1.19
Updates `org.apache.xmlgraphics:batik-svggen` from 1.18 to 1.19
Updates `org.apache.xmlgraphics:batik-transcoder` from 1.18 to 1.19
---
updated-dependencies:
- dependency-name: org.apache.xmlgraphics:batik-rasterizer-ext
dependency-version: '1.19'
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.apache.xmlgraphics:batik-extension
dependency-version: '1.19'
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.apache.xmlgraphics:batik-anim
dependency-version: '1.19'
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.apache.xmlgraphics:batik-svggen
dependency-version: '1.19'
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: org.apache.xmlgraphics:batik-transcoder
dependency-version: '1.19'
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-07 12:40:47 +02:00
dependabot[bot]
9fa9bc5fe0
Bump commons-io:commons-io from 2.18.0 to 2.19.0
...
Bumps commons-io:commons-io from 2.18.0 to 2.19.0.
---
updated-dependencies:
- dependency-name: commons-io:commons-io
dependency-version: 2.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-14 10:59:33 +02:00
dependabot[bot]
4da3e2e441
Bump org.junit.jupiter:junit-jupiter-api from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-14 10:51:39 +02:00
dependabot[bot]
4516d84e54
Bump org.junit.jupiter:junit-jupiter-engine from 5.12.1 to 5.12.2
...
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5 ) from 5.12.1 to 5.12.2.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
dependency-version: 5.12.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-14 10:51:29 +02:00
Rolf Howarth
f8b919ee58
Improve debug output ( #1115 )
...
Include hex opcode and file offset in debug output. Condense scan line messages in readOpDirectBits().
---------
Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com >
2025-03-31 21:38:09 +02:00
dependabot[bot]
ad3cbbd86d
Bump org.junit.jupiter:junit-jupiter-api from 5.12.0 to 5.12.1
...
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5 ) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/junit-team/junit5/releases )
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.0...r5.12.1 )
---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-03-17 09:52:07 +01:00