@img/sharp-libvips-dev-wasm32 1.3.0-rc.2 → 1.3.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/include/expat.h +2 -2
  2. package/include/expat_config.h +3 -6
  3. package/include/expat_external.h +2 -3
  4. package/include/glib-2.0/gio/gfileattribute.h +1 -1
  5. package/include/glib-2.0/gio/gfileinfo.h +5 -0
  6. package/include/glib-2.0/gio/gicon.h +1 -1
  7. package/include/glib-2.0/gio/gio-autocleanups.h +0 -1
  8. package/include/glib-2.0/gio/gio.h +2 -0
  9. package/include/glib-2.0/gio/gioenums.h +61 -40
  10. package/include/glib-2.0/gio/gioenumtypes.h +2 -0
  11. package/include/glib-2.0/gio/giptosmessage.h +46 -0
  12. package/include/glib-2.0/gio/gipv6tclassmessage.h +46 -0
  13. package/include/glib-2.0/gio/gresolver.h +1 -1
  14. package/include/glib-2.0/gio/gsettings.h +1 -1
  15. package/include/glib-2.0/gio/gsocketcontrolmessage.h +2 -0
  16. package/include/glib-2.0/glib/gatomic.h +26 -2
  17. package/include/glib-2.0/glib/gfileutils.h +2 -2
  18. package/include/glib-2.0/glib/ghook.h +3 -1
  19. package/include/glib-2.0/glib/giochannel.h +1 -1
  20. package/include/glib-2.0/glib/gkeyfile.h +1 -1
  21. package/include/glib-2.0/glib/gmacros.h +32 -0
  22. package/include/glib-2.0/glib/gmain.h +4 -0
  23. package/include/glib-2.0/glib/gmarkup.h +8 -1
  24. package/include/glib-2.0/glib/gmessages.h +1 -1
  25. package/include/glib-2.0/glib/gnode.h +1 -1
  26. package/include/glib-2.0/glib/goption.h +1 -1
  27. package/include/glib-2.0/glib/gslice.h +4 -4
  28. package/include/glib-2.0/glib/gspawn.h +1 -1
  29. package/include/glib-2.0/glib/gstrfuncs.h +1 -1
  30. package/include/glib-2.0/glib/gtestutils.h +6 -3
  31. package/include/glib-2.0/glib/gtimer.h +1 -0
  32. package/include/glib-2.0/glib/guri.h +3 -3
  33. package/include/glib-2.0/glib/gutils.h +1 -1
  34. package/include/glib-2.0/gmodule.h +1 -1
  35. package/include/glib-2.0/gobject/gbinding.h +1 -1
  36. package/include/glib-2.0/gobject/gobject.h +1 -1
  37. package/include/glib-2.0/gobject/gparam.h +1 -1
  38. package/include/glib-2.0/gobject/gsignal.h +3 -3
  39. package/include/glib-2.0/gobject/gtype.h +3 -3
  40. package/include/lcms2.h +3 -3
  41. package/include/lcms2_plugin.h +1 -1
  42. package/include/libheif/heif_brands.h +3 -0
  43. package/include/libheif/heif_color.h +6 -0
  44. package/include/libheif/heif_cxx.h +10 -8
  45. package/include/libheif/heif_decoding.h +10 -0
  46. package/include/libheif/heif_encoding.h +6 -2
  47. package/include/libheif/heif_error.h +2 -0
  48. package/include/libheif/heif_image.h +4 -1
  49. package/include/libheif/heif_image_handle.h +10 -1
  50. package/include/libheif/heif_items.h +24 -1
  51. package/include/libheif/heif_library.h +3 -0
  52. package/include/libheif/heif_metadata.h +3 -0
  53. package/include/libheif/heif_plugin.h +63 -3
  54. package/include/libheif/heif_properties.h +5 -1
  55. package/include/libheif/heif_regions.h +3 -1
  56. package/include/libheif/heif_security.h +5 -0
  57. package/include/libheif/heif_sequences.h +71 -4
  58. package/include/libheif/heif_text.h +161 -0
  59. package/include/libheif/heif_version.h +2 -2
  60. package/include/libpng16/png.h +636 -487
  61. package/include/libpng16/pngconf.h +2 -2
  62. package/include/libpng16/pnglibconf.h +2 -2
  63. package/include/png.h +636 -487
  64. package/include/pngconf.h +2 -2
  65. package/include/pnglibconf.h +2 -2
  66. package/include/resvg.h +3 -3
  67. package/include/vips/colour.h +2 -2
  68. package/include/vips/memory.h +1 -1
  69. package/include/vips/version.h +4 -4
  70. package/include/zlib.h +3 -3
  71. package/lib/glib-2.0/include/glibconfig.h +1 -1
  72. package/lib/libaom.a +0 -0
  73. package/lib/libcgif.a +0 -0
  74. package/lib/libexif.a +0 -0
  75. package/lib/libexpat.a +0 -0
  76. package/lib/libexpat.la +1 -1
  77. package/lib/libffi.a +0 -0
  78. package/lib/libgio-2.0.a +0 -0
  79. package/lib/libglib-2.0.a +0 -0
  80. package/lib/libgmodule-2.0.a +0 -0
  81. package/lib/libgobject-2.0.a +0 -0
  82. package/lib/libgthread-2.0.a +0 -0
  83. package/lib/libheif.a +0 -0
  84. package/lib/libhwy.a +0 -0
  85. package/lib/libimagequant.a +0 -0
  86. package/lib/libjpeg.a +0 -0
  87. package/lib/liblcms2.a +0 -0
  88. package/lib/libpng.a +0 -0
  89. package/lib/libpng.la +2 -2
  90. package/lib/libpng16.a +0 -0
  91. package/lib/libpng16.la +2 -2
  92. package/lib/libresvg.a +0 -0
  93. package/lib/libsharpyuv.a +0 -0
  94. package/lib/libtiff.a +0 -0
  95. package/lib/libuhdr.a +0 -0
  96. package/lib/libvips-cpp.a +0 -0
  97. package/lib/libvips.a +0 -0
  98. package/lib/libwebp.a +0 -0
  99. package/lib/libwebpdemux.a +0 -0
  100. package/lib/libwebpmux.a +0 -0
  101. package/lib/libz.a +0 -0
  102. package/lib/pkgconfig/cgif.pc +1 -1
  103. package/lib/pkgconfig/expat.pc +1 -1
  104. package/lib/pkgconfig/gio-2.0.pc +1 -1
  105. package/lib/pkgconfig/glib-2.0.pc +1 -1
  106. package/lib/pkgconfig/gmodule-2.0.pc +1 -1
  107. package/lib/pkgconfig/gmodule-export-2.0.pc +1 -1
  108. package/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
  109. package/lib/pkgconfig/gobject-2.0.pc +1 -1
  110. package/lib/pkgconfig/gthread-2.0.pc +1 -1
  111. package/lib/pkgconfig/lcms2.pc +1 -1
  112. package/lib/pkgconfig/libheif.pc +1 -1
  113. package/lib/pkgconfig/libpng.pc +1 -1
  114. package/lib/pkgconfig/libpng16.pc +1 -1
  115. package/lib/pkgconfig/vips-cpp.pc +1 -1
  116. package/lib/pkgconfig/vips.pc +1 -1
  117. package/package.json +1 -1
  118. package/versions.json +10 -10
