From: Hans Verkuil <hans.verk...@cisco.com> Support this CTA-861-G data block.
Signed-off-by: Hans Verkuil <hans.verk...@cisco.com> --- edid-decode.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/edid-decode.c b/edid-decode.c index b2b116f3..0fe126cd 100644 --- a/edid-decode.c +++ b/edid-decode.c @@ -1899,6 +1899,37 @@ cea_hdr_static_metadata_block(unsigned char *x) x[6], (50.0 * pow(2, x[4] / 32.0)) * pow(x[6] / 255.0, 2) / 100.0); } +static void +cea_hdr_dyn_metadata_block(unsigned char *x) +{ + int length = x[0] & 0x1f; + + if (!length) + return; + length--; + x += 2; + while (length >= 3) { + int type_len = x[0]; + int type = x[1] | (x[2] << 8); + + if (length < type_len + 1) + return; + printf(" HDR Dynamic Metadata Type %d\n", type); + switch (type) { + case 1: + case 2: + case 4: + if (type_len > 2) + printf(" Version: %d\n", x[3] & 0xf); + break; + default: + break; + } + length -= type_len + 1; + x += type_len + 1; + } +} + static void cea_block(unsigned char *x) { @@ -1965,6 +1996,10 @@ cea_block(unsigned char *x) printf("HDR static metadata data block\n"); cea_hdr_static_metadata_block(x); break; + case 0x07: + printf("HDR dynamic metadata data block\n"); + cea_hdr_dyn_metadata_block(x); + break; case 0x0d: printf("Video format preference data block\n"); cea_vfpdb(x); -- 2.14.1 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel