@img/sharp-libvips-dev 1.0.1 → 1.0.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 (169) hide show
  1. package/README.md +1 -2
  2. package/include/aom/aom_decoder.h +1 -1
  3. package/include/aom/aom_encoder.h +7 -1
  4. package/include/aom/aom_image.h +24 -12
  5. package/include/aom/aom_integer.h +3 -3
  6. package/include/aom/aomcx.h +15 -0
  7. package/include/aom/aomdx.h +5 -2
  8. package/include/archive.h +7 -5
  9. package/include/archive_entry.h +5 -3
  10. package/include/cgif.h +3 -0
  11. package/include/expat.h +21 -10
  12. package/include/expat_config.h +11 -5
  13. package/include/ffi.h +12 -25
  14. package/include/freetype2/freetype/config/ftoption.h +2 -2
  15. package/include/fribidi/fribidi-config.h +2 -2
  16. package/include/fribidi/fribidi-unicode-version.h +3 -3
  17. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +3 -2
  18. package/include/glib-2.0/gio/gappinfo.h +40 -25
  19. package/include/glib-2.0/gio/gapplication.h +6 -0
  20. package/include/glib-2.0/gio/gasyncresult.h +1 -1
  21. package/include/glib-2.0/gio/gconverter.h +5 -0
  22. package/include/glib-2.0/gio/gdbusintrospection.h +1 -1
  23. package/include/glib-2.0/gio/gfile.h +16 -0
  24. package/include/glib-2.0/gio/gio-visibility.h +34 -0
  25. package/include/glib-2.0/gio/giotypes.h +0 -1
  26. package/include/glib-2.0/gio/gsettings.h +8 -0
  27. package/include/glib-2.0/gio/gvfs.h +2 -2
  28. package/include/glib-2.0/girepository/gi-visibility.h +34 -0
  29. package/include/glib-2.0/girepository/giarginfo.h +23 -6
  30. package/include/glib-2.0/girepository/gibaseinfo.h +44 -18
  31. package/include/glib-2.0/girepository/gicallableinfo.h +26 -16
  32. package/include/glib-2.0/girepository/gicallbackinfo.h +17 -2
  33. package/include/glib-2.0/girepository/giconstantinfo.h +19 -4
  34. package/include/glib-2.0/girepository/gienuminfo.h +20 -21
  35. package/include/glib-2.0/girepository/gifieldinfo.h +22 -7
  36. package/include/glib-2.0/girepository/giflagsinfo.h +60 -0
  37. package/include/glib-2.0/girepository/gifunctioninfo.h +22 -7
  38. package/include/glib-2.0/girepository/giinterfaceinfo.h +33 -18
  39. package/include/glib-2.0/girepository/giobjectinfo.h +41 -26
  40. package/include/glib-2.0/girepository/gipropertyinfo.h +18 -3
  41. package/include/glib-2.0/girepository/giregisteredtypeinfo.h +22 -11
  42. package/include/glib-2.0/girepository/girepository-autocleanups.h +56 -0
  43. package/include/glib-2.0/girepository/girepository.h +53 -62
  44. package/include/glib-2.0/girepository/girffi.h +8 -7
  45. package/include/glib-2.0/girepository/gisignalinfo.h +18 -3
  46. package/include/glib-2.0/girepository/gistructinfo.h +26 -11
  47. package/include/glib-2.0/girepository/gitypeinfo.h +29 -16
  48. package/include/glib-2.0/girepository/gitypelib.h +9 -13
  49. package/include/glib-2.0/girepository/gitypes.h +52 -104
  50. package/include/glib-2.0/girepository/giunioninfo.h +28 -12
  51. package/include/glib-2.0/girepository/giunresolvedinfo.h +17 -2
  52. package/include/glib-2.0/girepository/givalueinfo.h +65 -0
  53. package/include/glib-2.0/girepository/givfuncinfo.h +23 -8
  54. package/include/glib-2.0/glib/deprecated/gthread.h +9 -5
  55. package/include/glib-2.0/glib/gbitlock.h +31 -0
  56. package/include/glib-2.0/glib/gbookmarkfile.h +1 -1
  57. package/include/glib-2.0/glib/giochannel.h +2 -2
  58. package/include/glib-2.0/glib/glib-visibility.h +34 -0
  59. package/include/glib-2.0/glib/gmacros.h +12 -5
  60. package/include/glib-2.0/glib/gmain.h +93 -7
  61. package/include/glib-2.0/glib/gmessages.h +8 -0
  62. package/include/glib-2.0/glib/gqsort.h +8 -1
  63. package/include/glib-2.0/glib/gslice.h +2 -0
  64. package/include/glib-2.0/glib/gstrfuncs.h +24 -30
  65. package/include/glib-2.0/glib/gstrvbuilder.h +3 -0
  66. package/include/glib-2.0/glib/gthread.h +191 -3
  67. package/include/glib-2.0/glib/gunicode.h +1 -1
  68. package/include/glib-2.0/glib/gversionmacros.h +9 -0
  69. package/include/glib-2.0/glib-unix.h +7 -1
  70. package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
  71. package/include/glib-2.0/gobject/genums.h +6 -6
  72. package/include/glib-2.0/gobject/glib-types.h +11 -0
  73. package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
  74. package/include/glib-2.0/gobject/gsignal.h +16 -6
  75. package/include/glib-2.0/gobject/gtype.h +6 -6
  76. package/include/harfbuzz/hb-buffer.h +6 -0
  77. package/include/harfbuzz/hb-common.h +6 -9
  78. package/include/harfbuzz/hb-cplusplus.hh +8 -11
  79. package/include/harfbuzz/hb-subset.h +17 -4
  80. package/include/harfbuzz/hb-version.h +3 -3
  81. package/include/hwy/abort.h +28 -0
  82. package/include/hwy/aligned_allocator.h +218 -6
  83. package/include/hwy/base.h +1935 -512
  84. package/include/hwy/cache_control.h +24 -6
  85. package/include/hwy/detect_compiler_arch.h +105 -10
  86. package/include/hwy/detect_targets.h +146 -37
  87. package/include/hwy/foreach_target.h +36 -1
  88. package/include/hwy/highway.h +222 -50
  89. package/include/hwy/ops/arm_neon-inl.h +2055 -894
  90. package/include/hwy/ops/arm_sve-inl.h +1476 -348
  91. package/include/hwy/ops/emu128-inl.h +711 -623
  92. package/include/hwy/ops/generic_ops-inl.h +4431 -2157
  93. package/include/hwy/ops/inside-inl.h +691 -0
  94. package/include/hwy/ops/ppc_vsx-inl.h +2186 -673
  95. package/include/hwy/ops/rvv-inl.h +1556 -536
  96. package/include/hwy/ops/scalar-inl.h +353 -233
  97. package/include/hwy/ops/set_macros-inl.h +171 -23
  98. package/include/hwy/ops/shared-inl.h +198 -56
  99. package/include/hwy/ops/wasm_128-inl.h +283 -244
  100. package/include/hwy/ops/x86_128-inl.h +3673 -1357
  101. package/include/hwy/ops/x86_256-inl.h +1737 -663
  102. package/include/hwy/ops/x86_512-inl.h +1697 -500
  103. package/include/hwy/per_target.h +4 -0
  104. package/include/hwy/profiler.h +648 -0
  105. package/include/hwy/robust_statistics.h +2 -2
  106. package/include/hwy/targets.h +40 -32
  107. package/include/hwy/timer-inl.h +3 -3
  108. package/include/hwy/timer.h +16 -1
  109. package/include/libheif/heif.h +170 -15
  110. package/include/libheif/heif_items.h +237 -0
  111. package/include/libheif/heif_properties.h +38 -2
  112. package/include/libheif/heif_regions.h +1 -1
  113. package/include/libheif/heif_version.h +2 -2
  114. package/include/libpng16/png.h +32 -29
  115. package/include/libpng16/pngconf.h +2 -2
  116. package/include/libpng16/pnglibconf.h +8 -3
  117. package/include/librsvg-2.0/librsvg/rsvg-cairo.h +1 -1
  118. package/include/librsvg-2.0/librsvg/rsvg-features.h +3 -4
  119. package/include/librsvg-2.0/librsvg/rsvg-pixbuf.h +235 -0
  120. package/include/librsvg-2.0/librsvg/rsvg-version.h +3 -3
  121. package/include/librsvg-2.0/librsvg/rsvg.h +55 -176
  122. package/include/libxml2/libxml/HTMLparser.h +12 -19
  123. package/include/libxml2/libxml/c14n.h +1 -12
  124. package/include/libxml2/libxml/debugXML.h +1 -1
  125. package/include/libxml2/libxml/encoding.h +9 -0
  126. package/include/libxml2/libxml/entities.h +12 -1
  127. package/include/libxml2/libxml/hash.h +19 -0
  128. package/include/libxml2/libxml/list.h +2 -2
  129. package/include/libxml2/libxml/nanohttp.h +17 -0
  130. package/include/libxml2/libxml/parser.h +73 -58
  131. package/include/libxml2/libxml/parserInternals.h +9 -1
  132. package/include/libxml2/libxml/pattern.h +6 -0
  133. package/include/libxml2/libxml/tree.h +32 -12
  134. package/include/libxml2/libxml/uri.h +11 -0
  135. package/include/libxml2/libxml/valid.h +29 -2
  136. package/include/libxml2/libxml/xinclude.h +7 -0
  137. package/include/libxml2/libxml/xmlIO.h +21 -5
  138. package/include/libxml2/libxml/xmlerror.h +14 -0
  139. package/include/libxml2/libxml/xmlexports.h +111 -15
  140. package/include/libxml2/libxml/xmlmemory.h +8 -45
  141. package/include/libxml2/libxml/xmlreader.h +2 -0
  142. package/include/libxml2/libxml/xmlsave.h +5 -0
  143. package/include/libxml2/libxml/xmlunicode.h +165 -1
  144. package/include/libxml2/libxml/xmlversion.h +15 -179
  145. package/include/libxml2/libxml/xmlwriter.h +1 -0
  146. package/include/libxml2/libxml/xpath.h +4 -0
  147. package/include/pango-1.0/pango/pango-features.h +2 -2
  148. package/include/pango-1.0/pango/pango-fontmap.h +7 -0
  149. package/include/pango-1.0/pango/pango-item.h +4 -2
  150. package/include/pango-1.0/pango/pango-version-macros.h +25 -0
  151. package/include/pango-1.0/pango/pangofc-font.h +2 -1
  152. package/include/pixman-1/pixman-version.h +2 -2
  153. package/include/png.h +32 -29
  154. package/include/pngconf.h +2 -2
  155. package/include/pnglibconf.h +8 -3
  156. package/include/vips/connection.h +9 -3
  157. package/include/vips/util.h +1 -11
  158. package/include/vips/version.h +4 -4
  159. package/include/webp/decode.h +58 -56
  160. package/include/webp/demux.h +25 -21
  161. package/include/webp/encode.h +44 -39
  162. package/include/webp/mux.h +76 -15
  163. package/include/webp/mux_types.h +2 -1
  164. package/include/webp/sharpyuv/sharpyuv.h +77 -8
  165. package/include/webp/types.h +29 -8
  166. package/include/zconf.h +1 -1
  167. package/include/zlib.h +12 -12
  168. package/package.json +1 -1
  169. package/versions.json +18 -19