@@ -350,6 +350,14 @@ G_END_DECLS
350
350
  __asm__ __volatile__ ("" : : : "memory"); \
351
351
  gaig_result; \
352
352
  }))
353
+ #if defined(_GLIB_GCC_HAVE_SYNC_SWAP)
354
+ #define g_atomic_int_set(atomic, newval) \
355
+ (G_GNUC_EXTENSION ({ \
356
+ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \
357
+ (void) (0 ? *(atomic) ^ (newval) : 1); \
358
+ (void) __sync_swap ((atomic), (newval)); \
359
+ }))
360
+ #else /* !_GLIB_GCC_HAVE_SYNC_SWAP */
353
361
  #define g_atomic_int_set(atomic, newval) \
354
362
  (G_GNUC_EXTENSION ({ \
355
363
  G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gint)); \
@@ -357,7 +365,10 @@ G_END_DECLS
357
365
  __sync_synchronize (); \
358
366
  __asm__ __volatile__ ("" : : : "memory"); \
359
367
  *(atomic) = (newval); \
368
+ __asm__ __volatile__ ("" : : : "memory"); \
369
+ __sync_synchronize (); \
360
370
  }))
371
+ #endif /* !_GLIB_GCC_HAVE_SYNC_SWAP */
361
372
  #define g_atomic_pointer_get(atomic) \
362
373
  (G_GNUC_EXTENSION ({ \
363
374
  gpointer gapg_result; \
@@ -367,6 +378,14 @@ G_END_DECLS
367
378
  __asm__ __volatile__ ("" : : : "memory"); \
368
379
  gapg_result; \
369
380
  }))
381
+ #if defined(_GLIB_GCC_HAVE_SYNC_SWAP)
382
+ #define g_atomic_pointer_set(atomic, newval) \
383
+ (G_GNUC_EXTENSION ({ \
384
+ G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \
385
+ (void) (0 ? (gpointer) *(atomic) : NULL); \
386
+ (void) __sync_swap ((atomic), (newval)); \
387
+ }))
388
+ #else /* ! _GLIB_GCC_HAVE_SYNC_SWAP */
370
389
  #if defined(glib_typeof)
371
390
  #define g_atomic_pointer_set(atomic, newval) \
372
391
  (G_GNUC_EXTENSION ({ \
@@ -375,8 +394,10 @@ G_END_DECLS
375
394
  __sync_synchronize (); \
376
395
  __asm__ __volatile__ ("" : : : "memory"); \
377
396
  *(atomic) = (glib_typeof (*(atomic))) (guintptr) (newval); \
397
+ __asm__ __volatile__ ("" : : : "memory"); \
398
+ __sync_synchronize (); \
378
399
  }))
