This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 9ead214688e4949ac1d24e64903bc3f938cfadb8
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Thu Jul 2 11:03:09 2026 +0200

    Fix the interleave type of RGB profile in HEIF files.
---
 .../apache/sis/storage/isobmff/mpeg/UncompressedFrameConfig.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/incubator/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/mpeg/UncompressedFrameConfig.java
 
b/incubator/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/mpeg/UncompressedFrameConfig.java
index dc7f535791..b939c4bd93 100644
--- 
a/incubator/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/mpeg/UncompressedFrameConfig.java
+++ 
b/incubator/src/org.apache.sis.storage.geoheif/main/org/apache/sis/storage/isobmff/mpeg/UncompressedFrameConfig.java
@@ -55,6 +55,7 @@ public final class UncompressedFrameConfig extends FullBox {
 
     /**
      * Numerical representation of the {@code "rgb3"} profile.
+     * Interleave type is 1 (pixel interleave).
      *
      * @see ComponentType#RGB
      */
@@ -62,6 +63,7 @@ public final class UncompressedFrameConfig extends FullBox {
 
     /**
      * Numerical representation of the {@code "rgba"} profile.
+     * Interleave type is 1 (pixel interleave).
      *
      * @see ComponentType#RGBA
      */
@@ -69,6 +71,7 @@ public final class UncompressedFrameConfig extends FullBox {
 
     /**
      * Numerical representation of the {@code "abgr"} profile.
+     * Interleave type is 1 (pixel interleave).
      *
      * @see ComponentType#ABGR
      */
@@ -209,6 +212,8 @@ public final class UncompressedFrameConfig extends FullBox {
          * Field values predefined by the profile from table 5 in ISO 
23001-17:2024.
          * This switch statement supports only the few cases that we can map 
to RGBA.
          * Unsupported profiles are variants of YUV (Luma, Chroma Cb/U, Chroma 
Cr/V).
+         * Note: each profile implies also pre-defined values for 
`interleaveType`,
+         * `pixelSize`, etc. These values are currently hard-coded in version 
1.
          */
         switch (profile) {
             case RGB:  predefined = ComponentType.RGB;  break;
@@ -256,7 +261,7 @@ public final class UncompressedFrameConfig extends FullBox {
                 }
                 numTileCols    = 1;
                 numTileRows    = 1;
-                interleaveType = InterleavingMode.COMPONENT;
+                interleaveType = InterleavingMode.PIXEL;    // Type of RGB, 
RGBA and ABGR profiles.
                 components     = new Component[predefined.length];
                 for (int i=0; i<predefined.length; i++) {
                     components[i] = new Component(predefined[i]);

Reply via email to