Report the SVDs inside the video data block.
We'll need to add additional APIs to get detailed SVD mode info
in the future (with a SVD table).
Signed-off-by: Simon Ser <contact@emersion.fr>
This makes it easier to perform an operation on all EDID files at
once, e.g. "test/edid-decode-diff.sh test/data/*.edid" to update all
diffs at once.
Signed-off-by: Simon Ser <contact@emersion.fr>
Call rm with the -f flag to ignore non-existing .diff files.
The .diff file doesn't exist if there is no difference in the
edid-decode output.
Signed-off-by: Simon Ser <contact@emersion.fr>
Upstream edid-decode uses a global variable to store the current
EDID section name and prefix failure messages.
Signed-off-by: Simon Ser <contact@emersion.fr>
EDID 1.4 forbids years < 2006, but EDID 1.3 allows them.
Error out when an EDID uses a reserved value. Correctly parse the
year on older EDID revisions.
Signed-off-by: Simon Ser <contact@emersion.fr>
Mirror upstream edid-decode.
samsung-s27a950d-dp and hp-5dq99aa-hdmi are missing some failures
about features we haven't implemented yet. panasonic-mei96a2-dp
has a bogus "Missing Display Product Name" failure, see [1].
[1]: https://lore.kernel.org/linux-media/20220802093219.30599-1-contact@emersion.fr/T/#u
Signed-off-by: Simon Ser <contact@emersion.fr>
This is a bit messy because the values depend on various misc flags
defined earlier in the spec, and the meaning changes between EDID 1.3
and 1.4. On top of that edid-decode prints something confusing in the
EDID 1.3 case.
Signed-off-by: Simon Ser <contact@emersion.fr>
The analog/digital flags are left for a future patch.
A join_str() function is introduced in di-edid-decode: upstream
edid-decode uses a comma-separated list with a handful of other
flags.
Signed-off-by: Simon Ser <contact@emersion.fr>
This adds coverage for two untested code-paths:
- Unset "Serial Number"
- "Model year" instead of "Made in"
This EDID blob comes from Digital/Panasonic/MEI96A2/7CA47BE65E1E [1]
in the linuxhw EDID repository.
[1]: https://github.com/linuxhw/EDID/blob/master/Digital/Panasonic/MEI96A2/7CA47BE65E1E
Signed-off-by: Simon Ser <contact@emersion.fr>
While this isn't particularly interesting to print, this reduces
the diff between di-edid-decode and edid-decode.
This is not exposed via the low-level EDID library because callers
wouldn't have a use for it.
Signed-off-by: Simon Ser <contact@emersion.fr>
It sounds like the CI container was shipping an outdated version
of edid-decode which doesn't match the commit recorded in
.gitlab-ci.yml.
Update the diffs in the test data, and bump the CI container tag
again to make sure it's up-to-date with the manifest.
Signed-off-by: Simon Ser <contact@emersion.fr>
Add two small shell utilities to generate and compare diffs between
edid-decode and di-edid-decode. Store the diffs in-tree and add tests
to ensure they don't regress. Run the tests in CI with a pinned
installation of edid-decode.
One EDID blob is added to the test collection: dell-2408wfp-dp. It's
extracted [1] from the edid-decode repository.
[1]: https://git.linuxtv.org/edid-decode.git/tree/data/dell-2408wfp-dp
Signed-off-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/emersion/libdisplay-info/-/issues/5