This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:

Subject: edid-decode: fix wrong CTA warning if more than 1 CTA block
Author:  Hans Verkuil <hverk...@xs4all.nl>
Date:    Thu Mar 13 09:57:08 2025 +0100

If there are multiple CTA-861 blocks, then this warning is seen for each
CTA block:

Display Product Serial Number is set, so the Serial Number in the Base EDID 
should be 0.

Only show this for the first CTA block.

Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

 utils/edid-decode/edid-decode.h       | 2 ++
 utils/edid-decode/parse-cta-block.cpp | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

---

http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=371537d1bcf03146682005a858af1b3e02900cc1
diff --git a/utils/edid-decode/edid-decode.h b/utils/edid-decode/edid-decode.h
index e64143deb79a..7e39d8348e8a 100644
--- a/utils/edid-decode/edid-decode.h
+++ b/utils/edid-decode/edid-decode.h
@@ -188,6 +188,7 @@ struct edid_state {
                cta.block_number = 0;
                cta.has_svrs = false;
                cta.first_svd = true;
+               cta.first_cta = true;
                cta.supported_hdmi_vic_codes = cta.supported_hdmi_vic_vsb_codes 
= 0;
                memset(cta.vics, 0, sizeof(cta.vics));
                memset(cta.preparsed_has_vic, 0, sizeof(cta.preparsed_has_vic));
@@ -343,6 +344,7 @@ struct edid_state {
                bool has_ycbcr444;
                bool has_ycbcr422;
                bool has_ycbcr420;
+               bool first_cta;
        } cta;
 
        // DisplayID block state
diff --git a/utils/edid-decode/parse-cta-block.cpp 
b/utils/edid-decode/parse-cta-block.cpp
index 451ea1f42896..b52ef9da4dcf 100644
--- a/utils/edid-decode/parse-cta-block.cpp
+++ b/utils/edid-decode/parse-cta-block.cpp
@@ -3041,7 +3041,7 @@ void edid_state::parse_cta_block(const unsigned char *x)
        } while (0);
 
        data_block.clear();
-       if (base.serial_number && serial_strings.size())
+       if (base.serial_number && serial_strings.size() && cta.first_cta)
                warn("Display Product Serial Number is set, so the Serial 
Number in the Base EDID should be 0.\n");
        if (!cta.has_vic_1 && !base.has_640x480p60_est_timing)
                fail("Required 640x480p60 timings are missing in the 
established timings"
@@ -3053,6 +3053,7 @@ void edid_state::parse_cta_block(const unsigned char *x)
                fail("Missing VCDB, needed for Set Selectable RGB Quantization 
to avoid interop issues.\n");
        if (!base.uses_srgb && !cta.has_cdb)
                warn("Add a Colorimetry Data Block with the sRGB colorimetry 
bit set to avoid interop issues.\n");
+       cta.first_cta = false;
 }
 
 void edid_state::cta_resolve_svr(timings_ext &t_ext)

Reply via email to