1 // Copyright 2024 Google LLC
2 // SPDX-License-Identifier: BSD-2-Clause
3 
4 #include <cstddef>
5 #include <cstdint>
6 #include <iostream>
7 #include <string>
8 
9 #include "avif/avif.h"
10 #include "aviftest_helpers.h"
11 #include "gtest/gtest.h"
12 
13 namespace avif {
14 namespace {
15 
16 // Used to pass the data folder path to the GoogleTest suites.
17 const char* data_path = nullptr;
18 
19 struct ExpectedImageInfo {
20   const char* filename;
21   uint32_t width;
22   uint32_t height;
23   uint8_t depth;
24   avifPixelFormat yuv_format;
25   avifBool alpha_present;
26   avifBool full_range;
27   avifColorPrimaries color_primaries;
28   avifTransferCharacteristics transfer_characteristics;
29   avifMatrixCoefficients matrix_coefficients;
30   size_t color_obu_size;
31   size_t alpha_obu_size;
32 };
33 
34 constexpr ExpectedImageInfo kExpectedImageInfos[] = {
35     // index: 0
36     {
37         "Apple/edge_case_testing/non_compliant/"
38         "truncated_elementary_stream.avif",
39         1024,
40         768,
41         8,
42         AVIF_PIXEL_FORMAT_YUV420,
43         AVIF_FALSE,
44         AVIF_TRUE,
45         (avifColorPrimaries)12,
46         (avifTransferCharacteristics)13,
47         (avifMatrixCoefficients)6,
48         122336,
49         0,
50     },
51     // index: 1
52     {
53         "Apple/edge_case_testing/unknown_properties/free_property.avif",
54         2048,
55         1536,
56         8,
57         AVIF_PIXEL_FORMAT_YUV420,
58         AVIF_FALSE,
59         AVIF_TRUE,
60         (avifColorPrimaries)12,
61         (avifTransferCharacteristics)13,
62         (avifMatrixCoefficients)6,
63         2063701,
64         0,
65     },
66     // index: 2
67     {
68         "Apple/edge_case_testing/unknown_properties/"
69         "unknown_nonessential_property.avif",
70         2048,
71         1536,
72         8,
73         AVIF_PIXEL_FORMAT_YUV420,
74         AVIF_FALSE,
75         AVIF_TRUE,
76         (avifColorPrimaries)12,
77         (avifTransferCharacteristics)13,
78         (avifMatrixCoefficients)6,
79         2063701,
80         0,
81     },
82     // index: 3
83     {
84         "Apple/multilayer_examples/animals_00_multilayer_a1lx.avif",
85         2048,
86         1536,
87         8,
88         AVIF_PIXEL_FORMAT_YUV420,
89         AVIF_FALSE,
90         AVIF_TRUE,
91         (avifColorPrimaries)12,
92         (avifTransferCharacteristics)13,
93         (avifMatrixCoefficients)6,
94         1999503,
95         0,
96     },
97     // index: 4
98     {
99         "Apple/multilayer_examples/animals_00_multilayer_a1op.avif",
100         2048,
101         1536,
102         8,
103         AVIF_PIXEL_FORMAT_YUV420,
104         AVIF_FALSE,
105         AVIF_TRUE,
106         (avifColorPrimaries)12,
107         (avifTransferCharacteristics)13,
108         (avifMatrixCoefficients)6,
109         1999503,
110         0,
111     },
112     // index: 5
113     {
114         "Apple/multilayer_examples/animals_00_multilayer_a1op_lsel.avif",
115         2048,
116         1536,
117         8,
118         AVIF_PIXEL_FORMAT_YUV420,
119         AVIF_FALSE,
120         AVIF_TRUE,
121         (avifColorPrimaries)12,
122         (avifTransferCharacteristics)13,
123         (avifMatrixCoefficients)6,
124         1999503,
125         0,
126     },
127     // index: 6
128     {
129         "Apple/multilayer_examples/animals_00_multilayer_grid_a1lx.avif",
130         2048,
131         1536,
132         8,
133         AVIF_PIXEL_FORMAT_YUV420,
134         AVIF_FALSE,
135         AVIF_TRUE,
136         (avifColorPrimaries)12,
137         (avifTransferCharacteristics)13,
138         (avifMatrixCoefficients)6,
139         2306164,
140         0,
141     },
142     // index: 7
143     {
144         "Apple/multilayer_examples/animals_00_multilayer_grid_lsel.avif",
145         2048,
146         1536,
147         8,
148         AVIF_PIXEL_FORMAT_YUV420,
149         AVIF_FALSE,
150         AVIF_TRUE,
151         (avifColorPrimaries)12,
152         (avifTransferCharacteristics)13,
153         (avifMatrixCoefficients)6,
154         2306164,
155         0,
156     },
157     // index: 8
158     {
159         "Apple/multilayer_examples/animals_00_multilayer_lsel.avif",
160         2048,
161         1536,
162         8,
163         AVIF_PIXEL_FORMAT_YUV420,
164         AVIF_FALSE,
165         AVIF_TRUE,
166         (avifColorPrimaries)12,
167         (avifTransferCharacteristics)13,
168         (avifMatrixCoefficients)6,
169         1999503,
170         0,
171     },
172     // index: 9
173     {
174         "Apple/multilayer_examples/animals_00_singlelayer.avif",
175         2048,
176         1536,
177         8,
178         AVIF_PIXEL_FORMAT_YUV420,
179         AVIF_FALSE,
180         AVIF_TRUE,
181         (avifColorPrimaries)12,
182         (avifTransferCharacteristics)13,
183         (avifMatrixCoefficients)6,
184         2063701,
185         0,
186     },
187     // index: 10
188     {
189         "Link-U/fox.profile0.10bpc.yuv420.avif",
190         1204,
191         800,
192         10,
193         AVIF_PIXEL_FORMAT_YUV420,
194         AVIF_FALSE,
195         AVIF_FALSE,
196         (avifColorPrimaries)2,
197         (avifTransferCharacteristics)2,
198         (avifMatrixCoefficients)2,
199         64098,
200         0,
201     },
202     // index: 11
203     {
204         "Link-U/fox.profile0.10bpc.yuv420.monochrome.avif",
205         1204,
206         800,
207         10,
208         AVIF_PIXEL_FORMAT_YUV400,
209         AVIF_FALSE,
210         AVIF_FALSE,
211         (avifColorPrimaries)2,
212         (avifTransferCharacteristics)2,
213         (avifMatrixCoefficients)2,
214         56116,
215         0,
216     },
217     // index: 12
218     {
219         "Link-U/fox.profile0.10bpc.yuv420.monochrome.odd-height.avif",
220         1204,
221         799,
222         10,
223         AVIF_PIXEL_FORMAT_YUV400,
224         AVIF_FALSE,
225         AVIF_FALSE,
226         (avifColorPrimaries)2,
227         (avifTransferCharacteristics)2,
228         (avifMatrixCoefficients)2,
229         55174,
230         0,
231     },
232     // index: 13
233     {
234         "Link-U/fox.profile0.10bpc.yuv420.monochrome.odd-width.avif",
235         1203,
236         800,
237         10,
238         AVIF_PIXEL_FORMAT_YUV400,
239         AVIF_FALSE,
240         AVIF_FALSE,
241         (avifColorPrimaries)2,
242         (avifTransferCharacteristics)2,
243         (avifMatrixCoefficients)2,
244         55254,
245         0,
246     },
247     // index: 14
248     {
249         "Link-U/fox.profile0.10bpc.yuv420.monochrome.odd-width.odd-height.avif",
250         1203,
251         799,
252         10,
253         AVIF_PIXEL_FORMAT_YUV400,
254         AVIF_FALSE,
255         AVIF_FALSE,
256         (avifColorPrimaries)2,
257         (avifTransferCharacteristics)2,
258         (avifMatrixCoefficients)2,
259         54589,
260         0,
261     },
262     // index: 15
263     {
264         "Link-U/fox.profile0.10bpc.yuv420.odd-height.avif",
265         1204,
266         799,
267         10,
268         AVIF_PIXEL_FORMAT_YUV420,
269         AVIF_FALSE,
270         AVIF_FALSE,
271         (avifColorPrimaries)2,
272         (avifTransferCharacteristics)2,
273         (avifMatrixCoefficients)2,
274         63262,
275         0,
276     },
277     // index: 16
278     {
279         "Link-U/fox.profile0.10bpc.yuv420.odd-width.avif",
280         1203,
281         800,
282         10,
283         AVIF_PIXEL_FORMAT_YUV420,
284         AVIF_FALSE,
285         AVIF_FALSE,
286         (avifColorPrimaries)2,
287         (avifTransferCharacteristics)2,
288         (avifMatrixCoefficients)2,
289         63442,
290         0,
291     },
292     // index: 17
293     {
294         "Link-U/fox.profile0.10bpc.yuv420.odd-width.odd-height.avif",
295         1203,
296         799,
297         10,
298         AVIF_PIXEL_FORMAT_YUV420,
299         AVIF_FALSE,
300         AVIF_FALSE,
301         (avifColorPrimaries)2,
302         (avifTransferCharacteristics)2,
303         (avifMatrixCoefficients)2,
304         62619,
305         0,
306     },
307     // index: 18
308     {
309         "Link-U/fox.profile0.8bpc.yuv420.avif",
310         1204,
311         800,
312         8,
313         AVIF_PIXEL_FORMAT_YUV420,
314         AVIF_FALSE,
315         AVIF_FALSE,
316         (avifColorPrimaries)2,
317         (avifTransferCharacteristics)2,
318         (avifMatrixCoefficients)2,
319         63157,
320         0,
321     },
322     // index: 19
323     {
324         "Link-U/fox.profile0.8bpc.yuv420.monochrome.avif",
325         1204,
326         800,
327         8,
328         AVIF_PIXEL_FORMAT_YUV400,
329         AVIF_FALSE,
330         AVIF_FALSE,
331         (avifColorPrimaries)2,
332         (avifTransferCharacteristics)2,
333         (avifMatrixCoefficients)2,
334         55329,
335         0,
336     },
337     // index: 20
338     {
339         "Link-U/fox.profile0.8bpc.yuv420.monochrome.odd-height.avif",
340         1204,
341         799,
342         8,
343         AVIF_PIXEL_FORMAT_YUV400,
344         AVIF_FALSE,
345         AVIF_FALSE,
346         (avifColorPrimaries)2,
347         (avifTransferCharacteristics)2,
348         (avifMatrixCoefficients)2,
349         54376,
350         0,
351     },
352     // index: 21
353     {
354         "Link-U/fox.profile0.8bpc.yuv420.monochrome.odd-width.avif",
355         1203,
356         800,
357         8,
358         AVIF_PIXEL_FORMAT_YUV400,
359         AVIF_FALSE,
360         AVIF_FALSE,
361         (avifColorPrimaries)2,
362         (avifTransferCharacteristics)2,
363         (avifMatrixCoefficients)2,
364         54460,
365         0,
366     },
367     // index: 22
368     {
369         "Link-U/fox.profile0.8bpc.yuv420.monochrome.odd-width.odd-height.avif",
370         1203,
371         799,
372         8,
373         AVIF_PIXEL_FORMAT_YUV400,
374         AVIF_FALSE,
375         AVIF_FALSE,
376         (avifColorPrimaries)2,
377         (avifTransferCharacteristics)2,
378         (avifMatrixCoefficients)2,
379         53836,
380         0,
381     },
382     // index: 23
383     {
384         "Link-U/fox.profile0.8bpc.yuv420.odd-height.avif",
385         1204,
386         799,
387         8,
388         AVIF_PIXEL_FORMAT_YUV420,
389         AVIF_FALSE,
390         AVIF_FALSE,
391         (avifColorPrimaries)2,
392         (avifTransferCharacteristics)2,
393         (avifMatrixCoefficients)2,
394         62451,
395         0,
396     },
397     // index: 24
398     {
399         "Link-U/fox.profile0.8bpc.yuv420.odd-width.avif",
400         1203,
401         800,
402         8,
403         AVIF_PIXEL_FORMAT_YUV420,
404         AVIF_FALSE,
405         AVIF_FALSE,
406         (avifColorPrimaries)2,
407         (avifTransferCharacteristics)2,
408         (avifMatrixCoefficients)2,
409         62535,
410         0,
411     },
412     // index: 25
413     {
414         "Link-U/fox.profile0.8bpc.yuv420.odd-width.odd-height.avif",
415         1203,
416         799,
417         8,
418         AVIF_PIXEL_FORMAT_YUV420,
419         AVIF_FALSE,
420         AVIF_FALSE,
421         (avifColorPrimaries)2,
422         (avifTransferCharacteristics)2,
423         (avifMatrixCoefficients)2,
424         61950,
425         0,
426     },
427     // index: 26
428     {
429         "Link-U/fox.profile1.10bpc.yuv444.avif",
430         1204,
431         800,
432         10,
433         AVIF_PIXEL_FORMAT_YUV444,
434         AVIF_FALSE,
435         AVIF_FALSE,
436         (avifColorPrimaries)2,
437         (avifTransferCharacteristics)2,
438         (avifMatrixCoefficients)2,
439         74745,
440         0,
441     },
442     // index: 27
443     {
444         "Link-U/fox.profile1.10bpc.yuv444.odd-height.avif",
445         1204,
446         799,
447         10,
448         AVIF_PIXEL_FORMAT_YUV444,
449         AVIF_FALSE,
450         AVIF_FALSE,
451         (avifColorPrimaries)2,
452         (avifTransferCharacteristics)2,
453         (avifMatrixCoefficients)2,
454         73212,
455         0,
456     },
457     // index: 28
458     {
459         "Link-U/fox.profile1.10bpc.yuv444.odd-width.avif",
460         1203,
461         800,
462         10,
463         AVIF_PIXEL_FORMAT_YUV444,
464         AVIF_FALSE,
465         AVIF_FALSE,
466         (avifColorPrimaries)2,
467         (avifTransferCharacteristics)2,
468         (avifMatrixCoefficients)2,
469         73266,
470         0,
471     },
472     // index: 29
473     {
474         "Link-U/fox.profile1.10bpc.yuv444.odd-width.odd-height.avif",
475         1203,
476         799,
477         10,
478         AVIF_PIXEL_FORMAT_YUV444,
479         AVIF_FALSE,
480         AVIF_FALSE,
481         (avifColorPrimaries)2,
482         (avifTransferCharacteristics)2,
483         (avifMatrixCoefficients)2,
484         72379,
485         0,
486     },
487     // index: 30
488     {
489         "Link-U/fox.profile1.8bpc.yuv444.avif",
490         1204,
491         800,
492         8,
493         AVIF_PIXEL_FORMAT_YUV444,
494         AVIF_FALSE,
495         AVIF_FALSE,
496         (avifColorPrimaries)2,
497         (avifTransferCharacteristics)2,
498         (avifMatrixCoefficients)2,
499         73902,
500         0,
501     },
502     // index: 31
503     {
504         "Link-U/fox.profile1.8bpc.yuv444.odd-height.avif",
505         1204,
506         799,
507         8,
508         AVIF_PIXEL_FORMAT_YUV444,
509         AVIF_FALSE,
510         AVIF_FALSE,
511         (avifColorPrimaries)2,
512         (avifTransferCharacteristics)2,
513         (avifMatrixCoefficients)2,
514         72478,
515         0,
516     },
517     // index: 32
518     {
519         "Link-U/fox.profile1.8bpc.yuv444.odd-width.avif",
520         1203,
521         800,
522         8,
523         AVIF_PIXEL_FORMAT_YUV444,
524         AVIF_FALSE,
525         AVIF_FALSE,
526         (avifColorPrimaries)2,
527         (avifTransferCharacteristics)2,
528         (avifMatrixCoefficients)2,
529         72769,
530         0,
531     },
532     // index: 33
533     {
534         "Link-U/fox.profile1.8bpc.yuv444.odd-width.odd-height.avif",
535         1203,
536         799,
537         8,
538         AVIF_PIXEL_FORMAT_YUV444,
539         AVIF_FALSE,
540         AVIF_FALSE,
541         (avifColorPrimaries)2,
542         (avifTransferCharacteristics)2,
543         (avifMatrixCoefficients)2,
544         71795,
545         0,
546     },
547     // index: 34
548     {
549         "Link-U/fox.profile2.10bpc.yuv422.avif",
550         1204,
551         800,
552         10,
553         AVIF_PIXEL_FORMAT_YUV444,
554         AVIF_FALSE,
555         AVIF_FALSE,
556         (avifColorPrimaries)2,
557         (avifTransferCharacteristics)2,
558         (avifMatrixCoefficients)2,
559         68524,
560         0,
561     },
562     // index: 35
563     {
564         "Link-U/fox.profile2.10bpc.yuv422.monochrome.avif",
565         1204,
566         800,
567         10,
568         AVIF_PIXEL_FORMAT_YUV400,
569         AVIF_FALSE,
570         AVIF_FALSE,
571         (avifColorPrimaries)2,
572         (avifTransferCharacteristics)2,
573         (avifMatrixCoefficients)2,
574         56116,
575         0,
576     },
577     // index: 36
578     {
579         "Link-U/fox.profile2.10bpc.yuv422.monochrome.odd-height.avif",
580         1204,
581         799,
582         10,
583         AVIF_PIXEL_FORMAT_YUV400,
584         AVIF_FALSE,
585         AVIF_FALSE,
586         (avifColorPrimaries)2,
587         (avifTransferCharacteristics)2,
588         (avifMatrixCoefficients)2,
589         55174,
590         0,
591     },
592     // index: 37
593     {
594         "Link-U/fox.profile2.10bpc.yuv422.monochrome.odd-width.avif",
595         1203,
596         800,
597         10,
598         AVIF_PIXEL_FORMAT_YUV400,
599         AVIF_FALSE,
600         AVIF_FALSE,
601         (avifColorPrimaries)2,
602         (avifTransferCharacteristics)2,
603         (avifMatrixCoefficients)2,
604         55254,
605         0,
606     },
607     // index: 38
608     {
609         "Link-U/fox.profile2.10bpc.yuv422.monochrome.odd-width.odd-height.avif",
610         1203,
611         799,
612         10,
613         AVIF_PIXEL_FORMAT_YUV400,
614         AVIF_FALSE,
615         AVIF_FALSE,
616         (avifColorPrimaries)2,
617         (avifTransferCharacteristics)2,
618         (avifMatrixCoefficients)2,
619         54589,
620         0,
621     },
622     // index: 39
623     {
624         "Link-U/fox.profile2.10bpc.yuv422.odd-height.avif",
625         1204,
626         799,
627         10,
628         AVIF_PIXEL_FORMAT_YUV444,
629         AVIF_FALSE,
630         AVIF_FALSE,
631         (avifColorPrimaries)2,
632         (avifTransferCharacteristics)2,
633         (avifMatrixCoefficients)2,
634         67602,
635         0,
636     },
637     // index: 40
638     {
639         "Link-U/fox.profile2.10bpc.yuv422.odd-width.avif",
640         1203,
641         800,
642         10,
643         AVIF_PIXEL_FORMAT_YUV444,
644         AVIF_FALSE,
645         AVIF_FALSE,
646         (avifColorPrimaries)2,
647         (avifTransferCharacteristics)2,
648         (avifMatrixCoefficients)2,
649         67803,
650         0,
651     },
652     // index: 41
653     {
654         "Link-U/fox.profile2.10bpc.yuv422.odd-width.odd-height.avif",
655         1203,
656         799,
657         10,
658         AVIF_PIXEL_FORMAT_YUV444,
659         AVIF_FALSE,
660         AVIF_FALSE,
661         (avifColorPrimaries)2,
662         (avifTransferCharacteristics)2,
663         (avifMatrixCoefficients)2,
664         66794,
665         0,
666     },
667     // index: 42
668     {
669         "Link-U/fox.profile2.12bpc.yuv420.avif",
670         1204,
671         800,
672         12,
673         AVIF_PIXEL_FORMAT_YUV420,
674         AVIF_FALSE,
675         AVIF_FALSE,
676         (avifColorPrimaries)2,
677         (avifTransferCharacteristics)2,
678         (avifMatrixCoefficients)2,
679         64688,
680         0,
681     },
682     // index: 43
683     {
684         "Link-U/fox.profile2.12bpc.yuv420.monochrome.avif",
685         1204,
686         800,
687         12,
688         AVIF_PIXEL_FORMAT_YUV400,
689         AVIF_FALSE,
690         AVIF_FALSE,
691         (avifColorPrimaries)2,
692         (avifTransferCharacteristics)2,
693         (avifMatrixCoefficients)2,
694         56651,
695         0,
696     },
697     // index: 44
698     {
699         "Link-U/fox.profile2.12bpc.yuv420.monochrome.odd-height.avif",
700         1204,
701         799,
702         12,
703         AVIF_PIXEL_FORMAT_YUV400,
704         AVIF_FALSE,
705         AVIF_FALSE,
706         (avifColorPrimaries)2,
707         (avifTransferCharacteristics)2,
708         (avifMatrixCoefficients)2,
709         55561,
710         0,
711     },
712     // index: 45
713     {
714         "Link-U/fox.profile2.12bpc.yuv420.monochrome.odd-width.avif",
715         1203,
716         800,
717         12,
718         AVIF_PIXEL_FORMAT_YUV400,
719         AVIF_FALSE,
720         AVIF_FALSE,
721         (avifColorPrimaries)2,
722         (avifTransferCharacteristics)2,
723         (avifMatrixCoefficients)2,
724         55679,
725         0,
726     },
727     // index: 46
728     {
729         "Link-U/fox.profile2.12bpc.yuv420.monochrome.odd-width.odd-height.avif",
730         1203,
731         799,
732         12,
733         AVIF_PIXEL_FORMAT_YUV400,
734         AVIF_FALSE,
735         AVIF_FALSE,
736         (avifColorPrimaries)2,
737         (avifTransferCharacteristics)2,
738         (avifMatrixCoefficients)2,
739         54936,
740         0,
741     },
742     // index: 47
743     {
744         "Link-U/fox.profile2.12bpc.yuv420.odd-height.avif",
745         1204,
746         799,
747         12,
748         AVIF_PIXEL_FORMAT_YUV420,
749         AVIF_FALSE,
750         AVIF_FALSE,
751         (avifColorPrimaries)2,
752         (avifTransferCharacteristics)2,
753         (avifMatrixCoefficients)2,
754         63714,
755         0,
756     },
757     // index: 48
758     {
759         "Link-U/fox.profile2.12bpc.yuv420.odd-width.avif",
760         1203,
761         800,
762         12,
763         AVIF_PIXEL_FORMAT_YUV420,
764         AVIF_FALSE,
765         AVIF_FALSE,
766         (avifColorPrimaries)2,
767         (avifTransferCharacteristics)2,
768         (avifMatrixCoefficients)2,
769         63791,
770         0,
771     },
772     // index: 49
773     {
774         "Link-U/fox.profile2.12bpc.yuv420.odd-width.odd-height.avif",
775         1203,
776         799,
777         12,
778         AVIF_PIXEL_FORMAT_YUV420,
779         AVIF_FALSE,
780         AVIF_FALSE,
781         (avifColorPrimaries)2,
782         (avifTransferCharacteristics)2,
783         (avifMatrixCoefficients)2,
784         63145,
785         0,
786     },
787     // index: 50
788     {
789         "Link-U/fox.profile2.12bpc.yuv422.avif",
790         1204,
791         800,
792         12,
793         AVIF_PIXEL_FORMAT_YUV444,
794         AVIF_FALSE,
795         AVIF_FALSE,
796         (avifColorPrimaries)2,
797         (avifTransferCharacteristics)2,
798         (avifMatrixCoefficients)2,
799         69054,
800         0,
801     },
802     // index: 51
803     {
804         "Link-U/fox.profile2.12bpc.yuv422.monochrome.avif",
805         1204,
806         800,
807         12,
808         AVIF_PIXEL_FORMAT_YUV400,
809         AVIF_FALSE,
810         AVIF_FALSE,
811         (avifColorPrimaries)2,
812         (avifTransferCharacteristics)2,
813         (avifMatrixCoefficients)2,
814         56651,
815         0,
816     },
817     // index: 52
818     {
819         "Link-U/fox.profile2.12bpc.yuv422.monochrome.odd-height.avif",
820         1204,
821         799,
822         12,
823         AVIF_PIXEL_FORMAT_YUV400,
824         AVIF_FALSE,
825         AVIF_FALSE,
826         (avifColorPrimaries)2,
827         (avifTransferCharacteristics)2,
828         (avifMatrixCoefficients)2,
829         55561,
830         0,
831     },
832     // index: 53
833     {
834         "Link-U/fox.profile2.12bpc.yuv422.monochrome.odd-width.avif",
835         1203,
836         800,
837         12,
838         AVIF_PIXEL_FORMAT_YUV400,
839         AVIF_FALSE,
840         AVIF_FALSE,
841         (avifColorPrimaries)2,
842         (avifTransferCharacteristics)2,
843         (avifMatrixCoefficients)2,
844         55679,
845         0,
846     },
847     // index: 54
848     {
849         "Link-U/fox.profile2.12bpc.yuv422.monochrome.odd-width.odd-height.avif",
850         1203,
851         799,
852         12,
853         AVIF_PIXEL_FORMAT_YUV400,
854         AVIF_FALSE,
855         AVIF_FALSE,
856         (avifColorPrimaries)2,
857         (avifTransferCharacteristics)2,
858         (avifMatrixCoefficients)2,
859         54936,
860         0,
861     },
862     // index: 55
863     {
864         "Link-U/fox.profile2.12bpc.yuv422.odd-height.avif",
865         1204,
866         799,
867         12,
868         AVIF_PIXEL_FORMAT_YUV444,
869         AVIF_FALSE,
870         AVIF_FALSE,
871         (avifColorPrimaries)2,
872         (avifTransferCharacteristics)2,
873         (avifMatrixCoefficients)2,
874         67792,
875         0,
876     },
877     // index: 56
878     {
879         "Link-U/fox.profile2.12bpc.yuv422.odd-width.avif",
880         1203,
881         800,
882         12,
883         AVIF_PIXEL_FORMAT_YUV444,
884         AVIF_FALSE,
885         AVIF_FALSE,
886         (avifColorPrimaries)2,
887         (avifTransferCharacteristics)2,
888         (avifMatrixCoefficients)2,
889         68051,
890         0,
891     },
892     // index: 57
893     {
894         "Link-U/fox.profile2.12bpc.yuv422.odd-width.odd-height.avif",
895         1203,
896         799,
897         12,
898         AVIF_PIXEL_FORMAT_YUV444,
899         AVIF_FALSE,
900         AVIF_FALSE,
901         (avifColorPrimaries)2,
902         (avifTransferCharacteristics)2,
903         (avifMatrixCoefficients)2,
904         67328,
905         0,
906     },
907     // index: 58
908     {
909         "Link-U/fox.profile2.12bpc.yuv444.avif",
910         1204,
911         800,
912         12,
913         AVIF_PIXEL_FORMAT_YUV444,
914         AVIF_FALSE,
915         AVIF_FALSE,
916         (avifColorPrimaries)2,
917         (avifTransferCharacteristics)2,
918         (avifMatrixCoefficients)2,
919         75004,
920         0,
921     },
922     // index: 59
923     {
924         "Link-U/fox.profile2.12bpc.yuv444.monochrome.avif",
925         1204,
926         800,
927         12,
928         AVIF_PIXEL_FORMAT_YUV400,
929         AVIF_FALSE,
930         AVIF_FALSE,
931         (avifColorPrimaries)2,
932         (avifTransferCharacteristics)2,
933         (avifMatrixCoefficients)2,
934         56651,
935         0,
936     },
937     // index: 60
938     {
939         "Link-U/fox.profile2.12bpc.yuv444.monochrome.odd-height.avif",
940         1204,
941         799,
942         12,
943         AVIF_PIXEL_FORMAT_YUV400,
944         AVIF_FALSE,
945         AVIF_FALSE,
946         (avifColorPrimaries)2,
947         (avifTransferCharacteristics)2,
948         (avifMatrixCoefficients)2,
949         55561,
950         0,
951     },
952     // index: 61
953     {
954         "Link-U/fox.profile2.12bpc.yuv444.monochrome.odd-width.avif",
955         1203,
956         800,
957         12,
958         AVIF_PIXEL_FORMAT_YUV400,
959         AVIF_FALSE,
960         AVIF_FALSE,
961         (avifColorPrimaries)2,
962         (avifTransferCharacteristics)2,
963         (avifMatrixCoefficients)2,
964         55679,
965         0,
966     },
967     // index: 62
968     {
969         "Link-U/fox.profile2.12bpc.yuv444.monochrome.odd-width.odd-height.avif",
970         1203,
971         799,
972         12,
973         AVIF_PIXEL_FORMAT_YUV400,
974         AVIF_FALSE,
975         AVIF_FALSE,
976         (avifColorPrimaries)2,
977         (avifTransferCharacteristics)2,
978         (avifMatrixCoefficients)2,
979         54936,
980         0,
981     },
982     // index: 63
983     {
984         "Link-U/fox.profile2.12bpc.yuv444.odd-height.avif",
985         1204,
986         799,
987         12,
988         AVIF_PIXEL_FORMAT_YUV444,
989         AVIF_FALSE,
990         AVIF_FALSE,
991         (avifColorPrimaries)2,
992         (avifTransferCharacteristics)2,
993         (avifMatrixCoefficients)2,
994         73694,
995         0,
996     },
997     // index: 64
998     {
999         "Link-U/fox.profile2.12bpc.yuv444.odd-width.avif",
1000         1203,
1001         800,
1002         12,
1003         AVIF_PIXEL_FORMAT_YUV444,
1004         AVIF_FALSE,
1005         AVIF_FALSE,
1006         (avifColorPrimaries)2,
1007         (avifTransferCharacteristics)2,
1008         (avifMatrixCoefficients)2,
1009         73720,
1010         0,
1011     },
1012     // index: 65
1013     {
1014         "Link-U/fox.profile2.12bpc.yuv444.odd-width.odd-height.avif",
1015         1203,
1016         799,
1017         12,
1018         AVIF_PIXEL_FORMAT_YUV444,
1019         AVIF_FALSE,
1020         AVIF_FALSE,
1021         (avifColorPrimaries)2,
1022         (avifTransferCharacteristics)2,
1023         (avifMatrixCoefficients)2,
1024         72725,
1025         0,
1026     },
1027     // index: 66
1028     {
1029         "Link-U/fox.profile2.8bpc.yuv422.avif",
1030         1204,
1031         800,
1032         8,
1033         AVIF_PIXEL_FORMAT_YUV444,
1034         AVIF_FALSE,
1035         AVIF_FALSE,
1036         (avifColorPrimaries)2,
1037         (avifTransferCharacteristics)2,
1038         (avifMatrixCoefficients)2,
1039         67538,
1040         0,
1041     },
1042     // index: 67
1043     {
1044         "Link-U/fox.profile2.8bpc.yuv422.monochrome.avif",
1045         1204,
1046         800,
1047         8,
1048         AVIF_PIXEL_FORMAT_YUV400,
1049         AVIF_FALSE,
1050         AVIF_FALSE,
1051         (avifColorPrimaries)2,
1052         (avifTransferCharacteristics)2,
1053         (avifMatrixCoefficients)2,
1054         55329,
1055         0,
1056     },
1057     // index: 68
1058     {
1059         "Link-U/fox.profile2.8bpc.yuv422.monochrome.odd-height.avif",
1060         1204,
1061         799,
1062         8,
1063         AVIF_PIXEL_FORMAT_YUV400,
1064         AVIF_FALSE,
1065         AVIF_FALSE,
1066         (avifColorPrimaries)2,
1067         (avifTransferCharacteristics)2,
1068         (avifMatrixCoefficients)2,
1069         54376,
1070         0,
1071     },
1072     // index: 69
1073     {
1074         "Link-U/fox.profile2.8bpc.yuv422.monochrome.odd-width.avif",
1075         1203,
1076         800,
1077         8,
1078         AVIF_PIXEL_FORMAT_YUV400,
1079         AVIF_FALSE,
1080         AVIF_FALSE,
1081         (avifColorPrimaries)2,
1082         (avifTransferCharacteristics)2,
1083         (avifMatrixCoefficients)2,
1084         54460,
1085         0,
1086     },
1087     // index: 70
1088     {
1089         "Link-U/fox.profile2.8bpc.yuv422.monochrome.odd-width.odd-height.avif",
1090         1203,
1091         799,
1092         8,
1093         AVIF_PIXEL_FORMAT_YUV400,
1094         AVIF_FALSE,
1095         AVIF_FALSE,
1096         (avifColorPrimaries)2,
1097         (avifTransferCharacteristics)2,
1098         (avifMatrixCoefficients)2,
1099         53836,
1100         0,
1101     },
1102     // index: 71
1103     {
1104         "Link-U/fox.profile2.8bpc.yuv422.odd-height.avif",
1105         1204,
1106         799,
1107         8,
1108         AVIF_PIXEL_FORMAT_YUV444,
1109         AVIF_FALSE,
1110         AVIF_FALSE,
1111         (avifColorPrimaries)2,
1112         (avifTransferCharacteristics)2,
1113         (avifMatrixCoefficients)2,
1114         66814,
1115         0,
1116     },
1117     // index: 72
1118     {
1119         "Link-U/fox.profile2.8bpc.yuv422.odd-width.avif",
1120         1203,
1121         800,
1122         8,
1123         AVIF_PIXEL_FORMAT_YUV444,
1124         AVIF_FALSE,
1125         AVIF_FALSE,
1126         (avifColorPrimaries)2,
1127         (avifTransferCharacteristics)2,
1128         (avifMatrixCoefficients)2,
1129         66974,
1130         0,
1131     },
1132     // index: 73
1133     {
1134         "Link-U/fox.profile2.8bpc.yuv422.odd-width.odd-height.avif",
1135         1203,
1136         799,
1137         8,
1138         AVIF_PIXEL_FORMAT_YUV444,
1139         AVIF_FALSE,
1140         AVIF_FALSE,
1141         (avifColorPrimaries)2,
1142         (avifTransferCharacteristics)2,
1143         (avifMatrixCoefficients)2,
1144         66154,
1145         0,
1146     },
1147     // index: 74
1148     {
1149         "Link-U/"
1150         "hato.profile0.10bpc.yuv420.monochrome.no-cdef.no-restoration.avif",
1151         3082,
1152         2048,
1153         10,
1154         AVIF_PIXEL_FORMAT_YUV400,
1155         AVIF_FALSE,
1156         AVIF_FALSE,
1157         (avifColorPrimaries)2,
1158         (avifTransferCharacteristics)2,
1159         (avifMatrixCoefficients)2,
1160         178883,
1161         0,
1162     },
1163     // index: 75
1164     {
1165         "Link-U/hato.profile0.10bpc.yuv420.no-cdef.no-restoration.avif",
1166         3082,
1167         2048,
1168         10,
1169         AVIF_PIXEL_FORMAT_YUV420,
1170         AVIF_FALSE,
1171         AVIF_FALSE,
1172         (avifColorPrimaries)2,
1173         (avifTransferCharacteristics)2,
1174         (avifMatrixCoefficients)2,
1175         208271,
1176         0,
1177     },
1178     // index: 76
1179     {
1180         "Link-U/hato.profile0.8bpc.yuv420.monochrome.no-cdef.avif",
1181         3082,
1182         2048,
1183         8,
1184         AVIF_PIXEL_FORMAT_YUV400,
1185         AVIF_FALSE,
1186         AVIF_FALSE,
1187         (avifColorPrimaries)2,
1188         (avifTransferCharacteristics)2,
1189         (avifMatrixCoefficients)2,
1190         177474,
1191         0,
1192     },
1193     // index: 77
1194     {
1195         "Link-U/hato.profile0.8bpc.yuv420.no-cdef.avif",
1196         3082,
1197         2048,
1198         8,
1199         AVIF_PIXEL_FORMAT_YUV420,
1200         AVIF_FALSE,
1201         AVIF_FALSE,
1202         (avifColorPrimaries)2,
1203         (avifTransferCharacteristics)2,
1204         (avifMatrixCoefficients)2,
1205         207414,
1206         0,
1207     },
1208     // index: 78
1209     {
1210         "Link-U/"
1211         "hato.profile2.10bpc.yuv422.monochrome.no-cdef.no-restoration.avif",
1212         3082,
1213         2048,
1214         10,
1215         AVIF_PIXEL_FORMAT_YUV400,
1216         AVIF_FALSE,
1217         AVIF_FALSE,
1218         (avifColorPrimaries)2,
1219         (avifTransferCharacteristics)2,
1220         (avifMatrixCoefficients)2,
1221         178883,
1222         0,
1223     },
1224     // index: 79
1225     {
1226         "Link-U/hato.profile2.10bpc.yuv422.no-cdef.no-restoration.avif",
1227         3082,
1228         2048,
1229         10,
1230         AVIF_PIXEL_FORMAT_YUV444,
1231         AVIF_FALSE,
1232         AVIF_FALSE,
1233         (avifColorPrimaries)2,
1234         (avifTransferCharacteristics)2,
1235         (avifMatrixCoefficients)2,
1236         225894,
1237         0,
1238     },
1239     // index: 80
1240     {
1241         "Link-U/hato.profile2.12bpc.yuv422.monochrome.avif",
1242         3082,
1243         2048,
1244         12,
1245         AVIF_PIXEL_FORMAT_YUV400,
1246         AVIF_FALSE,
1247         AVIF_FALSE,
1248         (avifColorPrimaries)1,
1249         (avifTransferCharacteristics)2,
1250         (avifMatrixCoefficients)9,
1251         231531,
1252         0,
1253     },
1254     // index: 81
1255     {
1256         "Link-U/"
1257         "hato.profile2.12bpc.yuv422.monochrome.no-cdef.no-restoration.avif",
1258         3082,
1259         2048,
1260         12,
1261         AVIF_PIXEL_FORMAT_YUV444,
1262         AVIF_FALSE,
1263         AVIF_FALSE,
1264         (avifColorPrimaries)2,
1265         (avifTransferCharacteristics)2,
1266         (avifMatrixCoefficients)2,
1267         226731,
1268         0,
1269     },
1270     // index: 82
1271     {
1272         "Link-U/hato.profile2.12bpc.yuv422.no-cdef.no-restoration.avif",
1273         3082,
1274         2048,
1275         12,
1276         AVIF_PIXEL_FORMAT_YUV444,
1277         AVIF_FALSE,
1278         AVIF_FALSE,
1279         (avifColorPrimaries)2,
1280         (avifTransferCharacteristics)2,
1281         (avifMatrixCoefficients)2,
1282         226731,
1283         0,
1284     },
1285     // index: 83
1286     {
1287         "Link-U/hato.profile2.8bpc.yuv422.monochrome.no-cdef.avif",
1288         3082,
1289         2048,
1290         8,
1291         AVIF_PIXEL_FORMAT_YUV400,
1292         AVIF_FALSE,
1293         AVIF_FALSE,
1294         (avifColorPrimaries)2,
1295         (avifTransferCharacteristics)2,
1296         (avifMatrixCoefficients)2,
1297         177474,
1298         0,
1299     },
1300     // index: 84
1301     {
1302         "Link-U/hato.profile2.8bpc.yuv422.no-cdef.avif",
1303         3082,
1304         2048,
1305         8,
1306         AVIF_PIXEL_FORMAT_YUV444,
1307         AVIF_FALSE,
1308         AVIF_FALSE,
1309         (avifColorPrimaries)2,
1310         (avifTransferCharacteristics)2,
1311         (avifMatrixCoefficients)2,
1312         225881,
1313         0,
1314     },
1315     // index: 85
1316     {
1317         "Link-U/kimono.avif",
1318         722,
1319         1024,
1320         8,
1321         AVIF_PIXEL_FORMAT_YUV420,
1322         AVIF_FALSE,
1323         AVIF_FALSE,
1324         (avifColorPrimaries)1,
1325         (avifTransferCharacteristics)13,
1326         (avifMatrixCoefficients)9,
1327         85120,
1328         0,
1329     },
1330     // index: 86
1331     {
1332         "Link-U/kimono.crop.avif",
1333         722,
1334         1024,
1335         8,
1336         AVIF_PIXEL_FORMAT_YUV420,
1337         AVIF_FALSE,
1338         AVIF_FALSE,
1339         (avifColorPrimaries)1,
1340         (avifTransferCharacteristics)13,
1341         (avifMatrixCoefficients)9,
1342         85120,
1343         0,
1344     },
1345     // index: 87
1346     {
1347         "Link-U/kimono.mirror-horizontal.avif",
1348         722,
1349         1024,
1350         8,
1351         AVIF_PIXEL_FORMAT_YUV420,
1352         AVIF_FALSE,
1353         AVIF_FALSE,
1354         (avifColorPrimaries)1,
1355         (avifTransferCharacteristics)13,
1356         (avifMatrixCoefficients)9,
1357         84661,
1358         0,
1359     },
1360     // index: 88
1361     {
1362         "Link-U/kimono.mirror-vertical.avif",
1363         722,
1364         1024,
1365         8,
1366         AVIF_PIXEL_FORMAT_YUV420,
1367         AVIF_FALSE,
1368         AVIF_FALSE,
1369         (avifColorPrimaries)1,
1370         (avifTransferCharacteristics)13,
1371         (avifMatrixCoefficients)9,
1372         84297,
1373         0,
1374     },
1375     // index: 89
1376     {
1377         "Link-U/kimono.mirror-vertical.rotate270.avif",
1378         1024,
1379         722,
1380         8,
1381         AVIF_PIXEL_FORMAT_YUV420,
1382         AVIF_FALSE,
1383         AVIF_FALSE,
1384         (avifColorPrimaries)1,
1385         (avifTransferCharacteristics)13,
1386         (avifMatrixCoefficients)9,
1387         85184,
1388         0,
1389     },
1390     // index: 90
1391     {
1392         "Link-U/kimono.mirror-vertical.rotate270.crop.avif",
1393         1024,
1394         722,
1395         8,
1396         AVIF_PIXEL_FORMAT_YUV420,
1397         AVIF_FALSE,
1398         AVIF_FALSE,
1399         (avifColorPrimaries)1,
1400         (avifTransferCharacteristics)13,
1401         (avifMatrixCoefficients)9,
1402         85184,
1403         0,
1404     },
1405     // index: 91
1406     {
1407         "Link-U/kimono.rotate270.avif",
1408         1024,
1409         722,
1410         8,
1411         AVIF_PIXEL_FORMAT_YUV420,
1412         AVIF_FALSE,
1413         AVIF_FALSE,
1414         (avifColorPrimaries)1,
1415         (avifTransferCharacteristics)13,
1416         (avifMatrixCoefficients)9,
1417         84551,
1418         0,
1419     },
1420     // index: 92
1421     {
1422         "Link-U/kimono.rotate90.avif",
1423         1024,
1424         722,
1425         8,
1426         AVIF_PIXEL_FORMAT_YUV420,
1427         AVIF_FALSE,
1428         AVIF_FALSE,
1429         (avifColorPrimaries)1,
1430         (avifTransferCharacteristics)13,
1431         (avifMatrixCoefficients)9,
1432         84502,
1433         0,
1434     },
1435     // index: 93
1436     {
1437         "Microsoft/Chimera_10bit_cropped_to_1920x1008.avif",
1438         1920,
1439         1080,
1440         10,
1441         AVIF_PIXEL_FORMAT_YUV420,
1442         AVIF_FALSE,
1443         AVIF_TRUE,
1444         (avifColorPrimaries)2,
1445         (avifTransferCharacteristics)2,
1446         (avifMatrixCoefficients)2,
1447         95279,
1448         0,
1449     },
1450     // index: 94
1451     {
1452         "Microsoft/Chimera_10bit_cropped_to_1920x1008_with_HDR_metadata.avif",
1453         1920,
1454         1080,
1455         10,
1456         AVIF_PIXEL_FORMAT_YUV420,
1457         AVIF_FALSE,
1458         AVIF_TRUE,
1459         (avifColorPrimaries)9,
1460         (avifTransferCharacteristics)16,
1461         (avifMatrixCoefficients)10,
1462         95279,
1463         0,
1464     },
1465     // index: 95
1466     {
1467         "Microsoft/Chimera_8bit_cropped_480x256.avif",
1468         480,
1469         270,
1470         8,
1471         AVIF_PIXEL_FORMAT_YUV420,
1472         AVIF_FALSE,
1473         AVIF_TRUE,
1474         (avifColorPrimaries)2,
1475         (avifTransferCharacteristics)2,
1476         (avifMatrixCoefficients)2,
1477         37860,
1478         0,
1479     },
1480     // index: 96
1481     {
1482         "Microsoft/Irvine_CA.avif",
1483         480,
1484         640,
1485         8,
1486         AVIF_PIXEL_FORMAT_YUV420,
1487         AVIF_FALSE,
1488         AVIF_TRUE,
1489         (avifColorPrimaries)2,
1490         (avifTransferCharacteristics)2,
1491         (avifMatrixCoefficients)2,
1492         27601,
1493         0,
1494     },
1495     // index: 97
1496     {
1497         "Microsoft/Mexico.avif",
1498         1920,
1499         1080,
1500         8,
1501         AVIF_PIXEL_FORMAT_YUV420,
1502         AVIF_FALSE,
1503         AVIF_TRUE,
1504         (avifColorPrimaries)2,
1505         (avifTransferCharacteristics)2,
1506         (avifMatrixCoefficients)2,
1507         218726,
1508         0,
1509     },
1510     // index: 98
1511     {
1512         "Microsoft/Mexico_YUV444.avif",
1513         960,
1514         540,
1515         8,
1516         AVIF_PIXEL_FORMAT_YUV444,
1517         AVIF_FALSE,
1518         AVIF_TRUE,
1519         (avifColorPrimaries)2,
1520         (avifTransferCharacteristics)2,
1521         (avifMatrixCoefficients)2,
1522         158350,
1523         0,
1524     },
1525     // index: 99
1526     {
1527         "Microsoft/Monochrome.avif",
1528         1280,
1529         720,
1530         8,
1531         AVIF_PIXEL_FORMAT_YUV400,
1532         AVIF_FALSE,
1533         AVIF_FALSE,
1534         (avifColorPrimaries)1,
1535         (avifTransferCharacteristics)1,
1536         (avifMatrixCoefficients)1,
1537         6979,
1538         0,
1539     },
1540     // index: 100
1541     {
1542         "Microsoft/Ronda_rotate90.avif",
1543         1920,
1544         1080,
1545         8,
1546         AVIF_PIXEL_FORMAT_YUV420,
1547         AVIF_FALSE,
1548         AVIF_TRUE,
1549         (avifColorPrimaries)2,
1550         (avifTransferCharacteristics)2,
1551         (avifMatrixCoefficients)2,
1552         95912,
1553         0,
1554     },
1555     // index: 101
1556     {
1557         "Microsoft/Summer_Nature_4k.avif",
1558         3840,
1559         2160,
1560         8,
1561         AVIF_PIXEL_FORMAT_YUV420,
1562         AVIF_FALSE,
1563         AVIF_FALSE,
1564         (avifColorPrimaries)2,
1565         (avifTransferCharacteristics)2,
1566         (avifMatrixCoefficients)2,
1567         279919,
1568         0,
1569     },
1570     // index: 102
1571     {
1572         "Microsoft/Summer_in_Tomsk_720p_5x4_grid.avif",
1573         6400,
1574         2880,
1575         8,
1576         AVIF_PIXEL_FORMAT_YUV420,
1577         AVIF_FALSE,
1578         AVIF_FALSE,
1579         (avifColorPrimaries)1,
1580         (avifTransferCharacteristics)13,
1581         (avifMatrixCoefficients)6,
1582         1963366,
1583         0,
1584     },
1585     // index: 103
1586     {
1587         "Microsoft/Tomsk_with_thumbnails.avif",
1588         1280,
1589         720,
1590         8,
1591         AVIF_PIXEL_FORMAT_YUV420,
1592         AVIF_FALSE,
1593         AVIF_FALSE,
1594         (avifColorPrimaries)1,
1595         (avifTransferCharacteristics)13,
1596         (avifMatrixCoefficients)1,
1597         7618,
1598         0,
1599     },
1600     // index: 104
1601     {
1602         "Microsoft/bbb_4k.avif",
1603         3840,
1604         2160,
1605         8,
1606         AVIF_PIXEL_FORMAT_YUV420,
1607         AVIF_FALSE,
1608         AVIF_TRUE,
1609         (avifColorPrimaries)2,
1610         (avifTransferCharacteristics)2,
1611         (avifMatrixCoefficients)2,
1612         30980,
1613         0,
1614     },
1615     // index: 105
1616     {
1617         "Microsoft/bbb_alpha_inverted.avif",
1618         3840,
1619         2160,
1620         8,
1621         AVIF_PIXEL_FORMAT_YUV420,
1622         AVIF_TRUE,
1623         AVIF_FALSE,
1624         (avifColorPrimaries)1,
1625         (avifTransferCharacteristics)13,
1626         (avifMatrixCoefficients)1,
1627         4508,
1628         3202,
1629     },
1630     // index: 106
1631     {
1632         "Microsoft/kids_720p.avif",
1633         1280,
1634         720,
1635         8,
1636         AVIF_PIXEL_FORMAT_YUV420,
1637         AVIF_FALSE,
1638         AVIF_TRUE,
1639         (avifColorPrimaries)2,
1640         (avifTransferCharacteristics)2,
1641         (avifMatrixCoefficients)2,
1642         57105,
1643         0,
1644     },
1645     // index: 107
1646     {
1647         "Microsoft/reduced_still_picture_header.avif",
1648         1280,
1649         720,
1650         8,
1651         AVIF_PIXEL_FORMAT_YUV420,
1652         AVIF_FALSE,
1653         AVIF_FALSE,
1654         (avifColorPrimaries)1,
1655         (avifTransferCharacteristics)13,
1656         (avifMatrixCoefficients)1,
1657         7618,
1658         0,
1659     },
1660     // index: 108
1661     {
1662         "Microsoft/still_picture.avif",
1663         1280,
1664         720,
1665         8,
1666         AVIF_PIXEL_FORMAT_YUV420,
1667         AVIF_FALSE,
1668         AVIF_FALSE,
1669         (avifColorPrimaries)1,
1670         (avifTransferCharacteristics)13,
1671         (avifMatrixCoefficients)1,
1672         7624,
1673         0,
1674     },
1675     // index: 109
1676     {
1677         "Netflix/avif/hdr_cosmos01000_cicp9-16-0_lossless.avif",
1678         2048,
1679         858,
1680         10,
1681         AVIF_PIXEL_FORMAT_YUV444,
1682         AVIF_FALSE,
1683         AVIF_TRUE,
1684         (avifColorPrimaries)9,
1685         (avifTransferCharacteristics)16,
1686         (avifMatrixCoefficients)0,
1687         2030306,
1688         0,
1689     },
1690     // index: 110
1691     {
1692         "Netflix/avif/hdr_cosmos01000_cicp9-16-9_yuv420_limited_qp10.avif",
1693         2048,
1694         858,
1695         10,
1696         AVIF_PIXEL_FORMAT_YUV420,
1697         AVIF_FALSE,
1698         AVIF_FALSE,
1699         (avifColorPrimaries)9,
1700         (avifTransferCharacteristics)16,
1701         (avifMatrixCoefficients)9,
1702         92239,
1703         0,
1704     },
1705     // index: 111
1706     {
1707         "Netflix/avif/hdr_cosmos01000_cicp9-16-9_yuv420_limited_qp20.avif",
1708         2048,
1709         858,
1710         10,
1711         AVIF_PIXEL_FORMAT_YUV420,
1712         AVIF_FALSE,
1713         AVIF_FALSE,
1714         (avifColorPrimaries)9,
1715         (avifTransferCharacteristics)16,
1716         (avifMatrixCoefficients)9,
1717         32939,
1718         0,
1719     },
1720     // index: 112
1721     {
1722         "Netflix/avif/hdr_cosmos01000_cicp9-16-9_yuv420_limited_qp40.avif",
1723         2048,
1724         858,
1725         10,
1726         AVIF_PIXEL_FORMAT_YUV420,
1727         AVIF_FALSE,
1728         AVIF_FALSE,
1729         (avifColorPrimaries)9,
1730         (avifTransferCharacteristics)16,
1731         (avifMatrixCoefficients)9,
1732         9547,
1733         0,
1734     },
1735     // index: 113
1736     {
1737         "Netflix/avif/hdr_cosmos01000_cicp9-16-9_yuv444_full_qp10.avif",
1738         2048,
1739         858,
1740         10,
1741         AVIF_PIXEL_FORMAT_YUV444,
1742         AVIF_FALSE,
1743         AVIF_TRUE,
1744         (avifColorPrimaries)9,
1745         (avifTransferCharacteristics)16,
1746         (avifMatrixCoefficients)9,
1747         129471,
1748         0,
1749     },
1750     // index: 114
1751     {
1752         "Netflix/avif/hdr_cosmos01000_cicp9-16-9_yuv444_full_qp20.avif",
1753         2048,
1754         858,
1755         10,
1756         AVIF_PIXEL_FORMAT_YUV444,
1757         AVIF_FALSE,
1758         AVIF_TRUE,
1759         (avifColorPrimaries)9,
1760         (avifTransferCharacteristics)16,
1761         (avifMatrixCoefficients)9,
1762         45646,
1763         0,
1764     },
1765     // index: 115
1766     {
1767         "Netflix/avif/hdr_cosmos01000_cicp9-16-9_yuv444_full_qp40.avif",
1768         2048,
1769         858,
1770         10,
1771         AVIF_PIXEL_FORMAT_YUV444,
1772         AVIF_FALSE,
1773         AVIF_TRUE,
1774         (avifColorPrimaries)9,
1775         (avifTransferCharacteristics)16,
1776         (avifMatrixCoefficients)9,
1777         12595,
1778         0,
1779     },
1780     // index: 116
1781     {
1782         "Netflix/avif/hdr_cosmos01650_cicp9-16-0_lossless.avif",
1783         2048,
1784         858,
1785         10,
1786         AVIF_PIXEL_FORMAT_YUV444,
1787         AVIF_FALSE,
1788         AVIF_TRUE,
1789         (avifColorPrimaries)9,
1790         (avifTransferCharacteristics)16,
1791         (avifMatrixCoefficients)0,
1792         2865083,
1793         0,
1794     },
1795     // index: 117
1796     {
1797         "Netflix/avif/hdr_cosmos01650_cicp9-16-9_yuv420_limited_qp10.avif",
1798         2048,
1799         858,
1800         10,
1801         AVIF_PIXEL_FORMAT_YUV420,
1802         AVIF_FALSE,
1803         AVIF_FALSE,
1804         (avifColorPrimaries)9,
1805         (avifTransferCharacteristics)16,
1806         (avifMatrixCoefficients)9,
1807         260689,
1808         0,
1809     },
1810     // index: 118
1811     {
1812         "Netflix/avif/hdr_cosmos01650_cicp9-16-9_yuv420_limited_qp20.avif",
1813         2048,
1814         858,
1815         10,
1816         AVIF_PIXEL_FORMAT_YUV420,
1817         AVIF_FALSE,
1818         AVIF_FALSE,
1819         (avifColorPrimaries)9,
1820         (avifTransferCharacteristics)16,
1821         (avifMatrixCoefficients)9,
1822         130393,
1823         0,
1824     },
1825     // index: 119
1826     {
1827         "Netflix/avif/hdr_cosmos01650_cicp9-16-9_yuv420_limited_qp40.avif",
1828         2048,
1829         858,
1830         10,
1831         AVIF_PIXEL_FORMAT_YUV420,
1832         AVIF_FALSE,
1833         AVIF_FALSE,
1834         (avifColorPrimaries)9,
1835         (avifTransferCharacteristics)16,
1836         (avifMatrixCoefficients)9,
1837         29579,
1838         0,
1839     },
1840     // index: 120
1841     {
1842         "Netflix/avif/hdr_cosmos01650_cicp9-16-9_yuv444_full_qp10.avif",
1843         2048,
1844         858,
1845         10,
1846         AVIF_PIXEL_FORMAT_YUV444,
1847         AVIF_FALSE,
1848         AVIF_TRUE,
1849         (avifColorPrimaries)9,
1850         (avifTransferCharacteristics)16,
1851         (avifMatrixCoefficients)9,
1852         372069,
1853         0,
1854     },
1855     // index: 121
1856     {
1857         "Netflix/avif/hdr_cosmos01650_cicp9-16-9_yuv444_full_qp20.avif",
1858         2048,
1859         858,
1860         10,
1861         AVIF_PIXEL_FORMAT_YUV444,
1862         AVIF_FALSE,
1863         AVIF_TRUE,
1864         (avifColorPrimaries)9,
1865         (avifTransferCharacteristics)16,
1866         (avifMatrixCoefficients)9,
1867         173936,
1868         0,
1869     },
1870     // index: 122
1871     {
1872         "Netflix/avif/hdr_cosmos01650_cicp9-16-9_yuv444_full_qp40.avif",
1873         2048,
1874         858,
1875         10,
1876         AVIF_PIXEL_FORMAT_YUV444,
1877         AVIF_FALSE,
1878         AVIF_TRUE,
1879         (avifColorPrimaries)9,
1880         (avifTransferCharacteristics)16,
1881         (avifMatrixCoefficients)9,
1882         39535,
1883         0,
1884     },
1885     // index: 123
1886     {
1887         "Netflix/avif/hdr_cosmos07296_cicp9-16-0_lossless.avif",
1888         2048,
1889         858,
1890         10,
1891         AVIF_PIXEL_FORMAT_YUV444,
1892         AVIF_FALSE,
1893         AVIF_TRUE,
1894         (avifColorPrimaries)9,
1895         (avifTransferCharacteristics)16,
1896         (avifMatrixCoefficients)0,
1897         2164296,
1898         0,
1899     },
1900     // index: 124
1901     {
1902         "Netflix/avif/hdr_cosmos07296_cicp9-16-9_yuv420_limited_qp10.avif",
1903         2048,
1904         858,
1905         10,
1906         AVIF_PIXEL_FORMAT_YUV420,
1907         AVIF_FALSE,
1908         AVIF_FALSE,
1909         (avifColorPrimaries)9,
1910         (avifTransferCharacteristics)16,
1911         (avifMatrixCoefficients)9,
1912         124229,
1913         0,
1914     },
1915     // index: 125
1916     {
1917         "Netflix/avif/hdr_cosmos07296_cicp9-16-9_yuv420_limited_qp20.avif",
1918         2048,
1919         858,
1920         10,
1921         AVIF_PIXEL_FORMAT_YUV420,
1922         AVIF_FALSE,
1923         AVIF_FALSE,
1924         (avifColorPrimaries)9,
1925         (avifTransferCharacteristics)16,
1926         (avifMatrixCoefficients)9,
1927         40359,
1928         0,
1929     },
1930     // index: 126
1931     {
1932         "Netflix/avif/hdr_cosmos07296_cicp9-16-9_yuv420_limited_qp40.avif",
1933         2048,
1934         858,
1935         10,
1936         AVIF_PIXEL_FORMAT_YUV420,
1937         AVIF_FALSE,
1938         AVIF_FALSE,
1939         (avifColorPrimaries)9,
1940         (avifTransferCharacteristics)16,
1941         (avifMatrixCoefficients)9,
1942         7874,
1943         0,
1944     },
1945     // index: 127
1946     {
1947         "Netflix/avif/hdr_cosmos07296_cicp9-16-9_yuv444_full_qp10.avif",
1948         2048,
1949         858,
1950         10,
1951         AVIF_PIXEL_FORMAT_YUV444,
1952         AVIF_FALSE,
1953         AVIF_TRUE,
1954         (avifColorPrimaries)9,
1955         (avifTransferCharacteristics)16,
1956         (avifMatrixCoefficients)9,
1957         204393,
1958         0,
1959     },
1960     // index: 128
1961     {
1962         "Netflix/avif/hdr_cosmos07296_cicp9-16-9_yuv444_full_qp20.avif",
1963         2048,
1964         858,
1965         10,
1966         AVIF_PIXEL_FORMAT_YUV444,
1967         AVIF_FALSE,
1968         AVIF_TRUE,
1969         (avifColorPrimaries)9,
1970         (avifTransferCharacteristics)16,
1971         (avifMatrixCoefficients)9,
1972         61973,
1973         0,
1974     },
1975     // index: 129
1976     {
1977         "Netflix/avif/hdr_cosmos07296_cicp9-16-9_yuv444_full_qp40.avif",
1978         2048,
1979         858,
1980         10,
1981         AVIF_PIXEL_FORMAT_YUV444,
1982         AVIF_FALSE,
1983         AVIF_TRUE,
1984         (avifColorPrimaries)9,
1985         (avifTransferCharacteristics)16,
1986         (avifMatrixCoefficients)9,
1987         11224,
1988         0,
1989     },
1990     // index: 130
1991     {
1992         "Netflix/avif/hdr_cosmos12920_cicp9-16-0_lossless.avif",
1993         2048,
1994         858,
1995         10,
1996         AVIF_PIXEL_FORMAT_YUV444,
1997         AVIF_FALSE,
1998         AVIF_TRUE,
1999         (avifColorPrimaries)9,
2000         (avifTransferCharacteristics)16,
2001         (avifMatrixCoefficients)0,
2002         3055111,
2003         0,
2004     },
2005     // index: 131
2006     {
2007         "Netflix/avif/hdr_cosmos12920_cicp9-16-9_yuv420_limited_qp10.avif",
2008         2048,
2009         858,
2010         10,
2011         AVIF_PIXEL_FORMAT_YUV420,
2012         AVIF_FALSE,
2013         AVIF_FALSE,
2014         (avifColorPrimaries)9,
2015         (avifTransferCharacteristics)16,
2016         (avifMatrixCoefficients)9,
2017         95933,
2018         0,
2019     },
2020     // index: 132
2021     {
2022         "Netflix/avif/hdr_cosmos12920_cicp9-16-9_yuv420_limited_qp20.avif",
2023         2048,
2024         858,
2025         10,
2026         AVIF_PIXEL_FORMAT_YUV420,
2027         AVIF_FALSE,
2028         AVIF_FALSE,
2029         (avifColorPrimaries)9,
2030         (avifTransferCharacteristics)16,
2031         (avifMatrixCoefficients)9,
2032         47119,
2033         0,
2034     },
2035     // index: 133
2036     {
2037         "Netflix/avif/hdr_cosmos12920_cicp9-16-9_yuv420_limited_qp40.avif",
2038         2048,
2039         858,
2040         10,
2041         AVIF_PIXEL_FORMAT_YUV420,
2042         AVIF_FALSE,
2043         AVIF_FALSE,
2044         (avifColorPrimaries)9,
2045         (avifTransferCharacteristics)16,
2046         (avifMatrixCoefficients)9,
2047         16529,
2048         0,
2049     },
2050     // index: 134
2051     {
2052         "Netflix/avif/hdr_cosmos12920_cicp9-16-9_yuv444_full_qp10.avif",
2053         2048,
2054         858,
2055         10,
2056         AVIF_PIXEL_FORMAT_YUV444,
2057         AVIF_FALSE,
2058         AVIF_TRUE,
2059         (avifColorPrimaries)9,
2060         (avifTransferCharacteristics)16,
2061         (avifMatrixCoefficients)9,
2062         143650,
2063         0,
2064     },
2065     // index: 135
2066     {
2067         "Netflix/avif/hdr_cosmos12920_cicp9-16-9_yuv444_full_qp20.avif",
2068         2048,
2069         858,
2070         10,
2071         AVIF_PIXEL_FORMAT_YUV444,
2072         AVIF_FALSE,
2073         AVIF_TRUE,
2074         (avifColorPrimaries)9,
2075         (avifTransferCharacteristics)16,
2076         (avifMatrixCoefficients)9,
2077         66240,
2078         0,
2079     },
2080     // index: 136
2081     {
2082         "Netflix/avif/hdr_cosmos12920_cicp9-16-9_yuv444_full_qp40.avif",
2083         2048,
2084         858,
2085         10,
2086         AVIF_PIXEL_FORMAT_YUV444,
2087         AVIF_FALSE,
2088         AVIF_TRUE,
2089         (avifColorPrimaries)9,
2090         (avifTransferCharacteristics)16,
2091         (avifMatrixCoefficients)9,
2092         23455,
2093         0,
2094     },
2095     // index: 137
2096     {
2097         "Netflix/avif/sdr_cosmos01000_cicp1-13-0_lossless.avif",
2098         2048,
2099         858,
2100         8,
2101         AVIF_PIXEL_FORMAT_YUV444,
2102         AVIF_FALSE,
2103         AVIF_TRUE,
2104         (avifColorPrimaries)1,
2105         (avifTransferCharacteristics)13,
2106         (avifMatrixCoefficients)0,
2107         1323382,
2108         0,
2109     },
2110     // index: 138
2111     {
2112         "Netflix/avif/sdr_cosmos01000_cicp1-13-6_yuv420_limited_qp10.avif",
2113         2048,
2114         858,
2115         8,
2116         AVIF_PIXEL_FORMAT_YUV420,
2117         AVIF_FALSE,
2118         AVIF_FALSE,
2119         (avifColorPrimaries)1,
2120         (avifTransferCharacteristics)13,
2121         (avifMatrixCoefficients)6,
2122         91887,
2123         0,
2124     },
2125     // index: 139
2126     {
2127         "Netflix/avif/sdr_cosmos01000_cicp1-13-6_yuv420_limited_qp20.avif",
2128         2048,
2129         858,
2130         8,
2131         AVIF_PIXEL_FORMAT_YUV420,
2132         AVIF_FALSE,
2133         AVIF_FALSE,
2134         (avifColorPrimaries)1,
2135         (avifTransferCharacteristics)13,
2136         (avifMatrixCoefficients)6,
2137         44338,
2138         0,
2139     },
2140     // index: 140
2141     {
2142         "Netflix/avif/sdr_cosmos01000_cicp1-13-6_yuv420_limited_qp40.avif",
2143         2048,
2144         858,
2145         8,
2146         AVIF_PIXEL_FORMAT_YUV420,
2147         AVIF_FALSE,
2148         AVIF_FALSE,
2149         (avifColorPrimaries)1,
2150         (avifTransferCharacteristics)13,
2151         (avifMatrixCoefficients)6,
2152         12204,
2153         0,
2154     },
2155     // index: 141
2156     {
2157         "Netflix/avif/sdr_cosmos01000_cicp1-13-6_yuv444_full_qp10.avif",
2158         2048,
2159         858,
2160         8,
2161         AVIF_PIXEL_FORMAT_YUV444,
2162         AVIF_FALSE,
2163         AVIF_TRUE,
2164         (avifColorPrimaries)1,
2165         (avifTransferCharacteristics)13,
2166         (avifMatrixCoefficients)6,
2167         129688,
2168         0,
2169     },
2170     // index: 142
2171     {
2172         "Netflix/avif/sdr_cosmos01000_cicp1-13-6_yuv444_full_qp20.avif",
2173         2048,
2174         858,
2175         8,
2176         AVIF_PIXEL_FORMAT_YUV444,
2177         AVIF_FALSE,
2178         AVIF_TRUE,
2179         (avifColorPrimaries)1,
2180         (avifTransferCharacteristics)13,
2181         (avifMatrixCoefficients)6,
2182         61926,
2183         0,
2184     },
2185     // index: 143
2186     {
2187         "Netflix/avif/sdr_cosmos01000_cicp1-13-6_yuv444_full_qp40.avif",
2188         2048,
2189         858,
2190         8,
2191         AVIF_PIXEL_FORMAT_YUV444,
2192         AVIF_FALSE,
2193         AVIF_TRUE,
2194         (avifColorPrimaries)1,
2195         (avifTransferCharacteristics)13,
2196         (avifMatrixCoefficients)6,
2197         16744,
2198         0,
2199     },
2200     // index: 144
2201     {
2202         "Netflix/avif/sdr_cosmos01650_cicp1-13-0_lossless.avif",
2203         2048,
2204         858,
2205         8,
2206         AVIF_PIXEL_FORMAT_YUV444,
2207         AVIF_FALSE,
2208         AVIF_TRUE,
2209         (avifColorPrimaries)1,
2210         (avifTransferCharacteristics)13,
2211         (avifMatrixCoefficients)0,
2212         1734421,
2213         0,
2214     },
2215     // index: 145
2216     {
2217         "Netflix/avif/sdr_cosmos01650_cicp1-13-6_yuv420_limited_qp10.avif",
2218         2048,
2219         858,
2220         8,
2221         AVIF_PIXEL_FORMAT_YUV420,
2222         AVIF_FALSE,
2223         AVIF_FALSE,
2224         (avifColorPrimaries)1,
2225         (avifTransferCharacteristics)13,
2226         (avifMatrixCoefficients)6,
2227         246525,
2228         0,
2229     },
2230     // index: 146
2231     {
2232         "Netflix/avif/sdr_cosmos01650_cicp1-13-6_yuv420_limited_qp20.avif",
2233         2048,
2234         858,
2235         8,
2236         AVIF_PIXEL_FORMAT_YUV420,
2237         AVIF_FALSE,
2238         AVIF_FALSE,
2239         (avifColorPrimaries)1,
2240         (avifTransferCharacteristics)13,
2241         (avifMatrixCoefficients)6,
2242         128922,
2243         0,
2244     },
2245     // index: 147
2246     {
2247         "Netflix/avif/sdr_cosmos01650_cicp1-13-6_yuv420_limited_qp40.avif",
2248         2048,
2249         858,
2250         8,
2251         AVIF_PIXEL_FORMAT_YUV420,
2252         AVIF_FALSE,
2253         AVIF_FALSE,
2254         (avifColorPrimaries)1,
2255         (avifTransferCharacteristics)13,
2256         (avifMatrixCoefficients)6,
2257         39209,
2258         0,
2259     },
2260     // index: 148
2261     {
2262         "Netflix/avif/sdr_cosmos01650_cicp1-13-6_yuv444_full_qp10.avif",
2263         2048,
2264         858,
2265         8,
2266         AVIF_PIXEL_FORMAT_YUV444,
2267         AVIF_FALSE,
2268         AVIF_TRUE,
2269         (avifColorPrimaries)1,
2270         (avifTransferCharacteristics)13,
2271         (avifMatrixCoefficients)6,
2272         370809,
2273         0,
2274     },
2275     // index: 149
2276     {
2277         "Netflix/avif/sdr_cosmos01650_cicp1-13-6_yuv444_full_qp20.avif",
2278         2048,
2279         858,
2280         8,
2281         AVIF_PIXEL_FORMAT_YUV444,
2282         AVIF_FALSE,
2283         AVIF_TRUE,
2284         (avifColorPrimaries)1,
2285         (avifTransferCharacteristics)13,
2286         (avifMatrixCoefficients)6,
2287         187912,
2288         0,
2289     },
2290     // index: 150
2291     {
2292         "Netflix/avif/sdr_cosmos01650_cicp1-13-6_yuv444_full_qp40.avif",
2293         2048,
2294         858,
2295         8,
2296         AVIF_PIXEL_FORMAT_YUV444,
2297         AVIF_FALSE,
2298         AVIF_TRUE,
2299         (avifColorPrimaries)1,
2300         (avifTransferCharacteristics)13,
2301         (avifMatrixCoefficients)6,
2302         53041,
2303         0,
2304     },
2305     // index: 151
2306     {
2307         "Netflix/avif/sdr_cosmos07296_cicp1-13-0_lossless.avif",
2308         2048,
2309         858,
2310         8,
2311         AVIF_PIXEL_FORMAT_YUV444,
2312         AVIF_FALSE,
2313         AVIF_TRUE,
2314         (avifColorPrimaries)1,
2315         (avifTransferCharacteristics)13,
2316         (avifMatrixCoefficients)0,
2317         1389248,
2318         0,
2319     },
2320     // index: 152
2321     {
2322         "Netflix/avif/sdr_cosmos07296_cicp1-13-6_yuv420_limited_qp10.avif",
2323         2048,
2324         858,
2325         8,
2326         AVIF_PIXEL_FORMAT_YUV420,
2327         AVIF_FALSE,
2328         AVIF_FALSE,
2329         (avifColorPrimaries)1,
2330         (avifTransferCharacteristics)13,
2331         (avifMatrixCoefficients)6,
2332         131503,
2333         0,
2334     },
2335     // index: 153
2336     {
2337         "Netflix/avif/sdr_cosmos07296_cicp1-13-6_yuv420_limited_qp20.avif",
2338         2048,
2339         858,
2340         8,
2341         AVIF_PIXEL_FORMAT_YUV420,
2342         AVIF_FALSE,
2343         AVIF_FALSE,
2344         (avifColorPrimaries)1,
2345         (avifTransferCharacteristics)13,
2346         (avifMatrixCoefficients)6,
2347         62338,
2348         0,
2349     },
2350     // index: 154
2351     {
2352         "Netflix/avif/sdr_cosmos07296_cicp1-13-6_yuv420_limited_qp40.avif",
2353         2048,
2354         858,
2355         8,
2356         AVIF_PIXEL_FORMAT_YUV420,
2357         AVIF_FALSE,
2358         AVIF_FALSE,
2359         (avifColorPrimaries)1,
2360         (avifTransferCharacteristics)13,
2361         (avifMatrixCoefficients)6,
2362         15027,
2363         0,
2364     },
2365     // index: 155
2366     {
2367         "Netflix/avif/sdr_cosmos07296_cicp1-13-6_yuv444_full_qp10.avif",
2368         2048,
2369         858,
2370         8,
2371         AVIF_PIXEL_FORMAT_YUV444,
2372         AVIF_FALSE,
2373         AVIF_TRUE,
2374         (avifColorPrimaries)1,
2375         (avifTransferCharacteristics)13,
2376         (avifMatrixCoefficients)6,
2377         282438,
2378         0,
2379     },
2380     // index: 156
2381     {
2382         "Netflix/avif/sdr_cosmos07296_cicp1-13-6_yuv444_full_qp20.avif",
2383         2048,
2384         858,
2385         8,
2386         AVIF_PIXEL_FORMAT_YUV444,
2387         AVIF_FALSE,
2388         AVIF_TRUE,
2389         (avifColorPrimaries)1,
2390         (avifTransferCharacteristics)13,
2391         (avifMatrixCoefficients)6,
2392         134294,
2393         0,
2394     },
2395     // index: 157
2396     {
2397         "Netflix/avif/sdr_cosmos07296_cicp1-13-6_yuv444_full_qp40.avif",
2398         2048,
2399         858,
2400         8,
2401         AVIF_PIXEL_FORMAT_YUV444,
2402         AVIF_FALSE,
2403         AVIF_TRUE,
2404         (avifColorPrimaries)1,
2405         (avifTransferCharacteristics)13,
2406         (avifMatrixCoefficients)6,
2407         24570,
2408         0,
2409     },
2410     // index: 158
2411     {
2412         "Netflix/avif/sdr_cosmos12920_cicp1-13-0_lossless.avif",
2413         2048,
2414         858,
2415         8,
2416         AVIF_PIXEL_FORMAT_YUV444,
2417         AVIF_FALSE,
2418         AVIF_TRUE,
2419         (avifColorPrimaries)1,
2420         (avifTransferCharacteristics)13,
2421         (avifMatrixCoefficients)0,
2422         2061853,
2423         0,
2424     },
2425     // index: 159
2426     {
2427         "Netflix/avif/sdr_cosmos12920_cicp1-13-6_yuv420_limited_qp10.avif",
2428         2048,
2429         858,
2430         8,
2431         AVIF_PIXEL_FORMAT_YUV420,
2432         AVIF_FALSE,
2433         AVIF_FALSE,
2434         (avifColorPrimaries)1,
2435         (avifTransferCharacteristics)13,
2436         (avifMatrixCoefficients)6,
2437         153575,
2438         0,
2439     },
2440     // index: 160
2441     {
2442         "Netflix/avif/sdr_cosmos12920_cicp1-13-6_yuv420_limited_qp20.avif",
2443         2048,
2444         858,
2445         8,
2446         AVIF_PIXEL_FORMAT_YUV420,
2447         AVIF_FALSE,
2448         AVIF_FALSE,
2449         (avifColorPrimaries)1,
2450         (avifTransferCharacteristics)13,
2451         (avifMatrixCoefficients)6,
2452         75234,
2453         0,
2454     },
2455     // index: 161
2456     {
2457         "Netflix/avif/sdr_cosmos12920_cicp1-13-6_yuv420_limited_qp40.avif",
2458         2048,
2459         858,
2460         8,
2461         AVIF_PIXEL_FORMAT_YUV420,
2462         AVIF_FALSE,
2463         AVIF_FALSE,
2464         (avifColorPrimaries)1,
2465         (avifTransferCharacteristics)13,
2466         (avifMatrixCoefficients)6,
2467         27418,
2468         0,
2469     },
2470     // index: 162
2471     {
2472         "Netflix/avif/sdr_cosmos12920_cicp1-13-6_yuv444_full_qp10.avif",
2473         2048,
2474         858,
2475         8,
2476         AVIF_PIXEL_FORMAT_YUV444,
2477         AVIF_FALSE,
2478         AVIF_TRUE,
2479         (avifColorPrimaries)1,
2480         (avifTransferCharacteristics)13,
2481         (avifMatrixCoefficients)6,
2482         285667,
2483         0,
2484     },
2485     // index: 163
2486     {
2487         "Netflix/avif/sdr_cosmos12920_cicp1-13-6_yuv444_full_qp20.avif",
2488         2048,
2489         858,
2490         8,
2491         AVIF_PIXEL_FORMAT_YUV444,
2492         AVIF_FALSE,
2493         AVIF_TRUE,
2494         (avifColorPrimaries)1,
2495         (avifTransferCharacteristics)13,
2496         (avifMatrixCoefficients)6,
2497         119878,
2498         0,
2499     },
2500     // index: 164
2501     {
2502         "Netflix/avif/sdr_cosmos12920_cicp1-13-6_yuv444_full_qp40.avif",
2503         2048,
2504         858,
2505         8,
2506         AVIF_PIXEL_FORMAT_YUV444,
2507         AVIF_FALSE,
2508         AVIF_TRUE,
2509         (avifColorPrimaries)1,
2510         (avifTransferCharacteristics)13,
2511         (avifMatrixCoefficients)6,
2512         41906,
2513         0,
2514     },
2515     // index: 165
2516     {
2517         "Netflix/avis/Chimera-AV1-10bit-480x270.avif",
2518         480,
2519         270,
2520         10,
2521         AVIF_PIXEL_FORMAT_YUV420,
2522         AVIF_FALSE,
2523         AVIF_FALSE,
2524         (avifColorPrimaries)2,
2525         (avifTransferCharacteristics)2,
2526         (avifMatrixCoefficients)2,
2527         142540,
2528         0,
2529     },
2530     // index: 166
2531     {
2532         "Netflix/avis/alpha_video.avif",
2533         640,
2534         480,
2535         8,
2536         AVIF_PIXEL_FORMAT_YUV420,
2537         AVIF_TRUE,
2538         AVIF_FALSE,
2539         (avifColorPrimaries)1,
2540         (avifTransferCharacteristics)13,
2541         (avifMatrixCoefficients)1,
2542         3487,
2543         4642,
2544     },
2545     // index: 167
2546     {
2547         "Xiph/abandoned_filmgrain.avif",
2548         1404,
2549         936,
2550         8,
2551         AVIF_PIXEL_FORMAT_YUV420,
2552         AVIF_FALSE,
2553         AVIF_FALSE,
2554         (avifColorPrimaries)1,
2555         (avifTransferCharacteristics)13,
2556         (avifMatrixCoefficients)1,
2557         141119,
2558         0,
2559     },
2560     // index: 168
2561     {
2562         "Xiph/fruits_2layer_thumbsize.avif",
2563         1296,
2564         864,
2565         8,
2566         AVIF_PIXEL_FORMAT_YUV420,
2567         AVIF_FALSE,
2568         AVIF_FALSE,
2569         (avifColorPrimaries)1,
2570         (avifTransferCharacteristics)13,
2571         (avifMatrixCoefficients)1,
2572         35097,
2573         0,
2574     },
2575     // index: 169
2576     {
2577         "Xiph/quebec_3layer_op2.avif",
2578         360,
2579         182,
2580         8,
2581         AVIF_PIXEL_FORMAT_YUV420,
2582         AVIF_FALSE,
2583         AVIF_FALSE,
2584         (avifColorPrimaries)1,
2585         (avifTransferCharacteristics)13,
2586         (avifMatrixCoefficients)1,
2587         86246,
2588         0,
2589     },
2590     // index: 170
2591     {
2592         "Xiph/tiger_3layer_1res.avif",
2593         1216,
2594         832,
2595         8,
2596         AVIF_PIXEL_FORMAT_YUV420,
2597         AVIF_FALSE,
2598         AVIF_FALSE,
2599         (avifColorPrimaries)1,
2600         (avifTransferCharacteristics)13,
2601         (avifMatrixCoefficients)1,
2602         70551,
2603         0,
2604     },
2605     // index: 171
2606     {
2607         "Xiph/tiger_3layer_3res.avif",
2608         1216,
2609         832,
2610         8,
2611         AVIF_PIXEL_FORMAT_YUV420,
2612         AVIF_FALSE,
2613         AVIF_FALSE,
2614         (avifColorPrimaries)1,
2615         (avifTransferCharacteristics)13,
2616         (avifMatrixCoefficients)1,
2617         64582,
2618         0,
2619     },
2620 };
2621 
VerifyInfo(const ExpectedImageInfo & expected_info,const avifImage & image)2622 void VerifyInfo(const ExpectedImageInfo& expected_info,
2623                 const avifImage& image) {
2624   EXPECT_EQ(image.width, expected_info.width);
2625   EXPECT_EQ(image.height, expected_info.height);
2626   EXPECT_EQ(image.depth, expected_info.depth);
2627   EXPECT_EQ(image.yuvFormat, expected_info.yuv_format);
2628   EXPECT_EQ(image.yuvRange,
2629             expected_info.full_range ? AVIF_RANGE_FULL : AVIF_RANGE_LIMITED);
2630   EXPECT_EQ(image.colorPrimaries, expected_info.color_primaries);
2631   EXPECT_EQ(image.transferCharacteristics,
2632             expected_info.transfer_characteristics);
2633   EXPECT_EQ(image.matrixCoefficients, expected_info.matrix_coefficients);
2634 }
2635 
2636 using ConformanceTest = ::testing::TestWithParam<ExpectedImageInfo>;
2637 
2638 INSTANTIATE_TEST_SUITE_P(Parameterized, ConformanceTest,
2639                          ::testing::ValuesIn(kExpectedImageInfos));
2640 
TEST_P(ConformanceTest,ValidateDecode)2641 TEST_P(ConformanceTest, ValidateDecode) {
2642   if (!testutil::Av1DecoderAvailable()) {
2643     GTEST_SKIP() << "AV1 Codec unavailable, skip test.";
2644   }
2645   DecoderPtr decoder(avifDecoderCreate());
2646   ASSERT_NE(decoder, nullptr);
2647   const ExpectedImageInfo& info = GetParam();
2648   decoder.get()->strictFlags = 0;
2649   ASSERT_EQ(
2650       avifDecoderSetIOFile(decoder.get(),
2651                            (std::string(data_path) + info.filename).c_str()),
2652       AVIF_RESULT_OK);
2653   ASSERT_EQ(avifDecoderParse(decoder.get()), AVIF_RESULT_OK);
2654   VerifyInfo(info, *decoder->image);
2655   EXPECT_EQ(decoder->alphaPresent, info.alpha_present);
2656 
2657   ASSERT_EQ(avifDecoderNextImage(decoder.get()), AVIF_RESULT_OK);
2658   // Link-U 422 files have wrong subsampling in the Avif header(decoded one is
2659   // right).
2660   if (std::string(info.filename).find("Link-U") == std::string::npos ||
2661       std::string(info.filename).find("yuv422") == std::string::npos) {
2662     VerifyInfo(info, *decoder->image);
2663   }
2664 }
2665 
2666 }  // namespace
2667 }  // namespace avif
2668 
main(int argc,char ** argv)2669 int main(int argc, char** argv) {
2670   ::testing::InitGoogleTest(&argc, argv);
2671   if (argc != 2) {
2672     std::cerr << "There must be exactly one argument containing the path to "
2673                  "the test data folder"
2674               << std::endl;
2675     return 1;
2676   }
2677   avif::data_path = argv[1];
2678   return RUN_ALL_TESTS();
2679 }
2680