379
- #else /* if !(defined(glib_typeof) */
400
+ #else /* ! glib_typeof */
380
401
  #define g_atomic_pointer_set(atomic, newval) \
381
402
  (G_GNUC_EXTENSION ({ \
382
403
  G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \
@@ -384,8 +405,11 @@ G_END_DECLS
384
405
  __sync_synchronize (); \
385
406
  __asm__ __volatile__ ("" : : : "memory"); \
386
407
  *(atomic) = (gpointer) (guintptr) (newval); \
408
+ __asm__ __volatile__ ("" : : : "memory"); \
409
+ __sync_synchronize (); \
387
410
  }))
388
- #endif /* if defined(glib_typeof) */
411
+ #endif /* ! glib_typeof */
412
+ #endif /* ! _GLIB_GCC_HAVE_SYNC_SWAP */
389
413
 
390
414
  #define g_atomic_int_inc(atomic) \
391
415
  (G_GNUC_EXTENSION ({ \
@@ -72,7 +72,7 @@ typedef enum
72
72
  G_FILE_TEST_IS_DIR = 1 << 2,
73
73
  G_FILE_TEST_IS_EXECUTABLE = 1 << 3,
74
74
  G_FILE_TEST_EXISTS = 1 << 4
75
- } GFileTest;
75
+ } G_GNUC_FLAG_ENUM GFileTest;
76
76
 
77
77
  /**
78
78
  * GFileSetContentsFlags:
@@ -104,7 +104,7 @@ typedef enum
104
104
  G_FILE_SET_CONTENTS_CONSISTENT = 1 << 0,
105
105
  G_FILE_SET_CONTENTS_DURABLE = 1 << 1,
106
106
  G_FILE_SET_CONTENTS_ONLY_EXISTING = 1 << 2
107
- } GFileSetContentsFlags
107
+ } G_GNUC_FLAG_ENUM GFileSetContentsFlags
108
108
  GLIB_AVAILABLE_ENUMERATOR_IN_2_66;
109
109
 
110
110
  GLIB_AVAILABLE_IN_ALL
@@ -56,8 +56,10 @@ typedef enum
56
56
  {
57
57
  G_HOOK_FLAG_ACTIVE = 1 << 0,
58
58
  G_HOOK_FLAG_IN_CALL = 1 << 1,
59
+ G_HOOK_FLAG_RESERVED1 = 1 << 2, /*< private >*/
60
+ G_HOOK_FLAG_RESERVED2 = 1 << 3, /*< private >*/
59
61
  G_HOOK_FLAG_MASK = 0x0f
60
- } GHookFlagMask;
62
+ } G_GNUC_FLAG_ENUM GHookFlagMask;
61
63
  #define G_HOOK_FLAG_USER_SHIFT (4)
62
64
 
63
65
 
@@ -95,7 +95,7 @@ typedef enum
95
95
  G_IO_FLAG_MASK = (1 << 5) - 1,
96
96
  G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK,
97
97
  G_IO_FLAG_SET_MASK = G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK
98
- } GIOFlags;
98
+ } G_GNUC_FLAG_ENUM GIOFlags;
99
99
 
100
100
  struct _GIOChannel
101
101
  {
@@ -54,7 +54,7 @@ typedef enum
54
54
  G_KEY_FILE_NONE = 0,
55
55
  G_KEY_FILE_KEEP_COMMENTS = 1 << 0,
56
56
  G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1
57
- } GKeyFileFlags;
57
+ } G_GNUC_FLAG_ENUM GKeyFileFlags;
58
58
 
59
59
  GLIB_AVAILABLE_IN_ALL
60
60
  GKeyFile *g_key_file_new (void);
@@ -779,6 +779,38 @@
779
779
  #define GLIB_CANNOT_IGNORE_DEPRECATIONS
780
780
  #endif
781
781
 
782
+ /**
783
+ * G_GNUC_FLAG_ENUM:
784
+ *
785
+ * Expands to the GNU C `flag_enum` attribute if the compiler is gcc or clang.
786
+ * This attribute indicates that an enumerated type is used in bitwise
787
+ * operations.
788
+ * It is sometimes used in static analysis.
789
+ *
790
+ * See the
791
+ * [GNU C documentation](https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-flag_005fenum-type-attribute)
792
+ * for details.
793
+ *
794
+ * |[<!-- language="C" -->
795
+ * typedef enum {
796
+ * G_KEY_FILE_NONE = 0,
797
+ * G_KEY_FILE_KEEP_COMMENTS = 1 << 0,
798
+ * G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1
799
+ * } G_GNUC_FLAG_ENUM GKeyFileFlags;
800
+ * ]|
801
+ *
802
+ * (The attribute can also be placed after `enum` and before the opening brace,
803
+ * but that may cause it to be misinterpreted as the name of the enum if the
804
+ * macro is not defined.)
805
+ *
806
+ * Since: 2.88
807
+ */
808
+ #if g_macro__has_attribute(flag_enum)
809
+ #define G_GNUC_FLAG_ENUM __attribute__((flag_enum))
810
+ #else
811
+ #define G_GNUC_FLAG_ENUM
812
+ #endif
813
+
782
814
  /**
783
815
  * G_GNUC_MAY_ALIAS:
784
816
  *
@@ -28,6 +28,8 @@
28
28
  #include <glib/gslist.h>
29
29
  #include <glib/gthread.h>
30
30
 
31
+ #include <stdint.h>
32
+
31
33
  G_BEGIN_DECLS
32
34
 
33
35
  typedef enum /*< flags >*/
