How is an HDR still stored as an SDR JPEG plus gain map (Ultra HDR / Adobe gain map / ISO 21496-1), and what colour-profile and metadata rules decide what a reader reconstructs?
Android's Ultra HDR specification says the SDR primary image's colour profile defines the HDR image's colour space and that Ultra HDR and ISO 21496-1 gain-map metadata can share one gain-map image in a JPEG; AVIF 1.2 allows a tmap derived image item grouped with the base item; libjxl defines a jhgm box whose metadata is an ISO 21496-1 blob - three container families for gain maps.
Android's Ultra HDR specification says the SDR primary image's colour profile defines the HDR image's colour space and that Ultra HDR and ISO 21496-1 gain-map metadata can share one gain-map image in a JPEG; AVIF 1.2 allows a tmap derived image item grouped with the base item; libjxl defines a jhgm box whose metadata is an ISO 21496-1 blob - three container families for gain maps.
Curator qualifications: Adobe Gain Map page (S14) not reinspected (Adobe help pages returned 403 earlier in this window); its draft-version and patent-licence statements are unverified. Rights conflict preserved: Android documentation licence vs Adobe patent-licence reference not reconciled. libultrahdr README API table and libavif changelog (E6, E9) not reinspected; tool preservation of gain maps on re-save unknown. Specification and header text only; no image encoded.
Limitations: Live Android page.
Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
"citations": [
{
"url": "https://developer.android.com/media/platform/hdr-image-format",
"note": "developer.android.com/media/platform/hdr-image-format (fetched 2026-10-22); av1-avif index.bs line 399 at bf4c18d1; libjxl lib/include/jxl/gain_map.h lines 10, 40-44 at f23e813b"
},
{
"url": "https://helpx.adobe.com/camera-raw/using/gain-map.html",
"note": "developer.android.com/media/platform/hdr-image-format (fetched 2026-10-22); av1-avif index.bs line 399 at bf4c18d1; libjxl lib/include/jxl/gain_map.h lines 10, 40-44 at f23e813b"
},
{
"url": "https://github.com/google/libultrahdr/blob/47d9f00726adba87e3f04059a50a8b34492e057a/README.md",
"note": "developer.android.com/media/platform/hdr-image-format (fetched 2026-10-22); av1-avif index.bs line 399 at bf4c18d1; libjxl lib/include/jxl/gain_map.h lines 10, 40-44 at f23e813b"
},
{
"url": "https://github.com/AOMediaCodec/av1-avif/blob/bf4c18d1f3971069b75e87d6ee469790589f4f09/index.bs",
"note": "developer.android.com/media/platform/hdr-image-format (fetched 2026-10-22); av1-avif index.bs line 399 at bf4c18d1; libjxl lib/include/jxl/gain_map.h lines 10, 40-44 at f23e813b"
},
{
"url": "https://github.com/libjxl/libjxl/blob/f23e813be793fa5cd15c0eeca4ae32c2ed7c6add/lib/include/jxl/gain_map.h",
"note": "developer.android.com/media/platform/hdr-image-format (fetched 2026-10-22); av1-avif index.bs line 399 at bf4c18d1; libjxl lib/include/jxl/gain_map.h lines 10, 40-44 at f23e813b"
},
{
"url": "https://github.com/AOMediaCodec/libavif/blob/b1e4d339c1ff5b547664c85f1713279f4997d694/CHANGELOG.md",
"note": "developer.android.com/media/platform/hdr-image-format (fetched 2026-10-22); av1-avif index.bs line 399 at bf4c18d1; libjxl lib/include/jxl/gain_map.h lines 10, 40-44 at f23e813b"
}
]
}Evidence claims
- [sourced_fact] Android's Ultra HDR specification says the SDR primary image's colour profile defines the HDR image's colour space and that Ultra HDR and ISO 21496-1 gain-map metadata can share one gain-map image in a JPEG; AVIF 1.2 allows a tmap derived image item grouped with the base item; libjxl defines a jhgm box whose metadata is an ISO 21496-1 blob - three container families for gain maps. · locator: developer.android.com/media/platform/hdr-image-format (fetched 2026-10-22); av1-avif index.bs line 399 at bf4c18d1; libjxl lib/include/jxl/gain_map.h lines 10, 40-44 at f23e813b 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://developer.android.com/media/platform/hdr-image-format
- cites → https://github.com/AOMediaCodec/av1-avif/blob/bf4c18d1f3971069b75e87d6ee469790589f4f09/index.bs
- cites → https://github.com/AOMediaCodec/libavif/blob/b1e4d339c1ff5b547664c85f1713279f4997d694/CHANGELOG.md
- cites → https://github.com/google/libultrahdr/blob/47d9f00726adba87e3f04059a50a8b34492e057a/README.md
- cites → https://github.com/libjxl/libjxl/blob/f23e813be793fa5cd15c0eeca4ae32c2ed7c6add/lib/include/jxl/gain_map.h
- cites → https://helpx.adobe.com/camera-raw/using/gain-map.html