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 | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/edid-decode.c b/edid-decode.c
index effcf777..cdba099d 100644
--- a/edid-decode.c
+++ b/edid-decode.c
@@ -1865,6 +1865,35 @@ 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 < 1)
+       return;
+    length--;
+    x--;
+    while (length >= 3) {
+       int type_len = x[0];
+       int type = x[1] | (x[2] << 8);
+
+       if (length < type_len)
+           return;
+       printf("    HDR Dynamic Metadata Type %d\n", type);
+       switch (type) {
+       case 1:
+       case 2:
+       case 4:
+           printf("      Version: %d\n", x[3] & 0xf);
+           break;
+       default:
+           break;
+       }
+       length -= type_len;
+    }
+}
+
 static void
 cea_block(unsigned char *x)
 {
@@ -1931,6 +1960,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

Reply via email to