tree: 6b0b8ba7540c20bc3323b07b544c0fc94960b819 [path history] [tgz]
  1. goldens/
  2. io/
  3. sources/
  4. alpha_noispe.avif
  5. ArcTriomphe-cHRM-orig.png
  6. ArcTriomphe-cHRM-red-green-swap-reference.png
  7. ArcTriomphe-cHRM-red-green-swap.png
  8. circle-trns-after-plte.png
  9. circle-trns-before-plte.png
  10. color_grid_alpha_grid_gainmap_nogrid.avif
  11. color_grid_alpha_nogrid.avif
  12. color_grid_gainmap_different_grid.avif
  13. color_nogrid_alpha_nogrid_gainmap_grid.avif
  14. colors-animated-8bpc.avif
  15. colors_hdr_p3.avif
  16. colors_hdr_rec2020.avif
  17. colors_hdr_srgb.avif
  18. colors_sdr_srgb.avif
  19. colors_text_hdr_p3.avif
  20. colors_text_hdr_rec2020.avif
  21. colors_text_hdr_srgb.avif
  22. colors_text_sdr_srgb.avif
  23. colors_text_wcg_hdr_rec2020.avif
  24. colors_text_wcg_sdr_rec2020.avif
  25. colors_wcg_hdr_rec2020.avif
  26. cosmos1650_yuv444_10bpc_p3pq.y4m
  27. dog_exif_extended_xmp_icc.jpg
  28. draw_points.png
  29. ffffcc-gamma1.6.png
  30. ffffcc-gamma2.2.png
  31. ffffcc-srgb.png
  32. ffffff-gamma1.6.png
  33. ffffff-gamma2.2.png
  34. kodim03_grayscale_gamma1.6-reference.png
  35. kodim03_grayscale_gamma1.6.png
  36. kodim03_yuv420_8bpc.y4m
  37. kodim23_yuv420_8bpc.y4m
  38. paris_exif_orientation_5.jpg
  39. paris_exif_xmp_gainmap_bigendian.jpg
  40. paris_exif_xmp_gainmap_littleendian.jpg
  41. paris_exif_xmp_icc.jpg
  42. paris_exif_xmp_icc_gainmap_bigendian.jpg
  43. paris_extended_xmp.jpg
  44. paris_icc_exif_xmp.avif
  45. paris_icc_exif_xmp.png
  46. paris_icc_exif_xmp_at_end.png
  47. paris_xmp_trailing_null.jpg
  48. README.md
  49. seine_hdr_gainmap_small_srgb.avif
  50. seine_hdr_gainmap_srgb.avif
  51. seine_hdr_rec2020.avif
  52. seine_hdr_srgb.avif
  53. seine_sdr_gainmap_big_srgb.avif
  54. seine_sdr_gainmap_srgb.avif
  55. seine_sdr_gainmap_srgb.jpg
  56. sofa_grid1x5_420.avif
  57. sRGB2014.icc
  58. weld_16bit.png
  59. white_1x1.avif
tests/data/README.md

Test images

Still images

File circle-trns-after-plte.png

An opaque blue circle on a transparent green background.

It is of color type 2 (PNG_COLOR_TYPE_RGB) and has a tRNS chunk after a PLTE chunk.

File circle-trns-before-plte.png

An opaque blue circle on a transparent green background.

It is of color type 2 (PNG_COLOR_TYPE_RGB) and has a tRNS chunk before a PLTE chunk. Since the PNG specification version 1.2 says “the tRNS chunk [...] must follow the PLTE chunk, if any”, libpng considers the tRNS chunk as invalid and ignores it.

File draw_points.png

Source: Generated with ImageMagick's convert command:

  convert -size 3x1 xc:red -alpha on -fill '#00F8' \
          -draw 'point 1,0' \
          -draw 'color 2,0 point' -scale 33x33 draw_points.png

It is of color type 3 (PNG_COLOR_TYPE_PALETTE) and has a tRNS chunk.

File white_1x1.avif

License: same as libavif

Source: from GetWhiteSinglePixelAvif() in avif_fuzztest_helpers.cc.

Files kodim*

File kodim03_yuv420_8bpc.avif

License: released by the Eastman Kodak Company for unrestricted usage

File kodim03_grayscale_gamma1.6.png

License: released by the Eastman Kodak Company for unrestricted usage

