Commit ed83a6d0 for libheif

commit ed83a6d0acf09422bf8555122b228176880a3aa2
Merge: a1de57a6 3091af2e
Author: Dirk Farin <dirk.farin@gmail.com>
Date:   Sun Dec 21 23:24:49 2025 +0100

    Merge branch 'master' into text_elng_2025-07-22

diff --cc libheif/Doxyfile.in
index 894a8bbb,6d3d4059..0d6c1308
--- a/libheif/Doxyfile.in
+++ b/libheif/Doxyfile.in
@@@ -856,10 -856,12 +856,13 @@@ WARN_LOGFILE
  # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
  # Note: If this tag is empty the current directory is searched.

- INPUT                  = @CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif.h \
+ INPUT = @CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif.h \
  @CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif_items.h \
 -@CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif_library.h \
  @CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif_regions.h \
 +@CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif_text.h
++@CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif_library.h \
+ @CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif_encoding.h \
+ @CMAKE_CURRENT_SOURCE_DIR@/libheif/api/libheif/heif_sequences.h

  # This tag can be used to specify the character encoding of the source files
  # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --cc libheif/api/libheif/heif_text.cc
index fc24afbf,12273421..0b44d692
--- a/libheif/api/libheif/heif_text.cc
+++ b/libheif/api/libheif/heif_text.cc
@@@ -26,11 -25,10 +26,11 @@@
  #include <algorithm>
  #include <cstring>
  #include <memory>
 -#include <utility>
  #include <string>
 +#include <utility>
 +#include <vector>

- struct heif_error heif_image_handle_add_text_item(heif_image_handle *image_handle,
+ heif_error heif_image_handle_add_text_item(heif_image_handle *image_handle,
                                             const char *content_type,
                                             const char *text,
                                             heif_text_item** out_text_item)
diff --cc libheif/box.cc
index f2b41cb9,b47f289e..27602ff7
--- a/libheif/box.cc
+++ b/libheif/box.cc
@@@ -4995,30 -5048,33 +5053,62 @@@ Error Box_itai::parse(BitstreamRange& r
    return range.get_error();
  }

 +Error Box_elng::parse(BitstreamRange& range, const heif_security_limits* limits)
 +{
 +  parse_full_box_header(range);
 +
 +  if (get_version() > 0) {
 +    return unsupported_version_error("elng");
 +  }
 +
 +  m_lang = range.read_string();
 +  return range.get_error();
 +}
 +
 +std::string Box_elng::dump(Indent& indent) const
 +{
 +  std::ostringstream sstr;
 +  sstr << Box::dump(indent);
 +  sstr << indent << "extended_language: " << m_lang << "\n";
 +  return sstr.str();
 +}
 +
 +Error Box_elng::write(StreamWriter& writer) const
 +{
 +  size_t box_start = reserve_box_header_space(writer);
 +  writer.write(m_lang);
 +  prepend_header(writer, box_start);
 +  return Error::Ok;
 +}
++
+
+ Error Box_gimi_content_id::parse(BitstreamRange& range, const heif_security_limits* limits)
+ {
+   m_content_id = range.read_string_until_eof();
+
+   return range.get_error();
+ }
+
+
+ Error Box_gimi_content_id::write(StreamWriter& writer) const
+ {
+   size_t box_start = reserve_box_header_space(writer);
+
+   writer.write(m_content_id, false);
+
+   prepend_header(writer, box_start);
+
+   return Error::Ok;
+ }
+
+
+ std::string Box_gimi_content_id::dump(Indent& indent) const
+ {
+   std::ostringstream sstr;
+   sstr << Box::dump(indent);
+
+   sstr << indent << "content ID: " << m_content_id << "\n";
+
+   return sstr.str();
+ }
++