blob: 933f2e375cf99c274b705a3139002cee30960989 [file] [log] [blame] [view]
# Test images
## Still images
### Files `kodim*`
#### File [kodim03_yuv420_8bpc.avif](io/kodim03_yuv420_8bpc.avif)
![](io/kodim03_yuv420_8bpc.avif)
License: released by the Eastman Kodak Company for unrestricted usage
#### File [kodim23_yuv420_8bpc.avif](io/kodim23_yuv420_8bpc.avif)
![](io/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](io/cosmos1650_yuv444_10bpc_p3pq.avif)
![](io/cosmos1650_yuv444_10bpc_p3pq.avif)
License: [Creative Commons Attribution license (reuse allowed)](https://creativecommons.org/licenses/by/3.0/legalcode)
Source: ["Cosmos Laundromat" movie](https://www.youtube.com/watch?v=Y-rmzh0PI3c) (frame at around 1 minute past the
beginning)
### Files with high bit depth per channel
#### File [weld_16bit.png](weld_16bit.png)
![](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](dog_exif_extended_xmp_icc.jpg)
![](dog_exif_extended_xmp_icc.jpg)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
Source: Personal photo.
| address | marker | length | data |
|--------:|-------------|-------:|----------------------------------------------|
| 0 | 0xffd8 SOI | | |
| 2 | 0xffe1 APP1 | 884 | `Exif..II*......................` |
| 888 | 0xffe1 APP1 | 353 | `http://ns.adobe.com/xap/1.0/.<x:` |
| 1243 | 0xffe1 APP1 | 32417 | `http://ns.adobe.com/xmp/extensio` |
| 33662 | 0xffe0 APP0 | 16 | `JFIF.........` |
| | | | ... |
| 33818 | 0xffe2 APP2 | 612 | `ICC_PROFILE......T........mntrRG chunk 1/1` |
| | | | ... |
### File [paris_exif_xmp_icc.jpg](paris_exif_xmp_icc.jpg)
![](paris_exif_xmp_icc.jpg)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
Source: Personal photo edited with Gimp 2.10.
| address | marker | length | data |
|--------:|-------------|-------:|----------------------------------------------|
| 0 | 0xffd8 SOI | | |
| 2 | 0xffe0 APP0 | 16 | `JFIF.....,.,.` |
| 20 | 0xffe1 APP1 | 1134 | `Exif..II*......................` |
| 1156 | 0xffe1 APP1 | 3929 | `http://ns.adobe.com/xap/1.0/.<?x` |
| 5087 | 0xffe2 APP2 | 612 | `ICC_PROFILE......T........mntrRG chunk 1/1` |
| | | | ... |
### File [paris_extended_xmp.jpg](paris_extended_xmp.jpg)
![](paris_extended_xmp.jpg)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
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](https://en.wikipedia.org/wiki/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.
| address | marker | length | data |
|---------:|-------------|-------:|----------------------------------|
| 0 | 0xffd8 SOI | | |
| 2 | 0xffe0 APP0 | 16 | `JFIF.....,.,.` |
| 20 | 0xffe1 APP1 | 5531 | http://ns.adobe.com/xap/1.0/.<?x |
| 5553 | 0xffe1 APP1 | 65535 | http://ns.adobe.com/xmp/extensio |
| 71090 | 0xffe1 APP1 | 65535 | http://ns.adobe.com/xmp/extensio |
| 136627 | 0xffe1 APP1 | 4791 | http://ns.adobe.com/xmp/extensio |
| | | | ... |
### File [paris_icc_exif_xmp.png](paris_icc_exif_xmp.png)
![](paris_icc_exif_xmp.png)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
Source: `paris_exif_xmp_icc.jpg` loaded with `avifReadImage()` then written with `avifPNGWrite()` (modified to output
metadata this way).
| address | marker | length | data |
|--------:|--------|-------:|----------------------------------|
| 8 | IHDR | 13 | |
| 33 | iCCP | 386 | `libavif..(.u..+DQ..?3...E.....` |
| 431 | zTXt | 631 | `Raw profile type exif..H...[..` |
| 1074 | zTXt | 1076 | `Raw profile type xmp..X..YQ..8` |
| 2162 | IDAT | | ... |
| 160456 | IEND | 0 | |
### File [paris_icc_exif_xmp_at_end.png](paris_icc_exif_xmp_at_end.png)
![](paris_icc_exif_xmp_at_end.png)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
Source: `paris_exif_xmp_icc.jpg` loaded with `avifReadImage()` then written with `avifPNGWrite()` (modified to output
metadata this way).
| address | marker | length | data |
|--------:|--------|-------:|----------------------------------|
| 8 | IHDR | 13 | |
| 33 | iCCP | 386 | `libavif..(.u..+DQ..?3...E.....` |
| 2162 | IDAT | | ... |
| 151474 | eXIf | 1126 | `II*..........................` |
| 152612 | tEXt | 7832 | `Raw profile type xmp..XMP.0000` |
| 160456 | IEND | 0 | |
### File [paris_exif_orientation_5.jpg](paris_exif_orientation_5.jpg)
![](paris_exif_orientation_5.jpg)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
Source: `paris_exif_xmp_icc.jpg` stripped from all metadata with `exiftool -all=` and Exif orientation added
with `exiv2 -k -M "set Exif.Image.Orientation 5"`
| address | marker | length | data |
|--------:|-------------|--------:|--------------------------------------|
| 0 | 0xffd8 SOI | | |
| 2 | 0xffe1 APP1 | 34 | `Exif..II*......................` |
| | | | ... |
### File [paris_icc_exif_xmp.avif](paris_icc_exif_xmp.avif)
![](paris_icc_exif_xmp.avif)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
Source: Encoded from `paris_icc_exif_xmp.png` using `avifenc -s 10` at commit ed52c1b.
## Grid
### File [sofa_grid1x5_420.avif](sofa_grid1x5_420.avif)
![](sofa_grid1x5_420.avif)
License: [same as libavif](https://github.com/AOMediaCodec/libavif/blob/main/LICENSE)
Source: Personal photo converted with `avifenc --grid 1x5 --yuv 420` at
commit [632d131](https://github.com/AOMediaCodec/libavif/commit/632d13188f9b7faa40f20d870e792174b8b5b8e6).