Commit 214b1601 for libheif
commit 214b160186b16d0229ab3495c0dfa39961b00a20
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Sat May 2 14:53:47 2026 +0200
add heif_image_get_component_datatype()
diff --git a/libheif/api/libheif/heif_uncompressed.cc b/libheif/api/libheif/heif_uncompressed.cc
index 6dd876bc..f9547533 100644
--- a/libheif/api/libheif/heif_uncompressed.cc
+++ b/libheif/api/libheif/heif_uncompressed.cc
@@ -691,6 +691,15 @@ uint16_t heif_image_get_component_type(const heif_image* image, uint32_t compone
}
+heif_component_datatype heif_image_get_component_datatype(const heif_image* image, uint32_t component_idx)
+{
+ if (!image || !image->image) {
+ return heif_component_datatype_undefined;
+ }
+ return image->image->get_component_datatype(component_idx);
+}
+
+
heif_error heif_image_add_component(heif_image* image,
int width, int height,
uint16_t component_type,
diff --git a/libheif/api/libheif/heif_uncompressed.h b/libheif/api/libheif/heif_uncompressed.h
index 72d68b0f..8bce4ac9 100644
--- a/libheif/api/libheif/heif_uncompressed.h
+++ b/libheif/api/libheif/heif_uncompressed.h
@@ -311,6 +311,11 @@ int heif_image_get_component_bits_per_pixel(const heif_image*, uint32_t componen
LIBHEIF_API
uint16_t heif_image_get_component_type(const heif_image*, uint32_t component_idx);
+// Returns the datatype (unsigned/signed integer, floating point, or complex
+// number) of the given component.
+LIBHEIF_API
+heif_component_datatype heif_image_get_component_datatype(const heif_image*, uint32_t component_idx);
+
// TODO
//LIBHEIF_API
//heif_error heif_image_get_component_indices_of_interleaved_channel(const heif_image* image, uint32_t* component_indices, uint8_t* nComponents_in_out);