Commit 9ae99aca for libheif
commit 9ae99aca666b96be381803d3354aaed0fbe4b403
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Mon Feb 9 18:13:55 2026 +0100
unci: implement decoder for pixel-interleaving with block grouping
diff --git a/libheif/CMakeLists.txt b/libheif/CMakeLists.txt
index 4b02353a..ef4aa42a 100644
--- a/libheif/CMakeLists.txt
+++ b/libheif/CMakeLists.txt
@@ -301,6 +301,8 @@ if (WITH_UNCOMPRESSED_CODEC)
codecs/uncompressed/unc_decoder_component_interleave.cc
codecs/uncompressed/unc_decoder_pixel_interleave.h
codecs/uncompressed/unc_decoder_pixel_interleave.cc
+ codecs/uncompressed/unc_decoder_block_pixel_interleave.h
+ codecs/uncompressed/unc_decoder_block_pixel_interleave.cc
codecs/uncompressed/unc_decoder_mixed_interleave.h
codecs/uncompressed/unc_decoder_mixed_interleave.cc
codecs/uncompressed/unc_decoder_row_interleave.h
diff --git a/libheif/codecs/uncompressed/unc_decoder.cc b/libheif/codecs/uncompressed/unc_decoder.cc
index 59a11cf7..6e85cbd2 100644
--- a/libheif/codecs/uncompressed/unc_decoder.cc
+++ b/libheif/codecs/uncompressed/unc_decoder.cc
@@ -27,6 +27,7 @@
#include "unc_decoder_pixel_interleave.h"
#include "unc_decoder_mixed_interleave.h"
#include "unc_decoder_row_interleave.h"
+#include "unc_decoder_block_pixel_interleave.h"
#include "unc_codec.h"
#include "unc_boxes.h"
#include "compression.h"
@@ -337,11 +338,12 @@ Result<std::unique_ptr<unc_decoder>> unc_decoder_factory::get_unc_decoder(
{
static unc_decoder_factory_component_interleave dec_component;
static unc_decoder_factory_pixel_interleave dec_pixel;
+ static unc_decoder_factory_block_pixel_interleave dec_block_pixel;
static unc_decoder_factory_mixed_interleave dec_mixed;
static unc_decoder_factory_row_interleave dec_row;
static const unc_decoder_factory* decoders[]{
- &dec_component, &dec_pixel, &dec_mixed, &dec_row
+ &dec_component, &dec_pixel, &dec_block_pixel, &dec_mixed, &dec_row
};
for (const unc_decoder_factory* dec : decoders) {