@@ -830,6 +832,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS
830
832
 
831
833
  GLIB_AVAILABLE_IN_ALL
832
834
  gint64 g_get_monotonic_time (void);
835
+ GLIB_AVAILABLE_IN_2_88
836
+ uint64_t g_get_monotonic_time_ns (void);
833
837
  GLIB_AVAILABLE_IN_ALL
834
838
  gint64 g_get_real_time (void);
835
839
 
@@ -102,7 +102,7 @@ typedef enum
102
102
  G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1,
103
103
  G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2,
104
104
  G_MARKUP_IGNORE_QUALIFIED = 1 << 3
105
- } GMarkupParseFlags;
105
+ } G_GNUC_FLAG_ENUM GMarkupParseFlags;
106
106
 
107
107
  /**
108
108
  * GMarkupParseContext:
@@ -229,6 +229,13 @@ void g_markup_parse_context_get_position (GMarkupParseContext *c
229
229
  gint *char_number);
230
230
  GLIB_AVAILABLE_IN_2_88
231
231
  gsize g_markup_parse_context_get_offset (GMarkupParseContext *context);
232
+
233
+ GLIB_AVAILABLE_IN_2_88
234
+ void g_markup_parse_context_get_tag_start (GMarkupParseContext *context,
235
+ gsize *line_number,
236
+ gsize *char_number,
237
+ gsize *offset);
238
+
232
239
  GLIB_AVAILABLE_IN_ALL
233
240
  gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context);
234
241
 
@@ -67,7 +67,7 @@ typedef enum
67
67
  G_LOG_LEVEL_DEBUG = 1 << 7,
68
68
 
69
69
  G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
70
- } GLogLevelFlags;
70
+ } G_GNUC_FLAG_ENUM GLogLevelFlags;
71
71
 
72
72
  /* GLib log levels that are considered fatal by default */
73
73
  #define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
@@ -46,7 +46,7 @@ typedef enum
46
46
  G_TRAVERSE_MASK = 0x03,
47
47
  G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES,
48
48
  G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES
49
- } GTraverseFlags;
49
+ } G_GNUC_FLAG_ENUM GTraverseFlags;
50
50
 
51
51
  /* Tree traverse orders */
52
52
  typedef enum
@@ -111,7 +111,7 @@ typedef enum
111
111
  G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5,
112
112
  G_OPTION_FLAG_NOALIAS = 1 << 6,
113
113
  G_OPTION_FLAG_DEPRECATED GLIB_AVAILABLE_ENUMERATOR_IN_2_84 = 1 << 7
114
- } GOptionFlags;
114
+ } G_GNUC_FLAG_ENUM GOptionFlags;
115
115
 
116
116
  /**
117
117
  * GOptionArg:
@@ -45,21 +45,21 @@ GLIB_AVAILABLE_IN_ALL
45
45
  void g_slice_free_chain_with_offset (gsize block_size,
46
46
  gpointer mem_chain,
47
47
  gsize next_offset);
48
- #define g_slice_new(type) ((type*) g_slice_alloc (sizeof (type)))
48
+ #define g_slice_new(type) ((type*) g_slice_alloc (MAX (sizeof (type), 1)))
49
49
 
50
50
  /* Allow the compiler to inline memset(). Since the size is a constant, this
51
51
  * can significantly improve performance. */
52
52
  #if defined (__GNUC__) && (__GNUC__ >= 2) && defined (__OPTIMIZE__)
53
53
  # define g_slice_new0(type) \
54
54
  (type *) (G_GNUC_EXTENSION ({ \
55
- gsize __s = sizeof (type); \
55
+ gsize __s = MAX (sizeof (type), 1); \
56
56
  gpointer __p; \
57
57
  __p = g_slice_alloc (__s); \
58
58
  memset (__p, 0, __s); \
59
59
  __p; \
60
60
  }))
61
61
  #else
62
- # define g_slice_new0(type) ((type*) g_slice_alloc0 (sizeof (type)))
62
+ # define g_slice_new0(type) ((type*) g_slice_alloc0 (MAX (sizeof (type), 1)))
63
63
  #endif
64
64
 
65
65
  /* MemoryBlockType *
@@ -76,7 +76,7 @@ void g_slice_free_chain_with_offset (gsize block_size,
76
76
 
77
77
  /* we go through extra hoops to ensure type safety */
78
78
  #define g_slice_dup(type, mem) \
79
- (1 ? (type*) g_slice_copy (sizeof (type), (mem)) \
79
+ (1 ? (type*) g_slice_copy (MAX (sizeof (type), 1), (mem)) \
80
80
  : ((void) ((type*) 0 == (mem)), (type*) 0))
81
81
  #define g_slice_free(type, mem) \
82
82
  G_STMT_START { \
@@ -214,7 +214,7 @@ typedef enum
214
214
  * Since: 2.74
215
215
  */
216
216
  G_SPAWN_STDIN_FROM_DEV_NULL = 1 << 11
217
- } GSpawnFlags;
217
+ } G_GNUC_FLAG_ENUM GSpawnFlags;
218
218
 
219
219
  GLIB_AVAILABLE_IN_ALL
220
220
  GQuark g_spawn_error_quark (void);
@@ -54,7 +54,7 @@ typedef enum {
54
54
  G_ASCII_SPACE = 1 << 8,
55
55
  G_ASCII_UPPER = 1 << 9,
56
56
  G_ASCII_XDIGIT = 1 << 10
57
- } GAsciiType;
57
+ } G_GNUC_FLAG_ENUM GAsciiType;
58
58
 
59
59
  GLIB_VAR const guint16 * const g_ascii_table;
60
60
 
@@ -526,7 +526,7 @@ typedef enum {
526
526
  G_TEST_TRAP_SILENCE_STDOUT = 1 << 7,
527
527
  G_TEST_TRAP_SILENCE_STDERR = 1 << 8,
528
528
  G_TEST_TRAP_INHERIT_STDIN = 1 << 9
529
- } GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags);
529
+ } G_GNUC_FLAG_ENUM GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags);
530
530
 
531
531
  G_GNUC_BEGIN_IGNORE_DEPRECATIONS
532
532
 
@@ -540,8 +540,9 @@ typedef enum {
540
540
  G_TEST_SUBPROCESS_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
541
541
  G_TEST_SUBPROCESS_INHERIT_STDIN = 1 << 0,
542
542
  G_TEST_SUBPROCESS_INHERIT_STDOUT = 1 << 1,
543
- G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2
544
- } GTestSubprocessFlags;
543
+ G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2,
544
+ G_TEST_SUBPROCESS_INHERIT_DESCRIPTORS GLIB_AVAILABLE_ENUMERATOR_IN_2_88 = 1 << 3,
545
+ } G_GNUC_FLAG_ENUM GTestSubprocessFlags;
545
546
 
546
547
  GLIB_AVAILABLE_IN_2_38
547
548
  void g_test_trap_subprocess (const char *test_path,
@@ -555,6 +556,8 @@ void g_test_trap_subprocess_with_envp (const char *test_path,
555
556
 
556
557
  GLIB_AVAILABLE_IN_ALL
557
558
  gboolean g_test_trap_has_passed (void);
559
+ GLIB_AVAILABLE_IN_2_88
560
+ gboolean g_test_trap_has_skipped (void);
558
561
  GLIB_AVAILABLE_IN_ALL
559
562
  gboolean g_test_trap_reached_timeout (void);
560
563
  #define g_test_trap_assert_passed() g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 0, 0)
@@ -42,6 +42,7 @@ G_BEGIN_DECLS
42
42
  typedef struct _GTimer GTimer;
43
43
 
44
44
  #define G_USEC_PER_SEC 1000000
45
+ #define G_NSEC_PER_SEC G_GUINT64_CONSTANT(1000000000) GLIB_AVAILABLE_MACRO_IN_2_88
45
46
 
46
47
  GLIB_AVAILABLE_IN_ALL
47
48
  GTimer* g_timer_new (void);
@@ -90,7 +90,7 @@ typedef enum {
90
90
  G_URI_FLAGS_ENCODED_PATH = 1 << 6,
91
91
  G_URI_FLAGS_ENCODED_FRAGMENT = 1 << 7,
92
92
  G_URI_FLAGS_SCHEME_NORMALIZE GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = 1 << 8,
93
- } GUriFlags;
93
+ } G_GNUC_FLAG_ENUM GUriFlags;
94
94
 
95
95
  GLIB_AVAILABLE_IN_2_66
96
96
  gboolean g_uri_split (const gchar *uri_ref,
@@ -211,7 +211,7 @@ typedef enum {
211
211
  G_URI_HIDE_AUTH_PARAMS = 1 << 2,
212
212
  G_URI_HIDE_QUERY = 1 << 3,
213
213
  G_URI_HIDE_FRAGMENT = 1 << 4,
214
- } GUriHideFlags;
214
+ } G_GNUC_FLAG_ENUM GUriHideFlags;
215
215
 
216
216
  GLIB_AVAILABLE_IN_2_66
217
217
  char * g_uri_to_string (GUri *uri);
@@ -261,7 +261,7 @@ typedef enum {
261
261
  G_URI_PARAMS_CASE_INSENSITIVE = 1 << 0,
262
262
  G_URI_PARAMS_WWW_FORM = 1 << 1,
263
263
  G_URI_PARAMS_PARSE_RELAXED = 1 << 2,
264
- } GUriParamsFlags;
264
+ } G_GNUC_FLAG_ENUM GUriParamsFlags;
265
265
 
266
266
  GLIB_AVAILABLE_IN_2_66
267
267
  GHashTable *g_uri_parse_params (const gchar *params,
@@ -299,7 +299,7 @@ typedef enum
299
299
  G_FORMAT_SIZE_BITS = 1 << 2,
300
300
  G_FORMAT_SIZE_ONLY_VALUE GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 3,
301
301
  G_FORMAT_SIZE_ONLY_UNIT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 1 << 4
302
- } GFormatSizeFlags;
302
+ } G_GNUC_FLAG_ENUM GFormatSizeFlags;
303
303
 
304
304
  GLIB_AVAILABLE_IN_2_30
305
305
  gchar *g_format_size_full (guint64 size,
@@ -65,7 +65,7 @@ typedef enum
65
65
  G_MODULE_BIND_LAZY = 1 << 0,
66
66
  G_MODULE_BIND_LOCAL = 1 << 1,
67
67
  G_MODULE_BIND_MASK = 0x03
68
- } GModuleFlags;
68
+ } G_GNUC_FLAG_ENUM GModuleFlags;
69
69
 
70
70
  typedef struct _GModule GModule;
71
71
  typedef const gchar* (*GModuleCheckInit) (GModule *module);
@@ -94,7 +94,7 @@ typedef enum { /*< prefix=G_BINDING >*/
94
94
  G_BINDING_BIDIRECTIONAL = 1 << 0,
95
95
  G_BINDING_SYNC_CREATE = 1 << 1,
96
96
  G_BINDING_INVERT_BOOLEAN = 1 << 2
97
- } GBindingFlags;
97
+ } G_GNUC_FLAG_ENUM GBindingFlags;
98
98
 
99
99
  GOBJECT_AVAILABLE_IN_ALL
100
100
  GType g_binding_flags_get_type (void) G_GNUC_CONST;
@@ -356,7 +356,7 @@ struct _GObjectClass
356
356
  /*< private >*/
357
357
  gsize flags;
358
358
 
359
- gsize n_construct_properties;
359
+ gsize n_construct_properties; /* functionally this is limited to UINT_MAX */
360
360
 
361
361
  gpointer pspecs;
362
362
  gsize n_pspecs;
@@ -169,7 +169,7 @@ typedef enum
169
169
  G_PARAM_EXPLICIT_NOTIFY = 1 << 30,
170
170
  /* Avoid warning with -Wpedantic for gcc6 */
171
171
  G_PARAM_DEPRECATED = (gint)(1u << 31)
172
- } GParamFlags;
172
+ } G_GNUC_FLAG_ENUM GParamFlags;
173
173
 
174
174
  /**
175
175
  * G_PARAM_STATIC_STRINGS:
@@ -140,7 +140,7 @@ typedef enum
140
140
  G_SIGNAL_DEPRECATED = 1 << 8,
141
141
  /* normal signal flags until 1 << 16 */
142
142
  G_SIGNAL_ACCUMULATOR_FIRST_RUN = 1 << 17,
143
- } GSignalFlags;
143
+ } G_GNUC_FLAG_ENUM GSignalFlags;
144
144
 
145
145
  /**
146
146
  * G_SIGNAL_MUST_COLLECT:
@@ -197,7 +197,7 @@ typedef enum
197
197
  G_CONNECT_DEFAULT GOBJECT_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
198
198
  G_CONNECT_AFTER = 1 << 0,
199
199
  G_CONNECT_SWAPPED = 1 << 1
200
- } GConnectFlags;
200
+ } G_GNUC_FLAG_ENUM GConnectFlags;
201
201
  /**
202
202
  * GSignalMatchType:
203
203
  * @G_SIGNAL_MATCH_ID: The signal id must be equal.
@@ -219,7 +219,7 @@ typedef enum
219
219
  G_SIGNAL_MATCH_FUNC = 1 << 3,
220
220
  G_SIGNAL_MATCH_DATA = 1 << 4,
221
221
  G_SIGNAL_MATCH_UNBLOCKED = 1 << 5
222
- } GSignalMatchType;
222
+ } G_GNUC_FLAG_ENUM GSignalMatchType;
223
223
  /**
224
224
  * G_SIGNAL_MATCH_MASK:
225
225
  *
@@ -728,7 +728,7 @@ typedef enum /*< skip >*/
728
728
  G_TYPE_DEBUG_SIGNALS = 1 << 1,
729
729
  G_TYPE_DEBUG_INSTANCE_COUNT = 1 << 2,
730
730
  G_TYPE_DEBUG_MASK = 0x07
731
- } GTypeDebugFlags GOBJECT_DEPRECATED_TYPE_IN_2_36;
731
+ } G_GNUC_FLAG_ENUM GTypeDebugFlags GOBJECT_DEPRECATED_TYPE_IN_2_36;
732
732
 
733
733
 
734
734
  /* --- prototypes --- */
@@ -1067,7 +1067,7 @@ typedef enum /*< skip >*/
1067
1067
  G_TYPE_FLAG_INSTANTIATABLE = (1 << 1),
1068
1068
  G_TYPE_FLAG_DERIVABLE = (1 << 2),
1069
1069
  G_TYPE_FLAG_DEEP_DERIVABLE = (1 << 3)