@@ -100,7 +100,6 @@ struct _PangoAnalysis
100
100
  * @offset: byte offset of the start of this item in text.
101
101
  * @length: length of this item in bytes.
102
102
  * @num_chars: number of Unicode characters in the item.
103
- * @char_offset: character offset of the start of this item in text. Since 1.50
104
103
  * @analysis: analysis results for the item.
105
104
  *
106
105
  * The `PangoItem` structure stores information about a segment of text.
@@ -128,6 +127,10 @@ PangoItem * pango_item_copy (PangoItem *item);
128
127
  PANGO_AVAILABLE_IN_ALL
129
128
  void pango_item_free (PangoItem *item);
130
129
 
130
+
131
+ PANGO_AVAILABLE_IN_1_54
132
+ int pango_item_get_char_offset (PangoItem *item);
133
+
131
134
  PANGO_AVAILABLE_IN_ALL
132
135
  PangoItem * pango_item_split (PangoItem *orig,
133
136
  int split_index,
@@ -159,7 +162,6 @@ GList * pango_itemize_with_base_dir (PangoContext *context
159
162
  PangoAttrList *attrs,
160
163
  PangoAttrIterator *cached_iter);
161
164
 
162
-
163
165
  G_END_DECLS
164
166
 
165
167
  #endif /* __PANGO_ITEM_H__ */
@@ -292,6 +292,16 @@
292
292
  */
293
293
  #define PANGO_VERSION_1_52 (G_ENCODE_VERSION (1, 52))
294
294
 
295
+ /**
296
+ * PANGO_VERSION_1_54:
297
+ *
298
+ * A macro that evaluates to the 1.54 version of Pango, in a format
299
+ * that can be used by the C pre-processor.
300
+ *
301
+ * Since: 1.54
302
+ */
303
+ #define PANGO_VERSION_1_54 (G_ENCODE_VERSION (1, 54))
304
+
295
305
  /* evaluates to the current stable version; for development cycles,
296
306
  * this means the next stable target
297
307
  */
@@ -753,4 +763,19 @@
753
763
  # define PANGO_AVAILABLE_IN_1_52 _PANGO_EXTERN
754
764
  #endif
755
765
 
766
+ #if PANGO_VERSION_MIN_REQUIRED >= PANGO_VERSION_1_54
767
+ # define PANGO_DEPRECATED_IN_1_54 PANGO_DEPRECATED
768
+ # define PANGO_DEPRECATED_IN_1_54_FOR(f) PANGO_DEPRECATED_FOR(f)
769
+ #else
770
+ # define PANGO_DEPRECATED_IN_1_54 _PANGO_EXTERN
771
+ # define PANGO_DEPRECATED_IN_1_54_FOR(f) _PANGO_EXTERN
772
+ #endif
773
+
774
+ #if PANGO_VERSION_MAX_ALLOWED < PANGO_VERSION_1_54
775
+ # define PANGO_AVAILABLE_IN_1_54 PANGO_UNAVAILABLE(1, 54)
776
+ #else
777
+ # define PANGO_AVAILABLE_IN_1_54 _PANGO_EXTERN
778
+ #endif
779
+
756
780
  #endif /* __PANGO_VERSION_H__ */
781
+
@@ -73,7 +73,8 @@ struct _PangoFcFont
73
73
  PangoFont parent_instance;
74
74
 
75
75
  FcPattern *font_pattern; /* fully resolved pattern */
76
- PangoFontMap *fontmap; /* associated map */
76
+ PangoFontMap *fontmap; /* associated map (no strong reference is held,
77
+ * but a g_object_add_weak_pointer() guards it) */
77
78
  gpointer priv; /* used internally */
78
79
  PangoMatrix matrix; /* unused */
79
80
  PangoFontDescription *description;
@@ -33,9 +33,9 @@
33
33
 
34
34
  #define PIXMAN_VERSION_MAJOR 0
35
35
  #define PIXMAN_VERSION_MINOR 43
36
- #define PIXMAN_VERSION_MICRO 0
36
+ #define PIXMAN_VERSION_MICRO 4
37
37
 
38
- #define PIXMAN_VERSION_STRING "0.43.0"
38
+ #define PIXMAN_VERSION_STRING "0.43.4"
39
39
 
40
40
  #define PIXMAN_VERSION_ENCODE(major, minor, micro) ( \
41
41
  ((major) * 10000) \
package/include/png.h CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  /* png.h - header file for PNG reference library
3
3
  *
4
- * libpng version 1.6.40
4
+ * libpng version 1.6.43
5
5
  *
6
- * Copyright (c) 2018-2023 Cosmin Truta
6
+ * Copyright (c) 2018-2024 Cosmin Truta
7
7
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
8
8
  * Copyright (c) 1996-1997 Andreas Dilger
9
9
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -15,7 +15,7 @@
15
15
  * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
16
16
  * libpng versions 0.97, January 1998, through 1.6.35, July 2018:
17
17
  * Glenn Randers-Pehrson
18
- * libpng versions 1.6.36, December 2018, through 1.6.40, June 2023:
18
+ * libpng versions 1.6.36, December 2018, through 1.6.43, February 2024:
19
19
  * Cosmin Truta
20
20
  * See also "Contributing Authors", below.
21
21
  */
@@ -27,8 +27,8 @@
27
27
  * PNG Reference Library License version 2
28
28
  * ---------------------------------------
29
29
  *
30
- * * Copyright (c) 1995-2023 The PNG Reference Library Authors.
31
- * * Copyright (c) 2018-2023 Cosmin Truta.
30
+ * * Copyright (c) 1995-2024 The PNG Reference Library Authors.
31
+ * * Copyright (c) 2018-2024 Cosmin Truta.
32
32
  * * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
33
33
  * * Copyright (c) 1996-1997 Andreas Dilger.
34
34
  * * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -239,7 +239,7 @@
239
239
  * ...
240
240
  * 1.5.30 15 10530 15.so.15.30[.0]
241
241
  * ...
242
- * 1.6.40 16 10640 16.so.16.40[.0]
242
+ * 1.6.43 16 10643 16.so.16.43[.0]
243
243
  *
244
244
  * Henceforth the source version will match the shared-library major and
245
245
  * minor numbers; the shared-library major version number will be used for
@@ -255,9 +255,6 @@
255
255
  * to the info_ptr or png_ptr members through png.h, and the compiled
256
256
  * application is loaded with a different version of the library.
257
257
  *
258
- * DLLNUM will change each time there are forward or backward changes
259
- * in binary compatibility (e.g., when a new feature is added).
260
- *
261
258
  * See libpng.txt or libpng.3 for more information. The PNG specification
262
259
  * is available as a W3C Recommendation and as an ISO/IEC Standard; see
263
260
  * <https://www.w3.org/TR/2003/REC-PNG-20031110/>
@@ -278,19 +275,21 @@
278
275
  */
279
276
 
280
277
  /* Version information for png.h - this should match the version in png.c */
281
- #define PNG_LIBPNG_VER_STRING "1.6.40"
282
- #define PNG_HEADER_VERSION_STRING " libpng version 1.6.40 - June 21, 2023\n"
278
+ #define PNG_LIBPNG_VER_STRING "1.6.43"
279
+ #define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
283
280
 
284
- #define PNG_LIBPNG_VER_SONUM 16
285
- #define PNG_LIBPNG_VER_DLLNUM 16
281
+ /* The versions of shared library builds should stay in sync, going forward */
282
+ #define PNG_LIBPNG_VER_SHAREDLIB 16
283
+ #define PNG_LIBPNG_VER_SONUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */
284
+ #define PNG_LIBPNG_VER_DLLNUM PNG_LIBPNG_VER_SHAREDLIB /* [Deprecated] */
286
285
 
287
286
  /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
288
287
  #define PNG_LIBPNG_VER_MAJOR 1
289
288
  #define PNG_LIBPNG_VER_MINOR 6
290
- #define PNG_LIBPNG_VER_RELEASE 40
289
+ #define PNG_LIBPNG_VER_RELEASE 43
291
290
 
292
291
  /* This should be zero for a public release, or non-zero for a
293
- * development version. [Deprecated]
292
+ * development version.
294
293
  */
295
294
  #define PNG_LIBPNG_VER_BUILD 0
296
295
 
@@ -318,7 +317,7 @@
318
317
  * From version 1.0.1 it is:
319
318
  * XXYYZZ, where XX=major, YY=minor, ZZ=release
320
319
  */
321
- #define PNG_LIBPNG_VER 10640 /* 1.6.40 */
320
+ #define PNG_LIBPNG_VER 10643 /* 1.6.43 */
322
321
 
323
322
  /* Library configuration: these options cannot be changed after
324
323
  * the library has been built.
@@ -428,7 +427,7 @@ extern "C" {
428
427
  /* This triggers a compiler error in png.c, if png.c and png.h
429
428
  * do not agree upon the version number.
430
429
  */
431
- typedef char* png_libpng_version_1_6_40;
430
+ typedef char* png_libpng_version_1_6_43;
432
431
 
433
432
  /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
434
433
  *
@@ -849,7 +848,7 @@ PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), typedef);
849
848
  #define PNG_TRANSFORM_GRAY_TO_RGB 0x2000 /* read only */
