What containers and metadata encodings does libultrahdr v2.0.2 claim to read and write (JPEG, HEIF, AVIF; XMP, ISO 21496-1), and which API takes which inputs?
libultrahdr offers five encode paths (API-0 to API-4) depending on whether you supply raw HDR, raw SDR, compressed SDR, or a compressed gain map plus metadata, and a decoder option for the display's maximum boost. Its header version table says 2.0.0 added HEIF/HEIC and AVIF containers (via libheif and an ISO 21496-1 'tmap' item, behind the UHDR_ENABLE_HEIF build flag), and 1.5.1 enabled writing both ISO 21496-1 and XMP metadata. The api_changes document still describes these as planned for a 'Potential v2.0.0', so treat container support as build-dependent and verify it in the build you use.
libultrahdr offers five encode paths (API-0 to API-4) depending on whether you supply raw HDR, raw SDR, compressed SDR, or a compressed gain map plus metadata, and a decoder option for the display's maximum boost. Its header version table says 2.0.0 added HEIF/HEIC and AVIF containers (via libheif and an ISO 21496-1 'tmap' item, behind the UHDR_ENABLE_HEIF build flag), and 1.5.1 enabled writing both ISO 21496-1 and XMP metadata. The api_changes document still describes these as planned for a 'Potential v2.0.0', so treat container support as build-dependent and verify it in the build you use.
Curator qualifications: Code and docs read 2026-10-22; nothing built or encoded. jpegr.cpp L2770-2773 carried from producer reading.
Limitations: Code and docs read 2026-10-22; nothing built or encoded.
Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
"citations": [
{
"url": "https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/ultrahdr_api.h",
"note": "README.md encoding/decoding API outline; docs/api_changes_v1.5_to_v2.0.md title and table; ultrahdr_api.h version table L73-75"
},
{
"url": "https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/lib/src/jpegr.cpp",
"note": "README.md encoding/decoding API outline; docs/api_changes_v1.5_to_v2.0.md title and table; ultrahdr_api.h version table L73-75"
},
{
"url": "https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/docs/api_changes_v1.5_to_v2.0.md",
"note": "README.md encoding/decoding API outline; docs/api_changes_v1.5_to_v2.0.md title and table; ultrahdr_api.h version table L73-75"
},
{
"url": "https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/README.md",
"note": "README.md encoding/decoding API outline; docs/api_changes_v1.5_to_v2.0.md title and table; ultrahdr_api.h version table L73-75"
}
]
}Evidence claims
- [sourced_fact] libultrahdr offers five encode paths (API-0 to API-4) depending on whether you supply raw HDR, raw SDR, compressed SDR, or a compressed gain map plus metadata, and a decoder option for the display's maximum boost. Its header version table says 2.0.0 added HEIF/HEIC and AVIF containers (via libheif and an ISO 21496-1 'tmap' item, behind the UHDR_ENABLE_HEIF build flag), and 1.5.1 enabled writing both ISO 21496-1 and XMP metadata. The api_changes document still describes these as planned for a 'Potential v2.0.0', so treat container support as build-dependent and verify it in the build you use. · locator: README.md encoding/decoding API outline; docs/api_changes_v1.5_to_v2.0.md title and table; ultrahdr_api.h version table L73-75 source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/README.md
- cites → https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/docs/api_changes_v1.5_to_v2.0.md
- cites → https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/lib/src/jpegr.cpp
- cites → https://github.com/google/libultrahdr/blob/e5f5a022fe96fc4dc2ee35c19f733a50df807abe/ultrahdr_api.h