Commit 36338dfe for libheif

commit 36338dfed47f6abcb6b0dbe9ae6a4589aa934c08
Author: Dirk Farin <dirk.farin@gmail.com>
Date:   Tue Feb 10 09:20:57 2026 +0100

    unci: rename encoders to consistent names

diff --git a/libheif/CMakeLists.txt b/libheif/CMakeLists.txt
index 5021d7a7..0bff75bd 100644
--- a/libheif/CMakeLists.txt
+++ b/libheif/CMakeLists.txt
@@ -313,16 +313,16 @@ if (WITH_UNCOMPRESSED_CODEC)
             codecs/uncompressed/unc_decoder_row_interleave.cc
             codecs/uncompressed/unc_encoder.h
             codecs/uncompressed/unc_encoder.cc
-            codecs/uncompressed/unc_encoder_rgb3_rgba.cc
-            codecs/uncompressed/unc_encoder_rgb3_rgba.h
-            codecs/uncompressed/unc_encoder_rrggbb.cc
-            codecs/uncompressed/unc_encoder_rrggbb.h
-            codecs/uncompressed/unc_encoder_packed_planar.cc
-            codecs/uncompressed/unc_encoder_packed_planar.h
-            codecs/uncompressed/unc_encoder_planar.cc
-            codecs/uncompressed/unc_encoder_planar.h
-            codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.cc
-            codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.h)
+            codecs/uncompressed/unc_encoder_rgb_pixel_interleave.cc
+            codecs/uncompressed/unc_encoder_rgb_pixel_interleave.h
+            codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.cc
+            codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.h
+            codecs/uncompressed/unc_encoder_component_interleave.cc
+            codecs/uncompressed/unc_encoder_component_interleave.h
+            codecs/uncompressed/unc_encoder_bytealign_component_interleave.cc
+            codecs/uncompressed/unc_encoder_bytealign_component_interleave.h
+            codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.cc
+            codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.h)
 endif ()

 if (ENABLE_EXPERIMENTAL_MINI_FORMAT)
diff --git a/libheif/codecs/uncompressed/unc_encoder.cc b/libheif/codecs/uncompressed/unc_encoder.cc
index cb1b3112..0ff3abd5 100644
--- a/libheif/codecs/uncompressed/unc_encoder.cc
+++ b/libheif/codecs/uncompressed/unc_encoder.cc
@@ -25,11 +25,11 @@

 #include "pixelimage.h"
 #include "unc_boxes.h"
-#include "unc_encoder_packed_planar.h"
-#include "unc_encoder_planar.h"
-#include "unc_encoder_rgb_hdr_packed_interleave.h"
-#include "unc_encoder_rgb3_rgba.h"
-#include "unc_encoder_rrggbb.h"
+#include "unc_encoder_component_interleave.h"
+#include "unc_encoder_bytealign_component_interleave.h"
+#include "unc_encoder_rgb_block_pixel_interleave.h"
+#include "unc_encoder_rgb_pixel_interleave.h"
+#include "unc_encoder_rgb_bytealign_pixel_interleave.h"
 #include "libheif/heif_uncompressed.h"


