aboutsummaryrefslogtreecommitdiffstats
path: root/edid-decode.cpp
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil-cisco@xs4all.nl>2020-07-12 13:11:38 +0200
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2020-07-12 13:11:38 +0200
commit0c172ff5c2dd78d09ca2989bb0d591dbd4690d10 (patch)
treec6b4f5d4df9f918f0c5346b4a00c9d5acf921618 /edid-decode.cpp
parent5caf6bbb6737ac8eee5edb273832259c2f4d8d8d (diff)
edid-decode: add more DisplayID checks
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'edid-decode.cpp')
-rw-r--r--edid-decode.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/edid-decode.cpp b/edid-decode.cpp
index 45b69c9..2e3bfb7 100644
--- a/edid-decode.cpp
+++ b/edid-decode.cpp
@@ -1124,6 +1124,16 @@ int edid_state::parse_edid()
msg(!fail || base.edid_minor >= 4, "%s", err.c_str());
}
+ if (has_dispid && !dispid.has_product_identification)
+ fail("Missing DisplayID Product Identification Data Block.\n");
+ if (dispid.is_display && !dispid.has_display_parameters)
+ fail("Missing DisplayID Display Parameters Data Block.\n");
+ if (dispid.is_display && !dispid.has_display_interface_features)
+ fail("Missing DisplayID Display Interface Features Data Block.\n");
+ if (dispid.is_display && !dispid.has_type_1_7)
+ fail("Missing DisplayID Type %s Detailed Timing Data Block.\n",
+ dispid.version >= 0x20 ? "VII" : "I");
+
unsigned max_pref_prog_hact = 0;
unsigned max_pref_prog_vact = 0;
unsigned max_pref_ilace_hact = 0;

Privacy Policy