1070
- } GTypeFundamentalFlags;
1070
+ } G_GNUC_FLAG_ENUM GTypeFundamentalFlags;
1071
1071
  /**
1072
1072
  * GTypeFlags:
1073
1073
  * @G_TYPE_FLAG_NONE: No special flags. Since: 2.74
@@ -1091,7 +1091,7 @@ typedef enum /*< skip >*/
1091
1091
  G_TYPE_FLAG_VALUE_ABSTRACT = (1 << 5),
1092
1092
  G_TYPE_FLAG_FINAL GOBJECT_AVAILABLE_ENUMERATOR_IN_2_70 = (1 << 6),
1093
1093
  G_TYPE_FLAG_DEPRECATED GOBJECT_AVAILABLE_ENUMERATOR_IN_2_76 = (1 << 7)
1094
- } GTypeFlags;
1094
+ } G_GNUC_FLAG_ENUM GTypeFlags;
1095
1095
  /**
1096
1096
  * GTypeInfo:
1097
1097
  * @class_size: Size of the class structure (required for interface, classed and instantiatable types)
package/include/lcms2.h CHANGED
@@ -1,7 +1,7 @@
1
1
  //---------------------------------------------------------------------------------
2
2
  //
3
3
  // Little Color Management System
4
- // Copyright (c) 1998-2025 Marti Maria Saguer
4
+ // Copyright (c) 1998-2026 Marti Maria Saguer
5
5
  //
6
6
  // Permission is hereby granted, free of charge, to any person obtaining
7
7
  // a copy of this software and associated documentation files (the "Software"),
@@ -23,7 +23,7 @@
23
23
  //
24
24
  //---------------------------------------------------------------------------------
25
25
  //
26
- // Version 2.17
26
+ // Version 2.18
27
27
  //
28
28
 
29
29
  #ifndef _lcms2_H
@@ -87,7 +87,7 @@ extern "C" {
87
87
  #endif
88
88
 
89
89
  // Version/release
90
- #define LCMS_VERSION 2170
90
+ #define LCMS_VERSION 2180
91
91
 
92
92
  // I will give the chance of redefining basic types for compilers that are not fully C99 compliant
93
93
  #ifndef CMS_BASIC_TYPES_ALREADY_DEFINED
@@ -1,7 +1,7 @@
1
1
  //---------------------------------------------------------------------------------
2
2
  //
3
3
  // Little Color Management System
4
- // Copyright (c) 1998-2024 Marti Maria Saguer
4
+ // Copyright (c) 1998-2026 Marti Maria Saguer
5
5
  //
6
6
  // Permission is hereby granted, free of charge, to any person obtaining
7
7
  // a copy of this software and associated documentation files (the "Software"),
@@ -251,6 +251,9 @@ typedef uint32_t heif_brand2;
251
251
  #define heif_brand2_avcs heif_fourcc('a','v','c','s')
252
252
 
253
253
  #define heif_brand2_iso8 heif_fourcc('i','s','o','8')
254
+ #define heif_brand2_isom heif_fourcc('i','s','o','m')
255
+ #define heif_brand2_mp41 heif_fourcc('m','p','4','1')
256
+ #define heif_brand2_mp42 heif_fourcc('m','p','4','2')
254
257
 
255
258
  // input data should be at least 12 bytes
256
259
  LIBHEIF_API
@@ -297,6 +297,9 @@ int heif_image_handle_get_content_light_level(const heif_image_handle*, heif_con
297
297
  LIBHEIF_API
298
298
  void heif_image_set_content_light_level(const heif_image*, const heif_content_light_level* in);
299
299
 
300
+ LIBHEIF_API
301
+ void heif_image_handle_set_content_light_level(const heif_image_handle*, const heif_content_light_level* in);
302
+
300
303
 
301
304
  // --- mastering display colour volume ---
302
305
 
@@ -342,6 +345,9 @@ int heif_image_handle_get_mastering_display_colour_volume(const heif_image_handl
342
345
  LIBHEIF_API
343
346
  void heif_image_set_mastering_display_colour_volume(const heif_image*, const heif_mastering_display_colour_volume* in);
344
347
 
348
+ LIBHEIF_API
349
+ void heif_image_handle_set_mastering_display_colour_volume(const heif_image_handle*, const heif_mastering_display_colour_volume* in);
350
+
345
351
 
346
352
  // Converts the internal numeric representation of heif_mastering_display_colour_volume to the
347
353
  // normalized values, collected in heif_decoded_mastering_display_colour_volume.
@@ -283,7 +283,7 @@ namespace heif {
283
283
  public:
284
284
  ColorProfile_nclx();
285
285
 
286
- ~ColorProfile_nclx();
286
+ ~ColorProfile_nclx() = default;
287
287
 
288
288
  heif_color_primaries get_color_primaries() const;
289
289
 
@@ -305,10 +305,9 @@ namespace heif {
305
305
  void set_full_range_flag(bool is_full_range);
306
306
 
307
307
  private:
308
- ColorProfile_nclx(heif_color_profile_nclx* nclx)
309
- { mProfile = nclx; }
308
+ ColorProfile_nclx(heif_color_profile_nclx* nclx);
310
309
 
311
- heif_color_profile_nclx* mProfile;
310
+ std::shared_ptr<heif_color_profile_nclx> mProfile;
312
311
 
313
312
  friend class Image;
314
313
  };
@@ -813,12 +812,15 @@ namespace heif {
813
812
 
814
813
  inline ColorProfile_nclx::ColorProfile_nclx()
815
814
  {
816
- mProfile = heif_nclx_color_profile_alloc();
815
+ auto profile = heif_nclx_color_profile_alloc();
816
+ mProfile = std::shared_ptr<heif_color_profile_nclx>(profile,
817
+ [](heif_color_profile_nclx* p) { heif_nclx_color_profile_free(p); });
817
818
  }
818
819
 
819
- inline ColorProfile_nclx::~ColorProfile_nclx()
820
+ inline ColorProfile_nclx::ColorProfile_nclx(heif_color_profile_nclx* nclx)
820
821
  {
821
- heif_nclx_color_profile_free(mProfile);
822
+ mProfile = std::shared_ptr<heif_color_profile_nclx>(nclx,
823
+ [](heif_color_profile_nclx* p) { heif_nclx_color_profile_free(p); });
822
824
  }
823
825
 
824
826
  inline heif_color_primaries ColorProfile_nclx::get_color_primaries() const
@@ -938,7 +940,7 @@ namespace heif {
938
940
 
939
941
  inline void Image::set_nclx_color_profile(const ColorProfile_nclx& nclx)
940
942
  {
941
- Error err = Error(heif_image_set_nclx_color_profile(m_image.get(), nclx.mProfile));
943
+ Error err = Error(heif_image_set_nclx_color_profile(m_image.get(), nclx.mProfile.get()));
942
944
  if (err) {
943
945
  throw err;
944
946
  }
@@ -101,6 +101,16 @@ typedef struct heif_decoding_options
101
101
 
102
102
  // When set to NULL, default options will be used
103
103
  heif_color_conversion_options_ext* color_conversion_options_ext;
104
+
105
+ // version 8 options (v1.21.0)
106
+
107
+ // If enabled, it will decode the media timeline, ignoring the sequence tracks edit-list.
108
+ int ignore_sequence_editlist; // bool
109
+
110
+ heif_color_profile_nclx* output_image_nclx_profile;
111
+
112
+ int num_library_threads; // 0 = let libheif decide (TODO, currently ignored)
113
+ int num_codec_threads; // 0 = use decoder default
104
114
  } heif_decoding_options;
105
115
 
106
116
 
@@ -37,7 +37,9 @@ extern "C" {
37
37
 
38
38
  // ----- encoder -----
39
39
 
40
- // The encoder used for actually encoding an image.
40
+ /**
41
+ * Opaque object that represents the encoder used to code the images.
42
+ */
41
43
  typedef struct heif_encoder heif_encoder;