850
849
  /* Added to libpng-1.5.4 */
851
850
  #define PNG_TRANSFORM_EXPAND_16 0x4000 /* read only */
852
- #if INT_MAX >= 0x8000 /* else this might break */
851
+ #if ~0U > 0xffffU /* or else this might break on a 16-bit machine */
853
852
  #define PNG_TRANSFORM_SCALE_16 0x8000 /* read only */
854
853
  #endif
855
854
 
@@ -908,15 +907,15 @@ PNG_EXPORT(2, void, png_set_sig_bytes, (png_structrp png_ptr, int num_bytes));
908
907
  /* Check sig[start] through sig[start + num_to_check - 1] to see if it's a
909
908
  * PNG file. Returns zero if the supplied bytes match the 8-byte PNG
910
909
  * signature, and non-zero otherwise. Having num_to_check == 0 or
911
- * start > 7 will always fail (ie return non-zero).
910
+ * start > 7 will always fail (i.e. return non-zero).
912
911
  */
913
912
  PNG_EXPORT(3, int, png_sig_cmp, (png_const_bytep sig, size_t start,
914
913
  size_t num_to_check));
915
914
 
916
915
  /* Simple signature checking function. This is the same as calling
917
- * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n).
916
+ * png_check_sig(sig, n) := (png_sig_cmp(sig, 0, n) == 0).
918
917
  */
