[FFmpeg-devel] [Cellar] [Matroska-devel] Colour Format proposal

Dave Rice dave at dericed.com
Fri Feb 19 20:59:41 CET 2016


Hi all,

Working with the IETF Cellar Working Group, https://datatracker.ietf.org/wg/cellar/charter/, Frank Galligan has drafted a proposal for the management of metadata in Matroska to accommodate information on color, full/broadcast range, HDR metadata, chroma subsampling patterns and other information. I'm forwarding it to ffmpeg-devel and libav-devel to encourage any additional comments. The background discussion thus far is visible at https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&q=Colour+Format+proposal <https://mailarchive.ietf.org/arch/search/?email_list=cellar&gbt=1&q=Colour+Format+proposal>. For context, the structure for Matroska element definitions is currently in draft here: https://github.com/Matroska-Org/ebml-specification/blob/master/specification.markdown#ebml-schema-element-attributes <https://github.com/Matroska-Org/ebml-specification/blob/master/specification.markdown#ebml-schema-element-attributes>.

> Begin forwarded message:
> 
> From: Frank Galligan <frankgalligan at gmail.com>
> Subject: Re: [Cellar] [Matroska-devel] Colour Format proposal
> Date: February 18, 2016 at 2:50:27 PM EST
> To: Dave Rice <dave at dericed.com>
> Cc: Jerome Martinez <jerome at mediaarea.net>, Discussion about the current and future development of Matroska <matroska-devel at lists.matroska.org>, cellar at ietf.org
> 
> Here is the current proposal, minus the reference to the 265 doc.
> 
> The parent element would be Video [E0].
> 
> 
> Element Name: Colour
> Level:        4
> ID:           [55][B0]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         m
> Description:  Settings describing the colour format.
> 
> 
> Element Name: MatrixCoefficients
> Level:        5
> ID:           [55][B1]
> Mandatory:    -
> Multiple:     -
> Default:      2
> Type:         u
> Description:  The Matrix Coefficients of the video used to derive luma and
>               chroma values from reg, green, and blue color primaries. For
>               clarity, the value and meanings for MatrixCoefficients are adopted
>               from Table 4 of ISO/IEC 23001-8:2013/DCOR1. (0:GBR, 1: BT709,
>               2: Unspecified, 3: Reserved, 4: FCC, 5: BT470BG, 6: SMPTE 170M,
>               7: SMPTE 240M, 8: YCOCG, 9: BT2020 Non-constant Luminance,
>               10: BT2020 Constant Luminance) 
> 
> 
> Element Name: BitsPerChannel
> Level:        5
> ID:           [55][B2]
> Mandatory:    -
> Multiple:     -
> Default:      0
> Type:         u
> Description:  Number of decoded bits per channel. A value of 0 indicates that
>               the BitsPerChannel is unspecified.
> 
> 
> Element Name: ChromaSubsamplingHorz
> Level:        5
> ID:           [55][B3]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         u
> Description:  The amount of pixels to remove in the Cr and Cb channels for every
>               pixel not removed horizontally. Example: For video with 4:2:0
>               chroma subsampling, the ChromaSubsamplingHorz should be set to 1.
> 
> 
> Element Name: ChromaSubsamplingVert
> Level:        5
> ID:           [55][B4]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         u
> Description:  The amount of pixels to remove in the Cr and Cb channels for every
>               pixel not removed vertically. Example: For video with 4:2:0 chroma
>               subsampling, the ChromaSubsamplingVert should be set to 1.
> 
> Element Name: CbSubsamplingHorz
> Level:        5
> ID:           [55][B5]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         u
> Description:  The amount of pixels to remove in the Cb channel for every pixel
>               not removed horizontally. This is additive with
>               ChromaSubsamplingHorz. Example: For video with 4:2:1 chroma
>               subsampling, the ChromaSubsamplingHorz should be set to 1 and
>               CbSubsamplingHorz should be set to 1.
> 
> 
> Element Name: CbSubsamplingVert
> Level:        5
> ID:           [55][B6]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         u
> Description:  The amount of pixels to remove in the Cb channel for every pixel
>               not removed vertically. This is additive with
>               ChromaSubsamplingVert.
> 
> 
> Element Name: ChromaSitingHorz
> Level:        5
> ID:           [55][B7]
> Mandatory:    -
> Multiple:     -
> Default:      0
> Type:         u
> Description:  How Chroma is subsampled horizontally. (0: Unspecified, 1: Left 
>               collocated , 2: Half)
> 
> Element Name: ChromaSitingVert
> Level:        5
> ID:           [55][B8]
> Mandatory:    -
> Multiple:     -
> Default:      0
> Type:         u
> Description:  How Chroma is subsampled vertically. (0: Unspecified, 1: Top
>               collocated , 2: Half)
> 
> 
> Element Name: Range
> Level:        5
> ID:           [55][B9]
> Mandatory:    -
> Multiple:     -
> Default:      0
> Type:         u
> Description:  Clipping of the color ranges. (0: Unspecified, 1: Broadcast range,
>               2: Full range (no clipping), 3: Defined by
>               MatrixCoefficients/TransferCharacteristics)
> 
> 
> Element Name: TransferCharacteristics
> Level:        5
> ID:           [55][BA]
> Mandatory:    -
> Multiple:     -
> Default:      2
> Type:         u
> Description:  The transfer characteristics of the video. For clarity, the value
>               and meanings for TransferCharacteristics 1-15 are adopted from
>               Table 3 of ISO/IEC 23001-8:2013/DCOR1. TransferCharacteristics
>               16-17 are adopted from <265 doc> and 18 is the proposed value of
>               ARIB STD-B67. (0: Reserved, 1: ITU-R BT.709, 2: Unspecified,
>               3: Reserved, 4: Gamma 2.2 curve, 5: Gamma 2.8 curve,
>               6: SMPTE 170M, 7: SMPTE 240M, 8: Linear, 9: Log, 10: Log Sqrt,
>               11: IEC 61966-2-4, 12: ITU-R BT.1361 Extended Colour Gamut,
>               13: IEC 61966-2-1, 14: ITU-R BT.2020 10 bit,
>               15: ITU-R BT.2020 12 bit, 16: SMPTE ST 2084, 17: SMPTE ST 428-1
>               18: ARIB STD-B67 (HLG))
> 
> 
> Element Name: Primaries
> Level:        5
> Mandatory:    -
> Multiple:     -
> ID:           [55][BB]
> Default:      2
> Type:         u
> Description:  The colour primaries of the video. For clarity, the value and
>               meanings for Primaries are adopted from Table 2 of
>               ISO/IEC 23001-8:2013/DCOR1. (0: Reserved, 1: ITU-R BT.709,
>               2: Unspecified, 3: Reserved, 4: ITU-R BT.470M, 5: ITU-R BT.470BG,
>               6: SMPTE 170M, 7: SMPTE 240M, 8: FILM, 9: ITU-R BT.2020,
>               10: SMPTE ST 428-1, 22: JEDEC P22 phosphors)
> 
> 
> Element Name: MaxCLL
> Level:        5
> ID:           [55][BC]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         u
> Description:  Maximum brightness of a single pixel (Maximum Content Light Level)
>               in candelas per square meter (cd/m²).
> 
> 
> Element Name: MaxFALL
> Level:        5
> ID:           [55][BD]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         u
> Description:  Maximum brightness of a single full frame (Maximum Frame-Average
>               Light Level) in candelas per square meter (cd/m²).
> 
> 
> Element Name: MasteringMetadata
> Level:        5
> ID:           [55][D0]
> Mandatory:    -
> Multiple:     -
> Default:      -
> Type:         m
> Description:  SMPTE 2086 mastering data.
> 
> 
> Element Name: PrimaryRChromaticityX
> Level:        6
> ID:           [55][D1]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> Type:         f
> Description:  Red X chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: PrimaryRChromaticityY
> Level:        6
> ID:           [55][D2]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> Type:         f
> Description:  Red Y chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: PrimaryGChromaticityX
> Level:        6
> ID:           [55][D3]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> f
> Description:  Green X chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: PrimaryGChromaticityY
> Level:        6
> ID:           [55][D4]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> Type:         f
> Description:  Green Y chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: PrimaryBChromaticityX
> Level:        6
> ID:           [55][D5]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> Type:         f
> Description:  Blue X chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: PrimaryBChromaticityY
> Level:        6
> ID:           [55][D6]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> Type:         f
> Description:  Blue Y chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: WhitePointChromaticityX
> Level:        6
> ID:           [55][D7]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> Type:         f
> Description:  White point X chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: WhitePointChromaticityY
> Level:        6
> ID:           [55][D8]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 1.0
> Default:      -
> Type:         f
> Description:  White point Y chromaticity coordinate as defined by CIE 1931.
> 
> 
> Element Name: LuminanceMax
> Level:        6
> ID:           [55][D9]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 9999.99
> Default:      -
> Type:         f
> Description:  Maximum luminance. Shall be represented in candelas per square
>               meter (cd/m²).
> 
> 
> Element Name: LuminanceMin
> Level:        6
> ID:           [55][DA]
> Mandatory:    -
> Multiple:     -
> Range:        0.0 <= f <= 999.9999
> Default:      -
> Type:         f
> Description:  Minimum luminance. Shall be represented in candelas per square
>               meter (cd/m²).
> 
>  
> [IEC23001-8] ISO/IEC 23001-8:2013/DCOR1, "Coding independent media description code points", 2013, <http://standards.iso.org/ittf/PubliclyAvailableStandards/c062088_ISO_IEC_23001-8_2013.zip <http://standards.iso.org/ittf/PubliclyAvailableStandards/c062088_ISO_IEC_23001-8_2013.zip>>.
> 
> <reference to h265 doc)


[...]

Those interested in standardization efforts for EBML, Matroska, and FFV1 are encouraged to join the CELLAR Working Group. https://datatracker.ietf.org/wg/cellar/charter/ <https://datatracker.ietf.org/wg/cellar/charter/>.

Best Regards,
Dave Rice



More information about the ffmpeg-devel mailing list