@img/sharp-libvips-dev 1.2.0-rc.3 → 1.2.0

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 (38) hide show
  1. package/include/fontconfig/fontconfig.h +12 -2
  2. package/include/glib-2.0/girepository/girepository.h +3 -0
  3. package/include/glib-2.0/glib/gmarkup.h +4 -0
  4. package/include/libheif/heif.h +16 -2603
  5. package/include/libheif/heif_aux_images.h +182 -0
  6. package/include/libheif/heif_brands.h +373 -0
  7. package/include/libheif/heif_color.h +357 -0
  8. package/include/libheif/heif_context.h +329 -0
  9. package/include/libheif/heif_cxx.h +6 -6
  10. package/include/libheif/heif_decoding.h +162 -0
  11. package/include/libheif/heif_encoding.h +391 -0
  12. package/include/libheif/heif_entity_groups.h +60 -0
  13. package/include/libheif/heif_error.h +302 -0
  14. package/include/libheif/heif_image.h +352 -0
  15. package/include/libheif/heif_image_handle.h +120 -0
  16. package/include/libheif/heif_items.h +45 -45
  17. package/include/libheif/heif_library.h +216 -0
  18. package/include/libheif/heif_metadata.h +133 -0
  19. package/include/libheif/heif_plugin.h +53 -41
  20. package/include/libheif/heif_properties.h +73 -36
  21. package/include/libheif/heif_regions.h +95 -95
  22. package/include/libheif/heif_security.h +102 -0
  23. package/include/libheif/heif_sequences.h +577 -0
  24. package/include/libheif/heif_tai_timestamps.h +202 -0
  25. package/include/libheif/heif_tiling.h +137 -0
  26. package/include/libheif/heif_uncompressed.h +109 -0
  27. package/include/libheif/heif_version.h +2 -2
  28. package/include/libpng16/png.h +7 -7
  29. package/include/libpng16/pngconf.h +1 -1
  30. package/include/libpng16/pnglibconf.h +1 -1
  31. package/include/pango-1.0/pango/pango-attributes.h +1 -1
  32. package/include/pango-1.0/pango/pango-features.h +2 -2
  33. package/include/png.h +7 -7
  34. package/include/pngconf.h +1 -1
  35. package/include/pnglibconf.h +1 -1
  36. package/include/vips/version.h +4 -4
  37. package/package.json +1 -1
  38. package/versions.json +5 -5
