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