diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2021-08-05 13:54:06 +0200 |
---|---|---|
committer | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2021-08-05 13:54:06 +0200 |
commit | 517ab8983e8699547cd7993ca3d2d449ff6e4ab9 (patch) | |
tree | df947b34ae2979f9ff8bf1365b01f10fd6c42fae | |
parent | 0b7bff1e8abfab7981e7d9519b7affd60a79d545 (diff) |
edid-decode: DTDs 0xf7 and 0xf8 are for >= 1.4 only
The DTDs with tag 0xf7 and 0xf8 are only defined in EDID 1.4
and up, so fail if they are used in older EDID versions.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
-rw-r--r-- | parse-base-block.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/parse-base-block.cpp b/parse-base-block.cpp index 7375ce8..e2901a6 100644 --- a/parse-base-block.cpp +++ b/parse-base-block.cpp @@ -1176,6 +1176,8 @@ void edid_state::detailed_block(const unsigned char *x) sprintf(type, "DMT 0x%02x", dmt_id); print_timings(" ", find_dmt_id(dmt_id), type); } + if (base.edid_minor < 4) + fail("Not allowed for EDID < 1.4.\n"); return; case 0xf8: data_block = "CVT 3 Byte Timing Codes"; @@ -1186,6 +1188,8 @@ void edid_state::detailed_block(const unsigned char *x) } for (i = 0; i < 4; i++) detailed_cvt_descriptor(" ", x + 6 + (i * 3), !i); + if (base.edid_minor < 4) + fail("Not allowed for EDID < 1.4.\n"); return; case 0xf9: data_block = "Display Color Management Data"; |