@@ -0,0 +1,182 @@
1
+ /*
2
+ * HEIF codec.
3
+ * Copyright (c) 2017-2025 Dirk Farin <dirk.farin@gmail.com>
4
+ *
5
+ * This file is part of libheif.
6
+ *
7
+ * libheif is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as
9
+ * published by the Free Software Foundation, either version 3 of
10
+ * the License, or (at your option) any later version.
11
+ *
12
+ * libheif is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with libheif. If not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+
21
+ #ifndef LIBHEIF_HEIF_AUX_IMAGES_H
22
+ #define LIBHEIF_HEIF_AUX_IMAGES_H
23
+
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
28
+ #include <libheif/heif_library.h>
29
+ #include <libheif/heif_image.h>
30
+ #include <libheif/heif_error.h>
31
+
32
+ typedef struct heif_encoder heif_encoder;
33
+ typedef struct heif_encoding_options heif_encoding_options;
34
+
35
+
36
+ // ------------------------- depth images -------------------------
37
+
38
+ LIBHEIF_API
39
+ int heif_image_handle_has_depth_image(const heif_image_handle*);
40
+
41
+ LIBHEIF_API
42
+ int heif_image_handle_get_number_of_depth_images(const heif_image_handle* handle);
43
+
44
+ LIBHEIF_API
45
+ int heif_image_handle_get_list_of_depth_image_IDs(const heif_image_handle* handle,
46
+ heif_item_id* ids, int count);
47
+
48
+ LIBHEIF_API
49
+ heif_error heif_image_handle_get_depth_image_handle(const heif_image_handle* handle,
50
+ heif_item_id depth_image_id,
51
+ heif_image_handle** out_depth_handle);
52
+
53
+
54
+ enum heif_depth_representation_type {
55
+ heif_depth_representation_type_uniform_inverse_Z = 0,
56
+ heif_depth_representation_type_uniform_disparity = 1,
57
+ heif_depth_representation_type_uniform_Z = 2,
58
+ heif_depth_representation_type_nonuniform_disparity = 3
59
+ };
60
+
61
+ typedef struct heif_depth_representation_info {
62
+ uint8_t version;
63
+
64
+ // version 1 fields
65
+
66
+ uint8_t has_z_near;
67
+ uint8_t has_z_far;
68
+ uint8_t has_d_min;
69
+ uint8_t has_d_max;
70
+
71
+ double z_near;
72
+ double z_far;
73
+ double d_min;
74
+ double d_max;
75
+
76
+ enum heif_depth_representation_type depth_representation_type;
77
+ uint32_t disparity_reference_view;
78
+
79
+ uint32_t depth_nonlinear_representation_model_size;
80
+ uint8_t* depth_nonlinear_representation_model;
81
+
82
+ // version 2 fields below
83
+ } heif_depth_representation_info;
84
+
85
+
86
+ LIBHEIF_API
87
+ void heif_depth_representation_info_free(const heif_depth_representation_info* info);
88
+
89
+ // Returns true when there is depth_representation_info available
90
+ // Note 1: depth_image_id is currently unused because we support only one depth channel per image, but
91
+ // you should still provide the correct ID for future compatibility.
92
+ // Note 2: Because of an API bug before v1.11.0, the function also works when 'handle' is the handle of the depth image.
93
+ // However, you should pass the handle of the main image. Please adapt your code if needed.
94
+ LIBHEIF_API
95
+ int heif_image_handle_get_depth_image_representation_info(const heif_image_handle* handle,
96
+ heif_item_id depth_image_id,
97
+ const heif_depth_representation_info** out);
98
+
99
+
100
+
101
+ // ------------------------- thumbnails -------------------------
102
+
103
+ // List the number of thumbnails assigned to this image handle. Usually 0 or 1.
104
+ LIBHEIF_API
105
+ int heif_image_handle_get_number_of_thumbnails(const heif_image_handle* handle);
106
+
107
+ LIBHEIF_API
108
+ int heif_image_handle_get_list_of_thumbnail_IDs(const heif_image_handle* handle,
109
+ heif_item_id* ids, int count);
110
+
111
+ // Get the image handle of a thumbnail image.
112
+ LIBHEIF_API
113
+ heif_error heif_image_handle_get_thumbnail(const heif_image_handle* main_image_handle,
114
+ heif_item_id thumbnail_id,
115
+ heif_image_handle** out_thumbnail_handle);
116
+
117
+
118
+ // Encode the 'image' as a scaled down thumbnail image.
119
+ // The image is scaled down to fit into a square area of width 'bbox_size'.
120
+ // If the input image is already so small that it fits into this bounding box, no thumbnail
121
+ // image is encoded and NULL is returned in 'out_thumb_image_handle'.
122
+ // No error is returned in this case.
123
+ // The encoded thumbnail is automatically assigned to the 'master_image_handle'. Hence, you
124
+ // do not have to call heif_context_assign_thumbnail().
125
+ LIBHEIF_API
126
+ heif_error heif_context_encode_thumbnail(heif_context*,
127
+ const heif_image* image,
128
+ const heif_image_handle* master_image_handle,
129
+ heif_encoder* encoder,
130
+ const heif_encoding_options* options,
131
+ int bbox_size,
132
+ heif_image_handle** out_thumb_image_handle);
133
+
134
+ // Assign 'thumbnail_image' as the thumbnail image of 'master_image'.
135
+ LIBHEIF_API
136
+ heif_error heif_context_assign_thumbnail(struct heif_context*,
137
+ const heif_image_handle* master_image,
138
+ const heif_image_handle* thumbnail_image);
139
+
140
+
141
+ // ------------------------- auxiliary images -------------------------
142
+
143
+ #define LIBHEIF_AUX_IMAGE_FILTER_OMIT_ALPHA (1UL<<1)
144
+ #define LIBHEIF_AUX_IMAGE_FILTER_OMIT_DEPTH (2UL<<1)
145
+
146
+ // List the number of auxiliary images assigned to this image handle.
147
+ LIBHEIF_API
148
+ int heif_image_handle_get_number_of_auxiliary_images(const heif_image_handle* handle,
149
+ int aux_filter);
150
+
151
+ LIBHEIF_API
152
+ int heif_image_handle_get_list_of_auxiliary_image_IDs(const heif_image_handle* handle,
153
+ int aux_filter,
154
+ heif_item_id* ids, int count);
155
+
156
+ // You are responsible to deallocate the returned buffer with heif_image_handle_release_auxiliary_type().
157
+ LIBHEIF_API
158
+ heif_error heif_image_handle_get_auxiliary_type(const heif_image_handle* handle,
159
+ const char** out_type);
160
+
161
+ LIBHEIF_API
162
+ void heif_image_handle_release_auxiliary_type(const heif_image_handle* handle,
163
+ const char** out_type);
164
+
165
+ // Get the image handle of an auxiliary image.
166
+ LIBHEIF_API
167
+ heif_error heif_image_handle_get_auxiliary_image_handle(const heif_image_handle* main_image_handle,
168
+ heif_item_id auxiliary_id,
169
+ heif_image_handle** out_auxiliary_handle);
170
+
171
+ // ===================== DEPRECATED =====================
172
+
173
+ // DEPRECATED (because typo in function name). Use heif_image_handle_release_auxiliary_type() instead.
174
+ LIBHEIF_API
175
+ void heif_image_handle_free_auxiliary_types(const heif_image_handle* handle,
176
+ const char** out_type);
177
+
178
+ #ifdef __cplusplus
179
+ }
180
+ #endif
181
+
182
+ #endif
@@ -0,0 +1,373 @@
1
+ /*
2
+ * HEIF codec.
3
+ * Copyright (c) 2017-2023 Dirk Farin <dirk.farin@gmail.com>
4
+ *
5
+ * This file is part of libheif.
6
+ *
7
+ * libheif is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Lesser General Public License as
9
+ * published by the Free Software Foundation, either version 3 of
10
+ * the License, or (at your option) any later version.
11
+ *
12
+ * libheif is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with libheif. If not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+
21
+ #ifndef LIBHEIF_HEIF_BRANDS_H
22
+ #define LIBHEIF_HEIF_BRANDS_H
23
+
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
28
+ #include <stddef.h>
29
+ #include <stdint.h>
30
+
31
+ #include <libheif/heif_library.h>
32
+
33
+
34
+
35
+ typedef uint32_t heif_brand2;
36
+
37
+ /**
38
+ * HEVC image (`heic`) brand.
39
+ *
40
+ * Image conforms to HEVC (H.265) Main or Main Still profile.
41
+ *
42
+ * See ISO/IEC 23008-12:2022 Section B.4.1.
43
+ */
44
+ #define heif_brand2_heic heif_fourcc('h','e','i','c')
45
+
46
+ /**
47
+ * HEVC image (`heix`) brand.
48
+ *
49
+ * Image conforms to HEVC (H.265) Main 10 profile.
50
+ *
51
+ * See ISO/IEC 23008-12:2022 Section B.4.1.
52
+ */
53
+ #define heif_brand2_heix heif_fourcc('h','e','i','x')
54
+
55
+ /**
56
+ * HEVC image sequence (`hevc`) brand.
57
+ *
58
+ * Image sequence conforms to HEVC (H.265) Main profile.
59
+ *
60
+ * See ISO/IEC 23008-12:2022 Section B.4.2.
61
+ */
62
+ #define heif_brand2_hevc heif_fourcc('h','e','v','c')
63
+
64
+ /**
65
+ * HEVC image sequence (`hevx`) brand.
66
+ *
67
+ * Image sequence conforms to HEVC (H.265) Main 10 profile.
68
+ *
69
+ * See ISO/IEC 23008-12:2022 Section B.4.2.
70
+ */
71
+ #define heif_brand2_hevx heif_fourcc('h','e','v','x')
72
+
73
+ /**
74
+ * HEVC layered image (`heim`) brand.
75
+ *
76
+ * Image layers conform to HEVC (H.265) Main or Multiview Main profile.
77
+ *
78
+ * See ISO/IEC 23008-12:2022 Section B.4.3.
79
+ */
80
+ #define heif_brand2_heim heif_fourcc('h','e','i','m')
81
+
82
+ /**
83
+ * HEVC layered image (`heis`) brand.
84
+ *
85
+ * Image layers conform to HEVC (H.265) Main, Main 10, Scalable Main
86
+ * or Scalable Main 10 profile.
87
+ *
88
+ * See ISO/IEC 23008-12:2022 Section B.4.3.
89
+ */
90
+ #define heif_brand2_heis heif_fourcc('h','e','i','s')
91
+
92
+ /**
93
+ * HEVC layered image sequence (`hevm`) brand.
94
+ *
95
+ * Image sequence layers conform to HEVC (H.265) Main or Multiview Main profile.
96
+ *
97
+ * See ISO/IEC 23008-12:2022 Section B.4.4.
98
+ */
99
+ #define heif_brand2_hevm heif_fourcc('h','e','v','m')
100
+
101
+ /**
102
+ * HEVC layered image sequence (`hevs`) brand.
103
+ *
104
+ * Image sequence layers conform to HEVC (H.265) Main, Main 10, Scalable Main
105
+ * or Scalable Main 10 profile.
106
+ *
107
+ * See ISO/IEC 23008-12:2022 Section B.4.4.
108
+ */
109
+ #define heif_brand2_hevs heif_fourcc('h','e','v','s')
110
+
111
+ /**
112
+ * AV1 image (`avif`) brand.
113
+ *
114
+ * See https://aomediacodec.github.io/av1-avif/#image-and-image-collection-brand
115
+ */
116
+ #define heif_brand2_avif heif_fourcc('a','v','i','f')
117
+
118
+ /**
119
+ * AV1 image sequence (`avis`) brand.
120
+ *
121
+ * See https://aomediacodec.github.io/av1-avif/#image-sequence-brand
122
+ */
123
+ #define heif_brand2_avis heif_fourcc('a','v','i','s') // AVIF sequence
124
+
125
+ /**
126
+ * HEIF image structural brand (`mif1`).
127
+ *
128
+ * This does not imply a specific coding algorithm.
129
+ *
130
+ * See ISO/IEC 23008-12:2022 Section 10.2.2.
131
+ */
132
+ #define heif_brand2_mif1 heif_fourcc('m','i','f','1')
133
+
134
+ /**
135
+ * HEIF image structural brand (`mif2`).
136
+ *
137
+ * This does not imply a specific coding algorithm. `mif2` extends
138
+ * the requirements of `mif1` to include the `rref` and `iscl` item
139
+ * properties.
140
+ *
141
+ * See ISO/IEC 23008-12:2022 Section 10.2.3.
142
+ */
143
+ #define heif_brand2_mif2 heif_fourcc('m','i','f','2')
144
+
145
+ /**
146
+ * HEIF image structural brand (`mif3`).
147
+ *
148
+ * This indicates the low-overhead (ftyp+mini) structure.
149
+ */
150
+ #define heif_brand2_mif3 heif_fourcc('m','i','f','3')
151
+
152
+ /**
153
+ * HEIF image sequence structural brand (`msf1`).
154
+ *
155
+ * This does not imply a specific coding algorithm.
156
+ *
157
+ * See ISO/IEC 23008-12:2022 Section 10.3.1.
158
+ */
159
+ #define heif_brand2_msf1 heif_fourcc('m','s','f','1')
160
+
161
+ /**
162
+ * VVC image (`vvic`) brand.
163
+ *
164
+ * See ISO/IEC 23008-12:2022 Section L.4.1.
165
+ */
166
+ #define heif_brand2_vvic heif_fourcc('v','v','i','c')
167
+
168
+ /**
169
+ * VVC image sequence (`vvis`) brand.
170
+ *
171
+ * See ISO/IEC 23008-12:2022 Section L.4.2.
172
+ */
173
+ #define heif_brand2_vvis heif_fourcc('v','v','i','s')
174
+
175
+ /**
176
+ * EVC baseline image (`evbi`) brand.
177
+ *
178
+ * See ISO/IEC 23008-12:2022 Section M.4.1.
179
+ */
180
+ #define heif_brand2_evbi heif_fourcc('e','v','b','i')
181
+
182
+ /**
183
+ * EVC main profile image (`evmi`) brand.
184
+ *
185
+ * See ISO/IEC 23008-12:2022 Section M.4.2.
186
+ */
187
+ #define heif_brand2_evmi heif_fourcc('e','v','m','i')
188
+
189
+ /**
190
+ * EVC baseline image sequence (`evbs`) brand.
191
+ *
192
+ * See ISO/IEC 23008-12:2022 Section M.4.3.
193
+ */
194
+ #define heif_brand2_evbs heif_fourcc('e','v','b','s')
195
+
196
+ /**
197
+ * EVC main profile image sequence (`evms`) brand.
198
+ *
199
+ * See ISO/IEC 23008-12:2022 Section M.4.4.
200
+ */
201
+ #define heif_brand2_evms heif_fourcc('e','v','m','s')
202
+
203
+ /**
204
+ * JPEG image (`jpeg`) brand.
205
+ *
206
+ * See ISO/IEC 23008-12:2022 Annex H.4
207
+ */
208
+ #define heif_brand2_jpeg heif_fourcc('j','p','e','g')
209
+
210
+ /**
211
+ * JPEG image sequence (`jpgs`) brand.
212
+ *
213
+ * See ISO/IEC 23008-12:2022 Annex H.5
214
+ */
215
+ #define heif_brand2_jpgs heif_fourcc('j','p','g','s')
216
+
217
+ /**
218
+ * JPEG 2000 image (`j2ki`) brand.
219
+ *
220
+ * See ISO/IEC 15444-16:2021 Section 6.5
221
+ */
222
+ #define heif_brand2_j2ki heif_fourcc('j','2','k','i')
223
+
224
+ /**
225
+ * JPEG 2000 image sequence (`j2is`) brand.
226
+ *
227
+ * See ISO/IEC 15444-16:2021 Section 7.6
228
+ */
229
+ #define heif_brand2_j2is heif_fourcc('j','2','i','s')
230
+
231
+ /**
232
+ * Multi-image application format (MIAF) brand.
233
+ *
234
+ * This is HEIF with additional constraints for interoperability.
235
+ *
236
+ * See ISO/IEC 23000-22.
237
+ */
238
+ #define heif_brand2_miaf heif_fourcc('m','i','a','f')
239
+
240
+ /**
241
+ * Single picture file brand.
242
+ *
243
+ * This is a compatible brand indicating the file contains a single intra-coded picture.
244
+ *
245
+ * See ISO/IEC 23008-12:2022 Section 10.2.5.
246
+ */
247
+ #define heif_brand2_1pic heif_fourcc('1','p','i','c')
248
+
249
+ // H.264
250
+ #define heif_brand2_avci heif_fourcc('a','v','c','i')
251
+ #define heif_brand2_avcs heif_fourcc('a','v','c','s')
252
+
253
+ #define heif_brand2_iso8 heif_fourcc('i','s','o','8')
254
+
255
+ // input data should be at least 12 bytes
256
+ LIBHEIF_API
257
+ heif_brand2 heif_read_main_brand(const uint8_t* data, int len);
258
+
259
+ // input data should be at least 16 bytes
260
+ LIBHEIF_API
261
+ heif_brand2 heif_read_minor_version_brand(const uint8_t* data, int len);
262
+
263
+ // 'brand_fourcc' must be 4 character long, but need not be 0-terminated
264
+ LIBHEIF_API
265
+ heif_brand2 heif_fourcc_to_brand(const char* brand_fourcc);
266
+
267
+ // the output buffer must be at least 4 bytes long
268
+ LIBHEIF_API
269
+ void heif_brand_to_fourcc(heif_brand2 brand, char* out_fourcc);
270
+
271
+ // 'brand_fourcc' must be 4 character long, but need not be 0-terminated
272
+ // returns 1 if file includes the brand, and 0 if it does not
273
+ // returns -1 if the provided data is not sufficient
274
+ // (you should input at least as many bytes as indicated in the first 4 bytes of the file, usually ~50 bytes will do)
275
+ // returns -2 on other errors
276
+ LIBHEIF_API
277
+ int heif_has_compatible_brand(const uint8_t* data, int len, const char* brand_fourcc);
278
+
279
+ // Returns an array of compatible brands. The array is allocated by this function and has to be freed with 'heif_free_list_of_compatible_brands()'.
280
+ // The number of entries is returned in out_size.
281
+ LIBHEIF_API
282
+ struct heif_error heif_list_compatible_brands(const uint8_t* data, int len, heif_brand2** out_brands, int* out_size);
283
+
284
+ LIBHEIF_API
285
+ void heif_free_list_of_compatible_brands(heif_brand2* brands_list);
286
+
287
+
288
+
289
+ // Returns one of these MIME types:
290
+ // - image/heic HEIF file using h265 compression
291
+ // - image/heif HEIF file using any other compression
292
+ // - image/heic-sequence HEIF image sequence using h265 compression
293
+ // - image/heif-sequence HEIF image sequence using any other compression
294
+ // - image/avif AVIF image
295
+ // - image/avif-sequence AVIF sequence
296
+ // - image/jpeg JPEG image
297
+ // - image/png PNG image
298
+ // If the format could not be detected, an empty string is returned.
299
+ //
300
+ // Provide at least 12 bytes of input. With less input, its format might not
301
+ // be detected. You may also provide more input to increase detection accuracy.
302
+ //
303
+ // Note that JPEG and PNG images cannot be decoded by libheif even though the
304
+ // formats are detected by this function.
305
+ LIBHEIF_API
306
+ const char* heif_get_file_mime_type(const uint8_t* data, int len);
307
+
308
+
309
+ // ========================= file type check ======================
310
+
311
+ enum heif_filetype_result
312
+ {
313
+ heif_filetype_no,
314
+ heif_filetype_yes_supported, // it is heif and can be read by libheif
315
+ heif_filetype_yes_unsupported, // it is heif, but cannot be read by libheif
316
+ heif_filetype_maybe // not sure whether it is an heif, try detection with more input data
317
+ };
318
+
319
+ // input data should be at least 12 bytes
320
+ LIBHEIF_API
321
+ enum heif_filetype_result heif_check_filetype(const uint8_t* data, int len);
322
+
323
+ /**
324
+ * Check the filetype box content for a supported file type.
325
+ *
326
+ * <p>The data is assumed to start from the start of the `ftyp` box.
327
+ *
328
+ * <p>This function checks the compatible brands.
329
+ *
330
+ * @returns heif_error_ok if a supported brand is found, or other error if not.
331
+ */
332
+ LIBHEIF_API
333
+ heif_error heif_has_compatible_filetype(const uint8_t* data, int len);
334
+
335
+ LIBHEIF_API
336
+ int heif_check_jpeg_filetype(const uint8_t* data, int len);
337
+
338
+
339
+ // ===================== DEPRECATED =====================
340
+
341
+ // DEPRECATED, use heif_brand2 and the heif_brand2_* constants instead
342
+ enum heif_brand
343
+ {
344
+ heif_unknown_brand,
345
+ heif_heic, // HEIF image with h265
346
+ heif_heix, // 10bit images, or anything that uses h265 with range extension
347
+ heif_hevc, heif_hevx, // brands for image sequences
348
+ heif_heim, // multiview
349
+ heif_heis, // scalable
350
+ heif_hevm, // multiview sequence
351
+ heif_hevs, // scalable sequence
352
+ heif_mif1, // image, any coding algorithm
353
+ heif_msf1, // sequence, any coding algorithm
354
+ heif_avif, // HEIF image with AV1
355
+ heif_avis,
356
+ heif_vvic, // VVC image
357
+ heif_vvis, // VVC sequence
358
+ heif_evbi, // EVC image
359
+ heif_evbs, // EVC sequence
360
+ heif_j2ki, // JPEG2000 image
361
+ heif_j2is, // JPEG2000 image sequence
362
+ };
363
+
364
+ // input data should be at least 12 bytes
365
+ // DEPRECATED, use heif_read_main_brand() instead
366
+ LIBHEIF_API
367
+ enum heif_brand heif_main_brand(const uint8_t* data, int len);
368
+
369
+ #ifdef __cplusplus
370
+ }
371
+ #endif
372
+
373
+ #endif