From d6d86cb9c9e13c7bbc6854699940f2d5a73567f5 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Thu, 23 Nov 2023 10:21:05 +0100 Subject: [PATCH] edid-decode: some minor HDMI 2.1b updates Just some minor tweaks, no substantial changes. Signed-off-by: Hans Verkuil --- edid-decode.1 | 4 +--- parse-cta-block.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/edid-decode.1 b/edid-decode.1 index caee12e..47bc45b 100644 --- a/edid-decode.1 +++ b/edid-decode.1 @@ -131,9 +131,7 @@ DDDB: VESA Display Device Data Block (DDDB) Standard, Version 1 .TP HDMI 1.4b: High-Definition Multimedia Interface, Version 1.4b .TP -HDMI 2.1: High-Definition Multimedia Interface, Version 2.1 -.TP -HDMI 2.1: Amendment A1 to HDMI Specification Version 2.1 +HDMI 2.1b: High-Definition Multimedia Interface, Version 2.1b .TP CTA-861-I: A DTV Profile for Uncompressed High Speed Digital Interfaces .TP diff --git a/parse-cta-block.cpp b/parse-cta-block.cpp index e2002b1..80464f4 100644 --- a/parse-cta-block.cpp +++ b/parse-cta-block.cpp @@ -1234,7 +1234,7 @@ static const char *dsc_max_slices[] = { "up to 8 slices and up to (340 MHz/Ksliceadjust) pixel clock per slice", "up to 8 slices and up to (400 MHz/Ksliceadjust) pixel clock per slice", "up to 12 slices and up to (400 MHz/Ksliceadjust) pixel clock per slice", - "up to 16 slices and up to (400 MHz/Ksliceadjust) pixel clock per slice", + "up to 12 slices and up to (600 MHz/Ksliceadjust) pixel clock per slice", }; static void cta_hf_eeodb(const unsigned char *x, unsigned length) @@ -1361,8 +1361,9 @@ static void cta_hf_scdb(const unsigned char *x, unsigned length) if (max_slices < ARRAY_SIZE(dsc_max_slices)) { printf("%s\n", dsc_max_slices[max_slices]); } else { - printf("Unknown (0x%02x)\n", max_slices); - fail("Unknown DSC Max Slices (0x%02x).\n", max_slices); + printf("Unknown (%u), interpreted as: %s\n", max_slices, + dsc_max_slices[7]); + warn("Unknown DSC Max Slices (%u).\n", max_slices); } } if (x[8] & 0xf0) { @@ -2704,6 +2705,8 @@ void edid_state::cta_block(const unsigned char *x, std::vector &found_ fail("HDMI Forum SCDB did not immediately follow the HDMI VSDB.\n"); if (cta.have_hf_scdb || cta.have_hf_vsdb) fail("Duplicate HDMI Forum VSDB/SCDB.\n"); + if (block_nr != 1) + fail("Data Block can only be present in Block 1.\n"); if (length < 2) { data_block = std::string("HDMI Forum SCDB"); fail("Invalid length %u < 2.\n", length); -- 2.11.4.GIT