aboutsummaryrefslogtreecommitdiffstats
path: root/parse-cta-block.cpp
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil-cisco@xs4all.nl>2021-02-25 11:34:47 +0100
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2021-02-25 11:34:47 +0100
commit4204d568379a6482ffb4258e4b7aa00470a247c5 (patch)
treef889ea1c542f99b0328d0ff326634f313507a414 /parse-cta-block.cpp
parente10faae889b531ea1aa738db46869f1236f416da (diff)
edid-decode: improve pref timing warning, downgrade fail() to warn()
The 'VIC 97 is the preferred timing, overriding the first detailed timings. Is this intended?' message is confusing if the VIC and the first DTD have matching timings. In that case change the message to 'For improved preferred timing interoperability, set 'Native detailed modes' to 1.'. Also downgrade the 'Set Selectable YCbCr Quantization to avoid interop issues.' message to a warn(). Too many EDIDs do not set this, and the interop risks are a lot lower compared to RGB Quantization. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'parse-cta-block.cpp')
-rw-r--r--parse-cta-block.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/parse-cta-block.cpp b/parse-cta-block.cpp
index f881a2b..c585c5d 100644
--- a/parse-cta-block.cpp
+++ b/parse-cta-block.cpp
@@ -435,9 +435,14 @@ void edid_state::cta_svd(const unsigned char *x, unsigned n, bool for_ycbcr420)
print_timings(" ", t, type, flags);
}
if (override_pref) {
+ if (!cta.preferred_timings.empty()) {
+ if (match_timings(cta.preferred_timings[0].t, *t))
+ warn("For improved preferred timing interoperability, set 'Native detailed modes' to 1.\n");
+ else
+ warn("VIC %u is the preferred timing, overriding the first detailed timings. Is this intended?\n", vic);
+ }
cta.preferred_timings.insert(cta.preferred_timings.begin(),
timings_ext(*t, type, flags));
- warn("VIC %u is the preferred timing, overriding the first detailed timings. Is this intended?\n", vic);
} else if (first_svd) {
cta.preferred_timings.push_back(timings_ext(*t, type, flags));
}
@@ -1571,10 +1576,10 @@ void edid_state::cta_vcdb(const unsigned char *x, unsigned length)
* less noticable than for RGB formats.
*
* Starting with the CTA-861-H spec this bit is now required to be
- * 1 for new designs.
+ * 1 for new designs, but just warn about it (for now).
*/
if ((cta.byte3 & 0x30) && !(d & 0x80))
- fail("Set Selectable YCbCr Quantization to avoid interop issues.\n");
+ warn("Set Selectable YCbCr Quantization to avoid interop issues.\n");
unsigned char s_pt = (d >> 4) & 0x03;
unsigned char s_it = (d >> 2) & 0x03;

Privacy Policy