@cpm, here is the info you requested in terms of parsing the string:
The HDR infoframe:
Header Bytes:
Byte 1 - Info Frame Type = 0x07
Byte 2 - Version = 0x01
Byte 3 - Number of Metadata Bytes following the header = generally 0x1A (26)
Data Bytes:
Byte 1 - Transfer Function:
00 = Power Gamma SDR
01 = Power Gamma HDR
02 = PQ Gamma
03 = HLG Gamma
04-07 = Reserved
Byte 2 - Metadata Descriptor = 0x00, Static Metadata
Byte 3 - Byte n - Content Metadata
Byte 3 - 14 - Primaries (Group 1)
Byte 3 - display_primaries_x[0], LSB
Byte 4 - display_primaries_x[0], MSB
Byte 5 - display_primaries_y[0], LSB
Byte 6 - display_primaries_y[0], MSB
Byte 7 - display_primaries_x[1], LSB
Byte 8 - display_primaries_x[1], MSB
Byte 9 - display_primaries_y[1], LSB
Byte 10 - display_primaries_y[1], MSB
Byte 11 - display_primaries_x[2], LSB
Byte 12 - display_primaries_x[2], MSB
Byte 13 - display_primaries_y[2], LSB
Byte 14 - display_primaries_y[2], MSB
Byte 15 - 18 - White Point (Group 2)
Byte 15 - white_point_x, LSB
Byte 16 - white_point_x, MSB
Byte 17 - white_point_y, LSB
Byte 18 - white_point_y, MSB
Byte 19 - 20 - Max MDL (Group 3)
Byte 19 - max_display_mastering_luminance, LSB
Byte 20 - max_display_mastering_luminance, MSB
Byte 21 - 22 - Min MDL (Group 4)
Byte 21 - min_display_mastering_luminance, LSB
Byte 22 - min_display_mastering_luminance, MSB
Byte 23 - 24 - MaxCLL (Group 5)
Byte 23 - Maximum Content Light Level, LSB
Byte 24 - Maximum Content Light Level, MSB
Byte 25 - 26 - MaxFALL (Group 6)
Byte 25 - Maximum Frame-average Light Level, LSB
Byte 26 - Maximum Frame-average Light Level, MSB
Data Bytes 3 – 22 contain the Display Mastering data defined in SMPTE ST 2086.
Data Bytes 3 – 18 are coded as unsigned 16-bit values in units of 0.00002, where 0x0000 represents zero and 0xC350 represents 1.0000.
Data Bytes 3 - 14 describes the chromaticity of the Red, Green and Blue color primaries of the mastering display.
All possible mappings of the chromaticity of Red, Green and Blue color primaries to indices 0,1 and 2 are allowed and shall be supported by the sink.
The correspondence between Red, Green and Blue color primaries and indices 0, 1, or 2 is determined by the following relationship:
-
The Red color primary corresponds to the index of the largest display_primaries_x value.
-
The Green color primary corresponds to the index of the largest display_primaries_y value.
-
The Blue color primary corresponds to the index with neither the largest display_primaries_y value nor the largest display_primaries_x value.
Data Bytes 19 – 20 specify a value for the max_display_mastering_luminance. This value is coded as an unsigned 16-bit value in units of 1 cd/m, where 0x0001 represents 1 cd/m and 0xFFFF represents 65535 cd/m.
Data Bytes 21 – 22 specify a value for the min_display_mastering_luminance. This value is coded as an unsigned 16-bit value in units of 0.0001 cd/m, where 0x0001 represents .0001 cd/m and 0xFFFF represents 6.5535 cd/m.
Data Bytes 23 – 24 contain the Maximum Content Light Level (MaxCLL). This value is coded as an unsigned 16-bit value in units of 1 cd/m, where 0x0001 represents 1 cd/m and 0xFFFF represents 65535 cd/m.
Data Bytes 25 – 26 contain the Maximum Frame-Average Light Level (MaxFALL). This value is coded as an unsigned 16-bit value in units of 1 cd/m, where 0x0001 represents 1 cd/m and 0xFFFF represents 65535 cd/m.
The data in Data Bytes 3 – 26 are arranged into groups. When ALL of the Data Bytes in a group are set to zero, then the Sink shall interpret the data for that group as unknown, NOT zero.
SAMPLES:
EOTF = SMPTE ST 2084
Primaries = ITU-R BT 2020-2
White Point = D65
Max Luminance [nits]: 10000
Min Luminance [nits]: 0.0001
MaxCLL [nits]: 4000
MaxFALL [nits]: 1000
07:01:1a:02:00:34:21:aa:9b:96:19:fc:08:48:8a:08:39:13:3d:42:40:10:27:01:00:a0:0f:e8:03
EOTF = SMPTE ST 2084
Primaries = ITU-R BT 2020-2
White Point = D65
Max Luminance [nits]: 4000
Min Luminance [nits]: 0.0001
MaxCLL [nits]: 1000
MaxFALL [nits]: 400
07:01:1a:02:00:34:21:aa:9b:96:19:fc:08:48:8a:08:39:13:3d:42:40:a0:0f:01:00:e8:03:90:01
EOTF = SMPTE ST 2084
Primaries = ITU-R BT 2020-2
White Point = D65
Max Luminance [nits]: 1000
Min Luminance [nits]: 0.0001
MaxCLL [nits]: 1000
MaxFALL [nits]: 400
07:01:1a:02:00:34:21:aa:9b:96:19:fc:08:48:8a:08:39:13:3d:42:40:e8:03:01:00:e8:03:90:01
EOTF = SMPTE ST 2084
Primaries = ITU-R BT 2020-2
White Point = D65
Max Luminance [nits]: Unknown
Min Luminance [nits]: Unknown
MaxCLL [nits]: Unknown
MaxFALL [nits]: Unknown
07:01:1a:02:00:34:21:aa:9b:96:19:fc:08:48:8a:08:39:13:3d:42:40:00:00:00:00:00:00:00:00