919
- #define png_check_sig(sig, n) !png_sig_cmp((sig), 0, (n))
918
+ #define png_check_sig(sig, n) (png_sig_cmp((sig), 0, (n)) == 0) /* DEPRECATED */
920
919
 
921
920
  /* Allocate and initialize png_ptr struct for reading, and any other memory. */
922
921
  PNG_EXPORTA(4, png_structp, png_create_read_struct,
@@ -1730,12 +1729,9 @@ PNG_EXPORT(97, void, png_free, (png_const_structrp png_ptr, png_voidp ptr));
1730
1729
  PNG_EXPORT(98, void, png_free_data, (png_const_structrp png_ptr,
1731
1730
  png_inforp info_ptr, png_uint_32 free_me, int num));
1732
1731
 
1733
- /* Reassign responsibility for freeing existing data, whether allocated
1732
+ /* Reassign the responsibility for freeing existing data, whether allocated
1734
1733
  * by libpng or by the application; this works on the png_info structure passed
1735
- * in, it does not change the state for other png_info structures.
1736
- *
1737
- * It is unlikely that this function works correctly as of 1.6.0 and using it
1738
- * may result either in memory leaks or double free of allocated data.
1734
+ * in, without changing the state for other png_info structures.
1739
1735
  */
1740
1736
  PNG_EXPORT(99, void, png_data_freer, (png_const_structrp png_ptr,
1741
1737
  png_inforp info_ptr, int freer, png_uint_32 mask));
@@ -3207,11 +3203,18 @@ PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory,
3207
3203
  #ifdef PNG_MIPS_MSA_API_SUPPORTED
3208
3204
  # define PNG_MIPS_MSA 6 /* HARDWARE: MIPS Msa SIMD instructions supported */
3209
3205
  #endif
3210
- #define PNG_IGNORE_ADLER32 8
3206
+ #ifdef PNG_DISABLE_ADLER32_CHECK_SUPPORTED
3207
+ # define PNG_IGNORE_ADLER32 8 /* SOFTWARE: disable Adler32 check on IDAT */
3208
+ #endif
3211
3209
  #ifdef PNG_POWERPC_VSX_API_SUPPORTED
3212
- # define PNG_POWERPC_VSX 10 /* HARDWARE: PowerPC VSX SIMD instructions supported */
3210
+ # define PNG_POWERPC_VSX 10 /* HARDWARE: PowerPC VSX SIMD instructions
3211
+ * supported */
3213
3212
  #endif
3214
- #define PNG_OPTION_NEXT 12 /* Next option - numbers must be even */
3213
+ #ifdef PNG_MIPS_MMI_API_SUPPORTED
3214
+ # define PNG_MIPS_MMI 12 /* HARDWARE: MIPS MMI SIMD instructions supported */
3215
+ #endif
3216
+
3217
+ #define PNG_OPTION_NEXT 14 /* Next option - numbers must be even */
3215
3218
 
3216
3219
  /* Return values: NOTE: there are four values and 'off' is *not* zero */
3217
3220
  #define PNG_OPTION_UNSET 0 /* Unset - defaults to off */
package/include/pngconf.h CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  /* pngconf.h - machine-configurable file for libpng
3
3
  *
4
- * libpng version 1.6.40
4
+ * libpng version 1.6.43
5
5
  *
6
- * Copyright (c) 2018-2022 Cosmin Truta
6
+ * Copyright (c) 2018-2024 Cosmin Truta
7
7
  * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
8
8
  * Copyright (c) 1996-1997 Andreas Dilger
9
9
  * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -1,8 +1,8 @@
1
1
  /* pnglibconf.h - library build configuration */
2
2
 
3
- /* libpng version 1.6.40 */
3
+ /* libpng version 1.6.43 */
4
4
 
5
- /* Copyright (c) 2018-2023 Cosmin Truta */
5
+ /* Copyright (c) 2018-2024 Cosmin Truta */
6
6
  /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
7
7
 
8
8
  /* This code is released under the libpng license. */
@@ -27,6 +27,7 @@
27
27
  #define PNG_COLORSPACE_SUPPORTED
28
28
  #define PNG_CONSOLE_IO_SUPPORTED
29
29
  #define PNG_CONVERT_tIME_SUPPORTED
30
+ /*#undef PNG_DISABLE_ADLER32_CHECK_SUPPORTED*/
30
31
  #define PNG_EASY_ACCESS_SUPPORTED
31
32
  /*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
32
33
  #define PNG_ERROR_TEXT_SUPPORTED
@@ -41,6 +42,10 @@
41
42
  #define PNG_INCH_CONVERSIONS_SUPPORTED
42
43
  #define PNG_INFO_IMAGE_SUPPORTED
43
44
  #define PNG_IO_STATE_SUPPORTED
45
+ /*#undef PNG_MIPS_MMI_API_SUPPORTED*/
46
+ /*#undef PNG_MIPS_MMI_CHECK_SUPPORTED*/
47
+ /*#undef PNG_MIPS_MSA_API_SUPPORTED*/
48
+ /*#undef PNG_MIPS_MSA_CHECK_SUPPORTED*/
44
49
  #define PNG_MNG_FEATURES_SUPPORTED
45
50
  #define PNG_POINTER_INDEXING_SUPPORTED
46
51
  /*#undef PNG_POWERPC_VSX_API_SUPPORTED*/
@@ -209,7 +214,7 @@
209
214
  #define PNG_USER_HEIGHT_MAX 1000000
210
215
  #define PNG_USER_WIDTH_MAX 1000000
211
216
  #define PNG_ZBUF_SIZE 8192
212
- #define PNG_ZLIB_VERNUM 0x130f
217
+ #define PNG_ZLIB_VERNUM 0x131f
213
218
  #define PNG_Z_DEFAULT_COMPRESSION (-1)
214
219
  #define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0
215
220
  #define PNG_Z_DEFAULT_STRATEGY 1
@@ -428,8 +428,11 @@ struct _VipsTarget {
428
428
  int write_point;
429
429
 
430
430
  /* Write position in memory_buffer.
431
+ *
432
+ * off_t can be 32 bits on some platforms, so make sure we have a
433
+ * full 64.
431
434
  */
432
- off_t position;
435
+ gint64 position;
433
436
 
434
437
  /* Temp targets on the filesystem need deleting, sometimes.
435
438
  */
@@ -466,8 +469,11 @@ typedef struct _VipsTargetClass {
466
469
  gint64 (*read)(VipsTarget *, void *, size_t);
467
470
 
468
471
  /* Seek output. Args exactly as lseek(2).
472
+ *
473
+ * We have to use int64 rather than off_t, since we must work on
474
+ * Windows, where off_t can be 32-bits.
469
475
  */
470
- off_t (*seek)(VipsTarget *, off_t offset, int whence);
476
+ gint64 (*seek)(VipsTarget *, gint64 offset, int whence);
471
477
 
472
478
  /* Output has been generated, so do any clearing up,
473
479
  * eg. copy the bytes we saved in memory to the target blob.
@@ -492,7 +498,7 @@ int vips_target_write(VipsTarget *target, const void *data, size_t length);
492
498
  VIPS_API
493
499
  gint64 vips_target_read(VipsTarget *target, void *buffer, size_t length);
494
500
  VIPS_API
495
- off_t vips_target_seek(VipsTarget *target, off_t offset, int whence);
501
+ gint64 vips_target_seek(VipsTarget *target, gint64 offset, int whence);
496
502
  VIPS_API
497
503
  int vips_target_end(VipsTarget *target);
498
504
  VIPS_DEPRECATED_FOR(vips_target_end)
@@ -164,15 +164,6 @@ extern "C" {
164
164
  } \
165
165
  G_STMT_END
166
166
 
167
- /* The g_info() macro was added in 2.40.
168
- */
169
- #ifndef g_info
170
- /* Hopefully we have varargs macros. Maybe revisit this.
171
- */
172
- #define g_info(...) \
173
- g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, __VA_ARGS__)
174
- #endif
175
-
176
167
  /* Various integer range clips. Record over/under flows.
177
168
  */
178
169
  #define VIPS_CLIP_UCHAR(V, SEQ) \
@@ -344,8 +335,7 @@ int vips__file_write(void *data, size_t size, size_t nmemb, FILE *stream);
344
335
  /* TODO(kleisauke): VIPS_API is required by the magick module.
345
336
  */
346
337
  VIPS_API
347
- gint64 vips__get_bytes(const char *filename,
348
- unsigned char buf[], gint64 len);
338
+ gint64 vips__get_bytes(const char *filename, unsigned char buf[], gint64 len);
349
339
  int vips__fgetc(FILE *fp);
350
340
 
351
341
  GValue *vips__gvalue_ref_string_new(const char *text);
@@ -4,16 +4,16 @@
4
4
  #ifndef VIPS_VERSION_H
5
5
  #define VIPS_VERSION_H
6
6
 
7
- #define VIPS_VERSION "8.15.1"
8
- #define VIPS_VERSION_STRING "8.15.1"
7
+ #define VIPS_VERSION "8.15.3"
8
+ #define VIPS_VERSION_STRING "8.15.3"
9
9
  #define VIPS_MAJOR_VERSION (8)
10
10
  #define VIPS_MINOR_VERSION (15)
11
- #define VIPS_MICRO_VERSION (1)
11
+ #define VIPS_MICRO_VERSION (3)
12
12
 
13
13
  /* The ABI version, as used for library versioning.
14
14
  */
15
15
  #define VIPS_LIBRARY_CURRENT (59)
16
- #define VIPS_LIBRARY_REVISION (1)
16
+ #define VIPS_LIBRARY_REVISION (3)
17
17
  #define VIPS_LIBRARY_AGE (17)
18
18
 
19
19
  #define VIPS_CONFIG "enable debug: false\nenable deprecated: false\nenable modules: false\nenable cplusplus: true\nenable RAD load/save: false\nenable Analyze7 load/save: false\nenable PPM load/save: false\nenable GIF load: true\nuse fftw for FFTs: false\nSIMD support with highway: true\naccelerate loops with ORC: false\nICC profile support with lcms: true\nzlib: true\ntext rendering with pangocairo: true\nfont file support with fontconfig: true\nEXIF metadata support with libexif: true\nJPEG load/save with libjpeg: true\nJXL load/save with libjxl: false (dynamic module: false)\nJPEG2000 load/save with OpenJPEG: false\nPNG load/save with libspng: true\nPNG load/save with libpng: false\nselected quantisation package: imagequant\nTIFF load/save with libtiff: true\nimage pyramid save with libarchive: true\nHEIC/AVIF load/save with libheif: true (dynamic module: false)\nWebP load/save with libwebp: true\nPDF load with PDFium: false\nPDF load with poppler-glib: false (dynamic module: false)\nSVG load with librsvg: true\nEXR load with OpenEXR: false\nOpenSlide load: false (dynamic module: false)\nMatlab load with libmatio: false\nNIfTI load/save with niftiio: false\nFITS load/save with cfitsio: false\nGIF save with cgif: true\nselected Magick package: none (dynamic module: false)\nMagick API version: none\nMagick load: false\nMagick save: false"
@@ -48,34 +48,33 @@ WEBP_EXTERN int WebPGetDecoderVersion(void);
48
48
  // RIFF + VP8X + (optional chunks) + VP8(L)
49
49
  // ALPH + VP8 <-- Not a valid WebP format: only allowed for internal purpose.
50
50
  // VP8(L) <-- Not a valid WebP format: only allowed for internal purpose.
51
- WEBP_EXTERN int WebPGetInfo(const uint8_t* data, size_t data_size,
52
- int* width, int* height);
51
+ WEBP_NODISCARD WEBP_EXTERN int WebPGetInfo(
52
+ const uint8_t* data, size_t data_size, int* width, int* height);
53
53
 
54
54
  // Decodes WebP images pointed to by 'data' and returns RGBA samples, along
55
55
  // with the dimensions in *width and *height. The ordering of samples in
56
56
  // memory is R, G, B, A, R, G, B, A... in scan order (endian-independent).
57
57
  // The returned pointer should be deleted calling WebPFree().
58
58
  // Returns NULL in case of error.
59
- WEBP_EXTERN uint8_t* WebPDecodeRGBA(const uint8_t* data, size_t data_size,
60
- int* width, int* height);
59
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeRGBA(
60
+ const uint8_t* data, size_t data_size, int* width, int* height);
61
61
 
62
62
  // Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data.
63
- WEBP_EXTERN uint8_t* WebPDecodeARGB(const uint8_t* data, size_t data_size,
64
- int* width, int* height);
63
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeARGB(
64
+ const uint8_t* data, size_t data_size, int* width, int* height);
65
65
 
66
66
  // Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data.
67
- WEBP_EXTERN uint8_t* WebPDecodeBGRA(const uint8_t* data, size_t data_size,
68
- int* width, int* height);
67
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeBGRA(
68
+ const uint8_t* data, size_t data_size, int* width, int* height);
69
69
 
70
70
  // Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data.
71
71
  // If the bitstream contains transparency, it is ignored.
72
- WEBP_EXTERN uint8_t* WebPDecodeRGB(const uint8_t* data, size_t data_size,
73
- int* width, int* height);
72
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeRGB(
73
+ const uint8_t* data, size_t data_size, int* width, int* height);
74
74
 
75
75
  // Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data.
76
- WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size,
77
- int* width, int* height);
78
-
76
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeBGR(
77
+ const uint8_t* data, size_t data_size, int* width, int* height);
79
78
 
80
79
  // Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer
81
80
  // returned is the Y samples buffer. Upon return, *u and *v will point to
@@ -87,10 +86,9 @@ WEBP_EXTERN uint8_t* WebPDecodeBGR(const uint8_t* data, size_t data_size,
87
86
  // 'width' and 'height' may be NULL, the other pointers must not be.
88
87
  // Returns NULL in case of error.
89
88
  // (*) Also named Y'CbCr. See: https://en.wikipedia.org/wiki/YCbCr
90
- WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size,
91
- int* width, int* height,
92
- uint8_t** u, uint8_t** v,
93
- int* stride, int* uv_stride);
89
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeYUV(
90
+ const uint8_t* data, size_t data_size, int* width, int* height,
91
+ uint8_t** u, uint8_t** v, int* stride, int* uv_stride);
94
92
 
95
93
  // These five functions are variants of the above ones, that decode the image
96
94
  // directly into a pre-allocated buffer 'output_buffer'. The maximum storage
@@ -100,22 +98,22 @@ WEBP_EXTERN uint8_t* WebPDecodeYUV(const uint8_t* data, size_t data_size,
100
98
  // The parameter 'output_stride' specifies the distance (in bytes)
101
99
  // between scanlines. Hence, output_buffer_size is expected to be at least
102
100
  // output_stride x picture-height.
103
- WEBP_EXTERN uint8_t* WebPDecodeRGBAInto(
101
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeRGBAInto(
104
102
  const uint8_t* data, size_t data_size,
105
103
  uint8_t* output_buffer, size_t output_buffer_size, int output_stride);
106
- WEBP_EXTERN uint8_t* WebPDecodeARGBInto(
104
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeARGBInto(
107
105
  const uint8_t* data, size_t data_size,
108
106
  uint8_t* output_buffer, size_t output_buffer_size, int output_stride);
109
- WEBP_EXTERN uint8_t* WebPDecodeBGRAInto(
107
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeBGRAInto(
110
108
  const uint8_t* data, size_t data_size,
111
109
  uint8_t* output_buffer, size_t output_buffer_size, int output_stride);
112
110
 
113
111
  // RGB and BGR variants. Here too the transparency information, if present,
114
112
  // will be dropped and ignored.
115
- WEBP_EXTERN uint8_t* WebPDecodeRGBInto(
113
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeRGBInto(
116
114
  const uint8_t* data, size_t data_size,
117
115
  uint8_t* output_buffer, size_t output_buffer_size, int output_stride);
118
- WEBP_EXTERN uint8_t* WebPDecodeBGRInto(
116
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeBGRInto(
119
117
  const uint8_t* data, size_t data_size,
120
118
  uint8_t* output_buffer, size_t output_buffer_size, int output_stride);
121
119
 
@@ -126,7 +124,7 @@ WEBP_EXTERN uint8_t* WebPDecodeBGRInto(
126
124
  // 'u_size' and 'v_size' respectively.
127
125
  // Pointer to the luma plane ('*luma') is returned or NULL if an error occurred
128
126
  // during decoding (or because some buffers were found to be too small).
129
- WEBP_EXTERN uint8_t* WebPDecodeYUVInto(
127
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPDecodeYUVInto(
130
128
  const uint8_t* data, size_t data_size,
131
129
  uint8_t* luma, size_t luma_size, int luma_stride,
132
130
  uint8_t* u, size_t u_size, int u_stride,
@@ -217,11 +215,11 @@ struct WebPDecBuffer {
217
215
  };
218
216
 
219
217
  // Internal, version-checked, entry point
220
- WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int);
218
+ WEBP_NODISCARD WEBP_EXTERN int WebPInitDecBufferInternal(WebPDecBuffer*, int);
221
219
 
222
220
  // Initialize the structure as empty. Must be called before any other use.
223
221
  // Returns false in case of version mismatch
224
- static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) {
222
+ WEBP_NODISCARD static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) {
225
223
  return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION);
226
224
  }
227
225
 
@@ -232,7 +230,7 @@ WEBP_EXTERN void WebPFreeDecBuffer(WebPDecBuffer* buffer);
232
230
  //------------------------------------------------------------------------------
233
231
  // Enumeration of the status codes
234
232
 
235
- typedef enum VP8StatusCode {
233
+ typedef enum WEBP_NODISCARD VP8StatusCode {
236
234
  VP8_STATUS_OK = 0,
237
235
  VP8_STATUS_OUT_OF_MEMORY,
238
236
  VP8_STATUS_INVALID_PARAM,
@@ -251,23 +249,24 @@ typedef enum VP8StatusCode {
251
249
  // WebPIDecoder object. This object can be left in a SUSPENDED state if the
252
250
  // picture is only partially decoded, pending additional input.
253
251
  // Code example:
254
- //
255
- // WebPInitDecBuffer(&output_buffer);
256
- // output_buffer.colorspace = mode;
257
- // ...
258
- // WebPIDecoder* idec = WebPINewDecoder(&output_buffer);
259
- // while (additional_data_is_available) {
260
- // // ... (get additional data in some new_data[] buffer)
261
- // status = WebPIAppend(idec, new_data, new_data_size);
262
- // if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) {
263
- // break; // an error occurred.
264
- // }
265
- //
266
- // // The above call decodes the current available buffer.
267
- // // Part of the image can now be refreshed by calling
268
- // // WebPIDecGetRGB()/WebPIDecGetYUVA() etc.
269
- // }
270
- // WebPIDelete(idec);
252
+ /*
253
+ WebPInitDecBuffer(&output_buffer);
254
+ output_buffer.colorspace = mode;
255
+ ...
256
+ WebPIDecoder* idec = WebPINewDecoder(&output_buffer);
257
+ while (additional_data_is_available) {
258
+ // ... (get additional data in some new_data[] buffer)
259
+ status = WebPIAppend(idec, new_data, new_data_size);
260
+ if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) {
261
+ break; // an error occurred.
262
+ }
263
+
264
+ // The above call decodes the current available buffer.
265
+ // Part of the image can now be refreshed by calling
266
+ // WebPIDecGetRGB()/WebPIDecGetYUVA() etc.
267
+ }
268
+ WebPIDelete(idec);
269
+ */
271
270
 
272
271
  // Creates a new incremental decoder with the supplied buffer parameter.
273
272
  // This output_buffer can be passed NULL, in which case a default output buffer
@@ -281,7 +280,8 @@ typedef enum VP8StatusCode {
281
280
  // within valid bounds.
282
281
  // All other fields of WebPDecBuffer MUST remain constant between calls.
283
282
  // Returns NULL if the allocation failed.
284
- WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer);
283
+ WEBP_NODISCARD WEBP_EXTERN WebPIDecoder* WebPINewDecoder(
284
+ WebPDecBuffer* output_buffer);
285
285
 
286
286
  // This function allocates and initializes an incremental-decoder object, which
287
287
  // will output the RGB/A samples specified by 'csp' into a preallocated
@@ -293,7 +293,7 @@ WEBP_EXTERN WebPIDecoder* WebPINewDecoder(WebPDecBuffer* output_buffer);
293
293
  // colorspace 'csp' is taken into account for allocating this buffer. All other
294
294
  // parameters are ignored.
295
295
  // Returns NULL if the allocation failed, or if some parameters are invalid.
296
- WEBP_EXTERN WebPIDecoder* WebPINewRGB(
296
+ WEBP_NODISCARD WEBP_EXTERN WebPIDecoder* WebPINewRGB(
297
297
  WEBP_CSP_MODE csp,
298
298
  uint8_t* output_buffer, size_t output_buffer_size, int output_stride);
299
299
 
@@ -308,7 +308,7 @@ WEBP_EXTERN WebPIDecoder* WebPINewRGB(
308
308
  // In this case, the output buffer will be automatically allocated (using
309
309
  // MODE_YUVA) when decoding starts. All parameters are then ignored.
310
310
  // Returns NULL if the allocation failed or if a parameter is invalid.
311
- WEBP_EXTERN WebPIDecoder* WebPINewYUVA(
311
+ WEBP_NODISCARD WEBP_EXTERN WebPIDecoder* WebPINewYUVA(
312
312
  uint8_t* luma, size_t luma_size, int luma_stride,
313
313
  uint8_t* u, size_t u_size, int u_stride,
314
314
  uint8_t* v, size_t v_size, int v_stride,
@@ -316,7 +316,7 @@ WEBP_EXTERN WebPIDecoder* WebPINewYUVA(
316
316
 
317
317
  // Deprecated version of the above, without the alpha plane.
318
318
  // Kept for backward compatibility.
319
- WEBP_EXTERN WebPIDecoder* WebPINewYUV(
319
+ WEBP_NODISCARD WEBP_EXTERN WebPIDecoder* WebPINewYUV(
320
320
  uint8_t* luma, size_t luma_size, int luma_stride,
321
321
  uint8_t* u, size_t u_size, int u_stride,
322
322
  uint8_t* v, size_t v_size, int v_stride);
@@ -346,21 +346,21 @@ WEBP_EXTERN VP8StatusCode WebPIUpdate(
346
346
  // (*last_y, *width etc.) can be NULL if corresponding information is not
347
347
  // needed. The values in these pointers are only valid on successful (non-NULL)
348
348
  // return.
349
- WEBP_EXTERN uint8_t* WebPIDecGetRGB(
349
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPIDecGetRGB(
350
350
  const WebPIDecoder* idec, int* last_y,
351
351
  int* width, int* height, int* stride);
352
352
 
353
353
  // Same as above function to get a YUVA image. Returns pointer to the luma
354
354
  // plane or NULL in case of error. If there is no alpha information
355
355
  // the alpha pointer '*a' will be returned NULL.
356
- WEBP_EXTERN uint8_t* WebPIDecGetYUVA(
356
+ WEBP_NODISCARD WEBP_EXTERN uint8_t* WebPIDecGetYUVA(
357
357
  const WebPIDecoder* idec, int* last_y,
358
358
  uint8_t** u, uint8_t** v, uint8_t** a,
359
359
  int* width, int* height, int* stride, int* uv_stride, int* a_stride);
360
360
 
361
361
  // Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the
362
362
  // alpha information (if present). Kept for backward compatibility.
363
- static WEBP_INLINE uint8_t* WebPIDecGetYUV(
363
+ WEBP_NODISCARD static WEBP_INLINE uint8_t* WebPIDecGetYUV(
364
364
  const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v,
365
365
  int* width, int* height, int* stride, int* uv_stride) {
366
366
  return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height,
@@ -373,7 +373,7 @@ static WEBP_INLINE uint8_t* WebPIDecGetYUV(
373
373
  // Returns NULL in case the incremental decoder object is in an invalid state.
374
374
  // Otherwise returns the pointer to the internal representation. This structure
375
375
  // is read-only, tied to WebPIDecoder's lifespan and should not be modified.
376
- WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea(
376
+ WEBP_NODISCARD WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea(
377
377
  const WebPIDecoder* idec, int* left, int* top, int* width, int* height);
378
378
 
379
379
  //------------------------------------------------------------------------------
@@ -389,7 +389,7 @@ WEBP_EXTERN const WebPDecBuffer* WebPIDecodedArea(
389
389
  CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK);
390
390
 
391
391
  // C) Adjust 'config', if needed
392
- config.no_fancy_upsampling = 1;
392
+ config.options.no_fancy_upsampling = 1;
393
393
  config.output.colorspace = MODE_BGRA;
394
394
  // etc.
395
395
 
@@ -468,12 +468,14 @@ struct WebPDecoderConfig {
468
468
  };
469
469
 
470
470
  // Internal, version-checked, entry point
471
- WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*, int);
471
+ WEBP_NODISCARD WEBP_EXTERN int WebPInitDecoderConfigInternal(WebPDecoderConfig*,
472
+ int);
472
473
 
473
474
  // Initialize the configuration as empty. This function must always be
474
475
  // called first, unless WebPGetFeatures() is to be called.
475
476
  // Returns false in case of mismatched version.
476
- static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) {
477
+ WEBP_NODISCARD static WEBP_INLINE int WebPInitDecoderConfig(
478
+ WebPDecoderConfig* config) {
477
479
  return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION);
478
480
  }
479
481
 
@@ -488,8 +490,8 @@ static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) {
488
490
  // The return WebPIDecoder object must always be deleted calling WebPIDelete().
489
491
  // Returns NULL in case of error (and config->status will then reflect
490
492
  // the error condition, if available).
491
- WEBP_EXTERN WebPIDecoder* WebPIDecode(const uint8_t* data, size_t data_size,
492
- WebPDecoderConfig* config);
493
+ WEBP_NODISCARD WEBP_EXTERN WebPIDecoder* WebPIDecode(
494
+ const uint8_t* data, size_t data_size, WebPDecoderConfig* config);
493
495
 
494
496
  // Non-incremental version. This version decodes the full data at once, taking
495
497
  // 'config' into account. Returns decoding status (which should be VP8_STATUS_OK