42
44
 
43
45
  // A description of the encoder's capabilities and name.
@@ -100,7 +102,9 @@ heif_error heif_context_get_encoder_for_format(heif_context* context,
100
102
  enum heif_compression_format format,
101
103
  heif_encoder**);
102
104
 
103
- // You have to release the encoder after use.
105
+ /**
106
+ * Release the encoder object after use.
107
+ */
104
108
  LIBHEIF_API
105
109
  void heif_encoder_release(heif_encoder*);
106
110
 
@@ -254,6 +254,8 @@ enum heif_suberror_code
254
254
 
255
255
  heif_suberror_Unsupported_essential_property = 3007,
256
256
 
257
+ heif_suberror_Unsupported_track_type = 3008,
258
+
257
259
  // --- Encoder_plugin_error ---
258
260
 
259
261
  heif_suberror_Unsupported_bit_depth = 4000,
@@ -208,7 +208,7 @@ uint8_t* heif_image_get_plane(heif_image*,
208
208
  // These are safer variants of the two functions above.
209
209
  // The 'stride' parameter is often multiplied by the image height in the client application.
210
210
  // For very large images, this can lead to integer overflows and, consequently, illegal memory accesses.
211
- // The changed 'stride' parameter types eliminates this common error.
211
+ // The changed 'stride' parameter type eliminates this common error.
212
212
  LIBHEIF_API
213
213
  const uint8_t* heif_image_get_plane_readonly2(const heif_image*,
214
214
  enum heif_channel channel,
@@ -262,6 +262,9 @@ void heif_image_get_pixel_aspect_ratio(const heif_image*, uint32_t* aspect_h, ui
262
262
  LIBHEIF_API
263
263
  void heif_image_set_pixel_aspect_ratio(heif_image*, uint32_t aspect_h, uint32_t aspect_v);
264
264
 
265
+ LIBHEIF_API
266
+ void heif_image_handle_set_pixel_aspect_ratio(heif_image_handle*, uint32_t aspect_h, uint32_t aspect_v);
267
+
265
268
 
266
269
  // --- heif_image allocation
267
270