diff --git a/index.bs b/index.bs index 75e2770..0e7849a 100644 --- a/index.bs +++ b/index.bs @@ -1758,18 +1758,25 @@ following additional fields: in the [[!MEDIA-CAPABILITIES|Media Capabilities]] API. The default value is a list with the single entry "srgb". -: transfer-functions (optional) -:: An optional field indicating what HDR transfer functions can be decoded and rendered - by the media receiver. Valid values correspond to - [[MEDIA-CAPABILITIES#transferfunction|TransferFunction]] in the - [[!MEDIA-CAPABILITIES|Media Capabilities]] API. The default value is a list with the - single entry "srgb". - -: hdr-metadata (optional) -:: An optional field indicating what HDR metadata types can be decoded and rendered by - by the media receiver. Valid values correspond to - [[MEDIA-CAPABILITIES#hdrmetadatatype|HdrMetadataType]] in the - [[!MEDIA-CAPABILITIES|Media Capabilities]] API. The default value is an empty list. +: hdr-formats (optional) +:: An optional field indicating what HDR transfer functions and metadata formats + can be decoded and rendered by the media receiver. Each `video-hdr-format` + consists of two fields, `transfer-function` and `hdr-metadata`. + + The `transfer-function` field must be a valid + [[MEDIA-CAPABILITIES#transferfunction|TransferFunction]] + and the `hdr-metadata` must be a valid + [[MEDIA-CAPABILITIES#hdrmetadatatype|HdrMetadataType]], both defined in the + [[!MEDIA-CAPABILITIES|Media Capabilities]] API. + + If a `video-hdr-format` is provided with a `transfer-function` but no + `hdr-metadata`, then the media receiver can render the `transfer-function` + without any associated metadata. (This is the case, for example, with the + "hlg" `transfer-function`.) + + If no `hdr-formats` are listed, then the media reciever cannot decode any + HDR formats. + : native-resolutions (optional) :: An optional field indicating what video-resolutions the media receiver supports and diff --git a/messages_appendix.cddl b/messages_appendix.cddl index ea9e28d..5cbb49d 100644 --- a/messages_appendix.cddl +++ b/messages_appendix.cddl @@ -553,6 +553,11 @@ video-resolution = { 1: uint ; width } +video-hdr-format = { + 0: transfer-function ; string + 1: ? hdr-metadata ; string +} + receive-video-capability = { 0: format ; codec ? 1: video-resolution ; max-resolution @@ -561,11 +566,10 @@ receive-video-capability = { ? 4: uint ; min-bit-rate ? 5: ratio ; aspect-ratio ? 6: [* string] ; color-gamuts - ? 7: [* string] ; transfer-functions - ? 8: [* string] ; hdr-metadata - ? 9: [* video-resolution] ; native-resolutions - ? 10: bool ; supports-scaling - ? 11: bool ; supports-rotation + ? 7: [* video-hdr-format] ; hdr-formats + ? 8: [* video-resolution] ; native-resolutions + ? 9: bool ; supports-scaling + ? 10: bool ; supports-rotation } receive-data-capability = {