@@ -84,18 +84,18 @@ unc_encoder::unc_encoder()
 Result<std::unique_ptr<const unc_encoder> > unc_encoder_factory::get_unc_encoder(const std::shared_ptr<const HeifPixelImage>& prototype_image,
                                                                                  const heif_encoding_options& options)
 {
-  static unc_encoder_factory_rgb3_rgba enc_rgb3_rgba;
-  static unc_encoder_factory_rgb_hdr_packed_interleave enc_rgb10_12;
-  static unc_encoder_factory_rrggbb enc_rrggbb;
-  static unc_encoder_factory_packed_planar enc_packed_planar;
-  static unc_encoder_factory_planar enc_planar;
+  static unc_encoder_factory_rgb_pixel_interleave enc_rgb_pixel_interleave;
+  static unc_encoder_factory_rgb_block_pixel_interleave enc_rgb_block_pixel_interleave;
+  static unc_encoder_factory_rgb_bytealign_pixel_interleave enc_rgb_bytealign_pixel_interleave;
+  static unc_encoder_factory_component_interleave enc_component_interleave;
+  static unc_encoder_factory_bytealign_component_interleave enc_bytealign_component_interleave;

   static const unc_encoder_factory* encoders[]{
-    &enc_rgb3_rgba,
-    &enc_rgb10_12,
-    &enc_rrggbb,
-    &enc_packed_planar,
-    &enc_planar
+    &enc_rgb_pixel_interleave,
+    &enc_rgb_block_pixel_interleave,
+    &enc_rgb_bytealign_pixel_interleave,
+    &enc_component_interleave,
+    &enc_bytealign_component_interleave
   };

   for (const unc_encoder_factory* enc : encoders) {
diff --git a/libheif/codecs/uncompressed/unc_encoder_planar.cc b/libheif/codecs/uncompressed/unc_encoder_bytealign_component_interleave.cc
similarity index 84%
rename from libheif/codecs/uncompressed/unc_encoder_planar.cc
rename to libheif/codecs/uncompressed/unc_encoder_bytealign_component_interleave.cc
index 6bd34c83..a967a080 100644
--- a/libheif/codecs/uncompressed/unc_encoder_planar.cc
+++ b/libheif/codecs/uncompressed/unc_encoder_bytealign_component_interleave.cc
@@ -13,7 +13,7 @@
  * from Dirk Farin.
  */

-#include "unc_encoder_planar.h"
+#include "unc_encoder_bytealign_component_interleave.h"

 #include <cstring>

@@ -21,7 +21,7 @@
 #include "unc_boxes.h"


-bool unc_encoder_factory_planar::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
+bool unc_encoder_factory_bytealign_component_interleave::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
                                             const heif_encoding_options& options) const
 {
   if (image->has_channel(heif_channel_interleaved)) {
@@ -32,14 +32,14 @@ bool unc_encoder_factory_planar::can_encode(const std::shared_ptr<const HeifPixe
 }


-std::unique_ptr<const unc_encoder> unc_encoder_factory_planar::create(const std::shared_ptr<const HeifPixelImage>& image,
+std::unique_ptr<const unc_encoder> unc_encoder_factory_bytealign_component_interleave::create(const std::shared_ptr<const HeifPixelImage>& image,
                                                                       const heif_encoding_options& options) const
 {
-  return std::make_unique<unc_encoder_planar>(image, options);
+  return std::make_unique<unc_encoder_bytealign_component_interleave>(image, options);
 }


-void unc_encoder_planar::add_channel_if_exists(const std::shared_ptr<const HeifPixelImage>& image, heif_channel channel)
+void unc_encoder_bytealign_component_interleave::add_channel_if_exists(const std::shared_ptr<const HeifPixelImage>& image, heif_channel channel)
 {
   if (image->has_channel(channel)) {
     m_components.push_back({channel, heif_channel_to_component_type(channel)});
@@ -47,7 +47,7 @@ void unc_encoder_planar::add_channel_if_exists(const std::shared_ptr<const HeifP
 }


-unc_encoder_planar::unc_encoder_planar(const std::shared_ptr<const HeifPixelImage>& image,
+unc_encoder_bytealign_component_interleave::unc_encoder_bytealign_component_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                                        const heif_encoding_options& options)
 {
   // Special case for heif_channel_Y:
@@ -129,13 +129,13 @@ unc_encoder_planar::unc_encoder_planar(const std::shared_ptr<const HeifPixelImag
 }


-uint64_t unc_encoder_planar::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
+uint64_t unc_encoder_bytealign_component_interleave::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
 {
   return tile_width * tile_height * m_bytes_per_pixel_x4 / 4;
 }


-std::vector<uint8_t> unc_encoder_planar::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
+std::vector<uint8_t> unc_encoder_bytealign_component_interleave::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
 {
   std::vector<uint8_t> data;

diff --git a/libheif/codecs/uncompressed/unc_encoder_planar.h b/libheif/codecs/uncompressed/unc_encoder_bytealign_component_interleave.h
similarity index 78%
rename from libheif/codecs/uncompressed/unc_encoder_planar.h
rename to libheif/codecs/uncompressed/unc_encoder_bytealign_component_interleave.h
index 515fe2af..2123517b 100644
--- a/libheif/codecs/uncompressed/unc_encoder_planar.h
+++ b/libheif/codecs/uncompressed/unc_encoder_bytealign_component_interleave.h
@@ -13,16 +13,16 @@
  * from Dirk Farin.
  */

-#ifndef LIBHEIF_UNC_ENCODER_PLANAR_H
-#define LIBHEIF_UNC_ENCODER_PLANAR_H
+#ifndef LIBHEIF_UNC_ENCODER_BYTEALIGN_COMPONENT_INTERLEAVE_H
+#define LIBHEIF_UNC_ENCODER_BYTEALIGN_COMPONENT_INTERLEAVE_H

 #include "unc_encoder.h"
 #include "unc_types.h"

-class unc_encoder_planar : public unc_encoder
+class unc_encoder_bytealign_component_interleave : public unc_encoder
 {
 public:
-  unc_encoder_planar(const std::shared_ptr<const HeifPixelImage>& image,
+  unc_encoder_bytealign_component_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                      const heif_encoding_options& options);

   uint64_t compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const override;
@@ -43,7 +43,7 @@ private:
 };


-class unc_encoder_factory_planar : public unc_encoder_factory
+class unc_encoder_factory_bytealign_component_interleave : public unc_encoder_factory
 {
 public:

@@ -55,4 +55,4 @@ private:
                                             const heif_encoding_options& options) const override;
 };

-#endif //LIBHEIF_UNC_ENCODER_PLANAR_H
+#endif //LIBHEIF_UNC_ENCODER_BYTEALIGN_COMPONENT_INTERLEAVE_H
diff --git a/libheif/codecs/uncompressed/unc_encoder_packed_planar.cc b/libheif/codecs/uncompressed/unc_encoder_component_interleave.cc
similarity index 86%
rename from libheif/codecs/uncompressed/unc_encoder_packed_planar.cc
rename to libheif/codecs/uncompressed/unc_encoder_component_interleave.cc
index a32a4983..36aebf3f 100644
--- a/libheif/codecs/uncompressed/unc_encoder_packed_planar.cc
+++ b/libheif/codecs/uncompressed/unc_encoder_component_interleave.cc
@@ -18,7 +18,7 @@
  * along with libheif.  If not, see <http://www.gnu.org/licenses/>.
  */

-#include "unc_encoder_packed_planar.h"
+#include "unc_encoder_component_interleave.h"

 #include <cstring>

@@ -26,7 +26,7 @@
 #include "unc_boxes.h"


-bool unc_encoder_factory_packed_planar::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
+bool unc_encoder_factory_component_interleave::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
                                                    const heif_encoding_options& options) const
 {
   if (image->has_channel(heif_channel_interleaved)) {
@@ -50,14 +50,14 @@ bool unc_encoder_factory_packed_planar::can_encode(const std::shared_ptr<const H
 }


-std::unique_ptr<const unc_encoder> unc_encoder_factory_packed_planar::create(const std::shared_ptr<const HeifPixelImage>& image,
+std::unique_ptr<const unc_encoder> unc_encoder_factory_component_interleave::create(const std::shared_ptr<const HeifPixelImage>& image,
                                                                               const heif_encoding_options& options) const
 {
-  return std::make_unique<unc_encoder_packed_planar>(image, options);
+  return std::make_unique<unc_encoder_component_interleave>(image, options);
 }


-void unc_encoder_packed_planar::add_channel_if_exists(const std::shared_ptr<const HeifPixelImage>& image, heif_channel channel)
+void unc_encoder_component_interleave::add_channel_if_exists(const std::shared_ptr<const HeifPixelImage>& image, heif_channel channel)
 {
   if (image->has_channel(channel)) {
     uint8_t bpp = image->get_bits_per_pixel(channel);
@@ -66,7 +66,7 @@ void unc_encoder_packed_planar::add_channel_if_exists(const std::shared_ptr<cons
 }


-unc_encoder_packed_planar::unc_encoder_packed_planar(const std::shared_ptr<const HeifPixelImage>& image,
+unc_encoder_component_interleave::unc_encoder_component_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                                                      const heif_encoding_options& options)
 {
   // Special case for heif_channel_Y:
@@ -117,7 +117,7 @@ unc_encoder_packed_planar::unc_encoder_packed_planar(const std::shared_ptr<const
 }


-uint64_t unc_encoder_packed_planar::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
+uint64_t unc_encoder_component_interleave::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
 {
   uint64_t total = 0;
   for (const auto& comp : m_components) {
@@ -142,7 +142,7 @@ uint64_t unc_encoder_packed_planar::compute_tile_data_size_bytes(uint32_t tile_w
 }


-std::vector<uint8_t> unc_encoder_packed_planar::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
+std::vector<uint8_t> unc_encoder_component_interleave::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
 {
   uint64_t total_size = compute_tile_data_size_bytes(src_image->get_width(), src_image->get_height());
   std::vector<uint8_t> data;
diff --git a/libheif/codecs/uncompressed/unc_encoder_packed_planar.h b/libheif/codecs/uncompressed/unc_encoder_component_interleave.h
similarity index 82%
rename from libheif/codecs/uncompressed/unc_encoder_packed_planar.h
rename to libheif/codecs/uncompressed/unc_encoder_component_interleave.h
index 9d5ad39a..351be7f1 100644
--- a/libheif/codecs/uncompressed/unc_encoder_packed_planar.h
+++ b/libheif/codecs/uncompressed/unc_encoder_component_interleave.h
@@ -18,16 +18,16 @@
  * along with libheif.  If not, see <http://www.gnu.org/licenses/>.
  */

-#ifndef LIBHEIF_UNC_ENCODER_PACKED_PLANAR_H
-#define LIBHEIF_UNC_ENCODER_PACKED_PLANAR_H
+#ifndef LIBHEIF_UNC_ENCODER_COMPONENT_INTERLEAVE_H
+#define LIBHEIF_UNC_ENCODER_COMPONENT_INTERLEAVE_H

 #include "unc_encoder.h"
 #include "unc_types.h"

-class unc_encoder_packed_planar : public unc_encoder
+class unc_encoder_component_interleave : public unc_encoder
 {
 public:
-  unc_encoder_packed_planar(const std::shared_ptr<const HeifPixelImage>& image,
+  unc_encoder_component_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                             const heif_encoding_options& options);

   uint64_t compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const override;
@@ -48,7 +48,7 @@ private:
 };


-class unc_encoder_factory_packed_planar : public unc_encoder_factory
+class unc_encoder_factory_component_interleave : public unc_encoder_factory
 {
 public:

@@ -60,4 +60,4 @@ private:
                                             const heif_encoding_options& options) const override;
 };

-#endif //LIBHEIF_UNC_ENCODER_PACKED_PLANAR_H
+#endif //LIBHEIF_UNC_ENCODER_COMPONENT_INTERLEAVE_H
diff --git a/libheif/codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.cc b/libheif/codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.cc
similarity index 81%
rename from libheif/codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.cc
rename to libheif/codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.cc
index 888bcebe..1982f83e 100644
--- a/libheif/codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.cc
+++ b/libheif/codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.cc
@@ -13,14 +13,14 @@
  * from Dirk Farin.
  */

-#include "unc_encoder_rgb_hdr_packed_interleave.h"
+#include "unc_encoder_rgb_block_pixel_interleave.h"

 #include "pixelimage.h"
 #include "unc_boxes.h"
 #include "unc_types.h"


-bool unc_encoder_factory_rgb_hdr_packed_interleave::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
+bool unc_encoder_factory_rgb_block_pixel_interleave::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
                                                                const heif_encoding_options& options) const
 {
   if (image->get_colorspace() != heif_colorspace_RGB) {
@@ -43,14 +43,14 @@ bool unc_encoder_factory_rgb_hdr_packed_interleave::can_encode(const std::shared
 }


-std::unique_ptr<const unc_encoder> unc_encoder_factory_rgb_hdr_packed_interleave::create(const std::shared_ptr<const HeifPixelImage>& image,
+std::unique_ptr<const unc_encoder> unc_encoder_factory_rgb_block_pixel_interleave::create(const std::shared_ptr<const HeifPixelImage>& image,
                                                                                          const heif_encoding_options& options) const
 {
-  return std::make_unique<unc_encoder_rgb_hdr_packed_interleave>(image, options);
+  return std::make_unique<unc_encoder_rgb_block_pixel_interleave>(image, options);
 }


-unc_encoder_rgb_hdr_packed_interleave::unc_encoder_rgb_hdr_packed_interleave(const std::shared_ptr<const HeifPixelImage>& image,
+unc_encoder_rgb_block_pixel_interleave::unc_encoder_rgb_block_pixel_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                                                                              const heif_encoding_options& options)
 {
   m_cmpd->add_component({component_type_red});
@@ -74,13 +74,13 @@ unc_encoder_rgb_hdr_packed_interleave::unc_encoder_rgb_hdr_packed_interleave(con
 }


-uint64_t unc_encoder_rgb_hdr_packed_interleave::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
+uint64_t unc_encoder_rgb_block_pixel_interleave::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
 {
   return tile_width * tile_height * m_bytes_per_pixel;
 }


-std::vector<uint8_t> unc_encoder_rgb_hdr_packed_interleave::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
+std::vector<uint8_t> unc_encoder_rgb_block_pixel_interleave::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
 {
   std::vector<uint8_t> data;

diff --git a/libheif/codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.h b/libheif/codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.h
similarity index 76%
rename from libheif/codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.h
rename to libheif/codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.h
index ea7de2d0..0e9359d3 100644
--- a/libheif/codecs/uncompressed/unc_encoder_rgb_hdr_packed_interleave.h
+++ b/libheif/codecs/uncompressed/unc_encoder_rgb_block_pixel_interleave.h
@@ -13,15 +13,15 @@
  * from Dirk Farin.
  */

-#ifndef LIBHEIF_UNC_ENCODER_RGB10_12_H
-#define LIBHEIF_UNC_ENCODER_RGB10_12_H
+#ifndef LIBHEIF_UNC_ENCODER_RGB_BLOCK_PIXEL_INTERLEAVE_H
+#define LIBHEIF_UNC_ENCODER_RGB_BLOCK_PIXEL_INTERLEAVE_H
 #include "unc_encoder.h"


-class unc_encoder_rgb_hdr_packed_interleave : public unc_encoder
+class unc_encoder_rgb_block_pixel_interleave : public unc_encoder
 {
 public:
-  unc_encoder_rgb_hdr_packed_interleave(const std::shared_ptr<const HeifPixelImage>& image,
+  unc_encoder_rgb_block_pixel_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                                         const heif_encoding_options& options);

   uint64_t compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const override;
@@ -33,7 +33,7 @@ private:
 };


-class unc_encoder_factory_rgb_hdr_packed_interleave : public unc_encoder_factory
+class unc_encoder_factory_rgb_block_pixel_interleave : public unc_encoder_factory
 {
 public:

@@ -45,4 +45,4 @@ private:
                                             const heif_encoding_options& options) const override;
 };

-#endif //LIBHEIF_UNC_ENCODER_RGB10_12_H
+#endif //LIBHEIF_UNC_ENCODER_RGB_BLOCK_PIXEL_INTERLEAVE_H
diff --git a/libheif/codecs/uncompressed/unc_encoder_rrggbb.cc b/libheif/codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.cc
similarity index 80%
rename from libheif/codecs/uncompressed/unc_encoder_rrggbb.cc
rename to libheif/codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.cc
index 18bb43a8..94255650 100644
--- a/libheif/codecs/uncompressed/unc_encoder_rrggbb.cc
+++ b/libheif/codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.cc
@@ -18,7 +18,7 @@
  * along with libheif.  If not, see <http://www.gnu.org/licenses/>.
  */

-#include "unc_encoder_rrggbb.h"
+#include "unc_encoder_rgb_bytealign_pixel_interleave.h"

 #include <cstring>

@@ -27,7 +27,7 @@
 #include "unc_types.h"


-bool unc_encoder_factory_rrggbb::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
+bool unc_encoder_factory_rgb_bytealign_pixel_interleave::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
                                             const heif_encoding_options& options) const
 {
   if (image->get_colorspace() != heif_colorspace_RGB) {
@@ -48,14 +48,14 @@ bool unc_encoder_factory_rrggbb::can_encode(const std::shared_ptr<const HeifPixe
 }


-std::unique_ptr<const unc_encoder> unc_encoder_factory_rrggbb::create(const std::shared_ptr<const HeifPixelImage>& image,
+std::unique_ptr<const unc_encoder> unc_encoder_factory_rgb_bytealign_pixel_interleave::create(const std::shared_ptr<const HeifPixelImage>& image,
                                                                       const heif_encoding_options& options) const
 {
-  return std::make_unique<unc_encoder_rrggbb>(image, options);
+  return std::make_unique<unc_encoder_rgb_bytealign_pixel_interleave>(image, options);
 }


-unc_encoder_rrggbb::unc_encoder_rrggbb(const std::shared_ptr<const HeifPixelImage>& image,
+unc_encoder_rgb_bytealign_pixel_interleave::unc_encoder_rgb_bytealign_pixel_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                                        const heif_encoding_options& options)
 {
   m_cmpd->add_component({component_type_red});
@@ -94,13 +94,13 @@ unc_encoder_rrggbb::unc_encoder_rrggbb(const std::shared_ptr<const HeifPixelImag
 }


-uint64_t unc_encoder_rrggbb::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
+uint64_t unc_encoder_rgb_bytealign_pixel_interleave::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
 {
   return tile_width * tile_height * m_bytes_per_pixel;
 }


-std::vector<uint8_t> unc_encoder_rrggbb::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
+std::vector<uint8_t> unc_encoder_rgb_bytealign_pixel_interleave::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
 {
   std::vector<uint8_t> data;

diff --git a/libheif/codecs/uncompressed/unc_encoder_rrggbb.h b/libheif/codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.h
similarity index 73%
rename from libheif/codecs/uncompressed/unc_encoder_rrggbb.h
rename to libheif/codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.h
index 263f291b..063f7df0 100644
--- a/libheif/codecs/uncompressed/unc_encoder_rrggbb.h
+++ b/libheif/codecs/uncompressed/unc_encoder_rgb_bytealign_pixel_interleave.h
@@ -18,16 +18,16 @@
  * along with libheif.  If not, see <http://www.gnu.org/licenses/>.
  */

-#ifndef LIBHEIF_UNC_ENCODER_RRGGBB_H
-#define LIBHEIF_UNC_ENCODER_RRGGBB_H
+#ifndef LIBHEIF_UNC_ENCODER_RGB_BYTEALIGN_PIXEL_INTERLEAVE_H
+#define LIBHEIF_UNC_ENCODER_RGB_BYTEALIGN_PIXEL_INTERLEAVE_H
 #include "unc_encoder.h"


-class unc_encoder_rrggbb : public unc_encoder
+class unc_encoder_rgb_bytealign_pixel_interleave : public unc_encoder
 {
 public:
-  unc_encoder_rrggbb(const std::shared_ptr<const HeifPixelImage>& image,
-                     const heif_encoding_options& options);
+  unc_encoder_rgb_bytealign_pixel_interleave(const std::shared_ptr<const HeifPixelImage>& image,
+                                             const heif_encoding_options& options);

   uint64_t compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const override;

@@ -38,7 +38,7 @@ private:
 };


-class unc_encoder_factory_rrggbb : public unc_encoder_factory
+class unc_encoder_factory_rgb_bytealign_pixel_interleave : public unc_encoder_factory
 {
 public:

@@ -51,4 +51,4 @@ private:
 };


-#endif //LIBHEIF_UNC_ENCODER_RRGGBB_H
+#endif //LIBHEIF_UNC_ENCODER_RGB_BYTEALIGN_PIXEL_INTERLEAVE_H
diff --git a/libheif/codecs/uncompressed/unc_encoder_rgb3_rgba.cc b/libheif/codecs/uncompressed/unc_encoder_rgb_pixel_interleave.cc
similarity index 80%
rename from libheif/codecs/uncompressed/unc_encoder_rgb3_rgba.cc
rename to libheif/codecs/uncompressed/unc_encoder_rgb_pixel_interleave.cc
index 25b8b6b5..268e220d 100644
--- a/libheif/codecs/uncompressed/unc_encoder_rgb3_rgba.cc
+++ b/libheif/codecs/uncompressed/unc_encoder_rgb_pixel_interleave.cc
@@ -18,7 +18,7 @@
  * along with libheif.  If not, see <http://www.gnu.org/licenses/>.
  */

-#include "unc_encoder_rgb3_rgba.h"
+#include "unc_encoder_rgb_pixel_interleave.h"

 #include <cstring>

@@ -27,7 +27,7 @@
 #include "unc_types.h"


-bool unc_encoder_factory_rgb3_rgba::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
+bool unc_encoder_factory_rgb_pixel_interleave::can_encode(const std::shared_ptr<const HeifPixelImage>& image,
                                                const heif_encoding_options& options) const
 {
   if (image->get_colorspace() != heif_colorspace_RGB) {
@@ -44,14 +44,14 @@ bool unc_encoder_factory_rgb3_rgba::can_encode(const std::shared_ptr<const HeifP
 }


-std::unique_ptr<const unc_encoder> unc_encoder_factory_rgb3_rgba::create(const std::shared_ptr<const HeifPixelImage>& image,
+std::unique_ptr<const unc_encoder> unc_encoder_factory_rgb_pixel_interleave::create(const std::shared_ptr<const HeifPixelImage>& image,
                                                                          const heif_encoding_options& options) const
 {
-  return std::make_unique<unc_encoder_rgb3_rgba>(image, options);
+  return std::make_unique<unc_encoder_rgb_pixel_interleave>(image, options);
 }


-unc_encoder_rgb3_rgba::unc_encoder_rgb3_rgba(const std::shared_ptr<const HeifPixelImage>& image,
+unc_encoder_rgb_pixel_interleave::unc_encoder_rgb_pixel_interleave(const std::shared_ptr<const HeifPixelImage>& image,
                                              const heif_encoding_options& options)
 {
   m_cmpd->add_component({component_type_red});
@@ -94,13 +94,13 @@ unc_encoder_rgb3_rgba::unc_encoder_rgb3_rgba(const std::shared_ptr<const HeifPix



-uint64_t unc_encoder_rgb3_rgba::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
+uint64_t unc_encoder_rgb_pixel_interleave::compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const
 {
   return tile_width * tile_height * m_bytes_per_pixel;
 }


-std::vector<uint8_t> unc_encoder_rgb3_rgba::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
+std::vector<uint8_t> unc_encoder_rgb_pixel_interleave::encode_tile(const std::shared_ptr<const HeifPixelImage>& src_image) const
 {
   std::vector<uint8_t> data;

diff --git a/libheif/codecs/uncompressed/unc_encoder_rgb3_rgba.h b/libheif/codecs/uncompressed/unc_encoder_rgb_pixel_interleave.h
similarity index 76%
rename from libheif/codecs/uncompressed/unc_encoder_rgb3_rgba.h
rename to libheif/codecs/uncompressed/unc_encoder_rgb_pixel_interleave.h
index 7a987a88..3a25b449 100644
--- a/libheif/codecs/uncompressed/unc_encoder_rgb3_rgba.h
+++ b/libheif/codecs/uncompressed/unc_encoder_rgb_pixel_interleave.h
@@ -18,16 +18,16 @@
  * along with libheif.  If not, see <http://www.gnu.org/licenses/>.
  */

-#ifndef LIBHEIF_UNC_ENCODER_RGB3_RGBA_H
-#define LIBHEIF_UNC_ENCODER_RGB3_RGBA_H
+#ifndef LIBHEIF_UNC_ENCODER_RGB_PIXEL_INTERLEAVE_H
+#define LIBHEIF_UNC_ENCODER_RGB_PIXEL_INTERLEAVE_H
 #include "unc_encoder.h"


-class unc_encoder_rgb3_rgba : public unc_encoder
+class unc_encoder_rgb_pixel_interleave : public unc_encoder
 {
 public:
-  unc_encoder_rgb3_rgba(const std::shared_ptr<const HeifPixelImage>& image,
-                        const heif_encoding_options& options);
+  unc_encoder_rgb_pixel_interleave(const std::shared_ptr<const HeifPixelImage>& image,
+                                   const heif_encoding_options& options);

   uint64_t compute_tile_data_size_bytes(uint32_t tile_width, uint32_t tile_height) const override;

@@ -38,7 +38,7 @@ private:
 };


-class unc_encoder_factory_rgb3_rgba : public unc_encoder_factory
+class unc_encoder_factory_rgb_pixel_interleave : public unc_encoder_factory
 {
 public:

@@ -50,4 +50,4 @@ private:
                                             const heif_encoding_options& options) const override;
 };

-#endif //LIBHEIF_UNC_ENCODER_RGB3_RGBA_H
+#endif //LIBHEIF_UNC_ENCODER_RGB_PIXEL_INTERLEAVE_H