It is kodim03_yuv420_8bpc.avif converted to grayscale and tagged as Gamma 1.6 gAMA PNG chunk.

File kodim03_grayscale_gamma1.6-reference.png

License: released by the Eastman Kodak Company for unrestricted usage

It is kodim03_grayscale_gamma1.6.png converted into sRGB colorspace by Chrome using “Capture Node Screenshot” in DevTools.

File kodim23_yuv420_8bpc.avif

License: released by the Eastman Kodak Company for unrestricted usage

Source: http://r0k.us/graphics/kodak/

Files cosmos*

File cosmos1650_yuv444_10bpc_p3pq.avif

License: Creative Commons Attribution license (reuse allowed)

Source: “Cosmos Laundromat” movie (frame at around 1 minute past the beginning)

Files with high bit depth per channel

File weld_16bit.png

License: “Irrevocable, nonexclusive, worldwide copyright license to download, copy, modify, distribute, perform, and use raw files from Signature Edits for free, including for commercial purposes, without permission from or attributing the photographer or Signature Edits.”

Source: Picture from https://www.signatureedits.com/free-raw-photos/, rescaled, modified color balance and converted with GIMP+Darktable to 16b PNG, metadata removed with exiftool -All=.

Metadata

The structure can be displayed using exiv2 -pS <file>.

File dog_exif_extended_xmp_icc.jpg

License: same as libavif

Source: Personal photo.

addressmarkerlengthdata
00xffd8 SOI
20xffe1 APP1884Exif..II*......................
8880xffe1 APP1353http://ns.adobe.com/xap/1.0/.<x:
12430xffe1 APP132417http://ns.adobe.com/xmp/extensio
336620xffe0 APP016JFIF.........
...
338180xffe2 APP2612ICC_PROFILE......T........mntrRG chunk 1/1
...

File paris_exif_xmp_icc.jpg

License: same as libavif

Source: Personal photo edited with Gimp 2.10.

addressmarkerlengthdata
00xffd8 SOI
20xffe0 APP016JFIF.....,.,.
200xffe1 APP11134Exif..II*......................
11560xffe1 APP13929http://ns.adobe.com/xap/1.0/.<?x
50870xffe2 APP2612ICC_PROFILE......T........mntrRG chunk 1/1
...

File paris_extended_xmp.jpg

License: same as libavif

Source: Metadata was extracted from paris_exif_xmp_icc.jpg with exiftool -tagsfromfile paris_exif_xmp_icc.jpg paris_exif_xmp_icc.xmp. The text of the first book of De finibus bonorum et malorum was manually inserted in that file under the tag xmp:Label and the second book under the tag xmp:Nickname (any < or > removed to avoid conflicts with XMP). The file was reconstructed with exiftool -tagsfromfile paris_exif_xmp_icc.xmp -Exif= -icc_profile= paris_exif_xmp_icc.jpg -o paris_extended_xmp.jpg. The goal is to have a large XMP blob so that it can only be stored as multiple extended XMP chunks.

addressmarkerlengthdata
00xffd8 SOI
20xffe0 APP016JFIF.....,.,.
200xffe1 APP15531http://ns.adobe.com/xap/1.0/.<?x
55530xffe1 APP165535http://ns.adobe.com/xmp/extensio
710900xffe1 APP165535http://ns.adobe.com/xmp/extensio
1366270xffe1 APP14791http://ns.adobe.com/xmp/extensio
...

File paris_xmp_trailing_null.jpg

License: same as libavif

Source: paris_exif_xmp_icc.jpg loaded with avifReadImage(), stripped of ICC and Exif, a zero byte appended to XMP, then written with avifJPEGWrite() with quality 0 (without calling avifImageFixXMP()).

addressmarkerlengthdata
00xffd8 SOI
20xffe0 APP016JFIF.........
200xffe1 APP13930http://ns.adobe.com/xap/1.0/.<?x
...

File paris_icc_exif_xmp.png

License: same as libavif

Source: paris_exif_xmp_icc.jpg loaded with avifReadImage() then written with avifPNGWrite() (modified to output metadata this way).

addressmarkerlengthdata
8IHDR13
33iCCP386libavif..(.u..+DQ..?3...E.....
431zTXt631Raw profile type exif..H...[..
1074zTXt1076Raw profile type xmp..X..YQ..8
2162IDAT...
160456IEND0

File paris_icc_exif_xmp_at_end.png