diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2021-02-25 11:34:47 +0100 |
---|---|---|
committer | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2021-02-25 11:34:47 +0100 |
commit | 4204d568379a6482ffb4258e4b7aa00470a247c5 (patch) | |
tree | f889ea1c542f99b0328d0ff326634f313507a414 | |
parent | e10faae889b531ea1aa738db46869f1236f416da (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>
-rw-r--r-- | parse-cta-block.cpp | 11 |
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; |