Commit ed7aaae1 for libheif
commit ed7aaae11ad5ecdfb8e418244aecf6a951292597
Author: Dirk Farin <dirk.farin@gmail.com>
Date: Tue Feb 17 00:34:22 2026 +0100
add public API to set GIMI content ID to image handles (e.g. for grid images)
diff --git a/libheif/api/libheif/heif_image_handle.cc b/libheif/api/libheif/heif_image_handle.cc
index 9080ce4a..751f56f4 100644
--- a/libheif/api/libheif/heif_image_handle.cc
+++ b/libheif/api/libheif/heif_image_handle.cc
@@ -20,6 +20,7 @@
#include "heif_image_handle.h"
#include "api_structs.h"
+#include "box.h"
#include <climits>
#include <string>
@@ -175,3 +176,12 @@ const char* heif_image_handle_get_gimi_content_id(const heif_image_handle* handl
strcpy(idstring, id.c_str());
return idstring;
}
+
+
+void heif_image_handle_set_gimi_content_id(heif_image_handle* handle, const char* content_id)
+{
+ auto gimi_box = std::make_shared<Box_gimi_content_id>();
+ gimi_box->set_content_id(content_id);
+ handle->context->add_property(handle->image->get_id(), gimi_box, false);
+ handle->image->set_gimi_sample_content_id(content_id);
+}
diff --git a/libheif/api/libheif/heif_image_handle.h b/libheif/api/libheif/heif_image_handle.h
index 9e5a152f..d14dae02 100644
--- a/libheif/api/libheif/heif_image_handle.h
+++ b/libheif/api/libheif/heif_image_handle.h
@@ -122,6 +122,9 @@ heif_context* heif_image_handle_get_context(const heif_image_handle* handle);
LIBHEIF_API
const char* heif_image_handle_get_gimi_content_id(const heif_image_handle* handle);
+LIBHEIF_API
+void heif_image_handle_set_gimi_content_id(heif_image_handle* handle, const char* content_id);
+
#ifdef __cplusplus
}
#endif