Commit 73e90b02 for libheif
commit 73e90b0231c824243812c71a5712427e186e3412
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Thu May 28 12:28:28 2026 +0200
add heif_image_handle_has_content_light_level / heif_image_handle_has_mastering_display_colour_volume
diff --git a/libheif/api/libheif/heif_color.cc b/libheif/api/libheif/heif_color.cc
index 89daa587..86b563d3 100644
--- a/libheif/api/libheif/heif_color.cc
+++ b/libheif/api/libheif/heif_color.cc
@@ -433,6 +433,12 @@ int heif_image_has_content_light_level(const heif_image* image)
}
+int heif_image_handle_has_content_light_level(const heif_image_handle* handle)
+{
+ return handle->image->get_property<Box_clli>() ? 1 : 0;
+}
+
+
void heif_image_get_content_light_level(const heif_image* image, heif_content_light_level* out)
{
if (out) {
@@ -481,6 +487,12 @@ int heif_image_has_mastering_display_colour_volume(const heif_image* image)
}
+int heif_image_handle_has_mastering_display_colour_volume(const heif_image_handle* handle)
+{
+ return handle->image->get_property<Box_mdcv>() ? 1 : 0;
+}
+
+
void heif_image_get_mastering_display_colour_volume(const heif_image* image, heif_mastering_display_colour_volume* out)
{
*out = image->image->get_mdcv();
diff --git a/libheif/api/libheif/heif_color.h b/libheif/api/libheif/heif_color.h
index 21b8f183..64e40f7b 100644
--- a/libheif/api/libheif/heif_color.h
+++ b/libheif/api/libheif/heif_color.h
@@ -287,12 +287,14 @@ typedef struct heif_content_light_level
LIBHEIF_API
int heif_image_has_content_light_level(const heif_image*);
+LIBHEIF_API
+int heif_image_handle_has_content_light_level(const heif_image_handle*);
+
+// TODO: this function should also return 'int' to be consistent to heif_image_handle_get_content_light_level.
LIBHEIF_API
void heif_image_get_content_light_level(const heif_image*, heif_content_light_level* out);
// Returns whether the image has 'content light level' information. If 0 is returned, the output is not filled.
-// TODO: provide consistent API between heif_image and heif_image_handle. Add a _handle_has_content_light_level and
-// return int from _image_get_content_light_level.
LIBHEIF_API
int heif_image_handle_get_content_light_level(const heif_image_handle*, heif_content_light_level* out);
@@ -337,6 +339,9 @@ typedef struct heif_ambient_viewing_environment
LIBHEIF_API
int heif_image_has_mastering_display_colour_volume(const heif_image*);
+LIBHEIF_API
+int heif_image_handle_has_mastering_display_colour_volume(const heif_image_handle*);
+
LIBHEIF_API
void heif_image_get_mastering_display_colour_volume(const heif_image*, heif_mastering_display_colour_volume* out);