Simon Ser
af7af6090a
info: ignore empty model/serial descriptors
...
Some EDIDs (e.g. goldstar-e2441) contain string descriptors for
model/serial which happen to be empty. Skip them.
Signed-off-by: Simon Ser <contact@emersion.fr>
References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3599
2023-02-27 10:32:12 +01:00
Simon Ser
5e7bb09937
test/data: add goldstar-e2441
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-27 10:31:58 +01:00
Sebastian Wick
eed3e1e0f8
test: remove edid-decode as a test dependency
...
by storing the reference edid-decode output in the repository. It is now
only a dependency for the gen-test-data target. The CI checks that the
reference output in the repository matches the one generated from a
specific checkout of edid-decode.
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-23 20:50:13 +01:00
Sebastian Wick
506925a66b
cta: add support for InfoFrame Data Block
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-31 14:58:50 +01:00
Sebastian Wick
23be3830c0
test: Bump edid-decode to newer version
...
The InfoFrame printing has changed and is compared against in the next
commit.
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-31 14:50:49 +01:00
Sebastian Wick
d299c4716a
edid: Sync On Green Signal only is set if the bit is 0 and not 1
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-30 17:10:40 +01:00
Sebastian Wick
4698004913
cta: Add new data blocks from CTA-861.6
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-30 16:53:47 +01:00
Sebastian Wick
ddb32dafdb
cdi-edid-decode/cta: Take interlacing into account when printing VICs
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-30 15:04:06 +01:00
Sebastian Wick
883f469577
test: Document where each EDID blob is from
...
Also make sure we don't add new blobs without documenting the source
with a check in the CI.
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-20 18:25:55 +01:00
Sebastian Wick
05f9450913
di-edid-decode/cta: align VIC aspect ratio names
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-13 18:57:38 +01:00
Simon Ser
1f3913f76d
di-edid-decode/cta: print detailed info for VICs
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-13 02:37:01 +01:00
Sebastian Wick
5c2255047b
cta: add support for YCbCr 4:2:0 Capability Map
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-11 22:02:20 +00:00
Sebastian Wick
f7bd527557
cta: add support for YCbCr 4:2:0 Video
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-11 21:21:27 +01:00
Simon Ser
2ebc104594
cta: add support for speaker allocation data block
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-11 21:04:48 +01:00
Sebastian Wick
a55e759f7c
cta: parse HDR Dynamic Metadata Data Block
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-11 19:11:37 +00:00
Simon Ser
67b5d67a64
cta: add support for VESA DDDB
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-10 12:23:38 +00:00
Simon Ser
fc13fb4d53
displayid: add support for tiled display topology data block
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-09 22:49:01 +00:00
Sebastian Wick
4a8684d1b0
edid: add support for CVT timing code descriptors
...
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-04 02:12:22 +01:00
Sebastian Wick
8fbc366c7c
cta: parse short audio descriptors
...
Co-authored-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2022-12-14 15:19:27 +01:00
Simon Ser
4e0fd2c979
di-edid-decode: print DMT reduced blanking flag
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-23 15:30:33 +01:00
Simon Ser
671c8d78d3
di-edid-decode: print full established timings III
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-23 15:30:33 +01:00
Simon Ser
5b81e0b578
di-edid-decode: add special case for 16:10 aspect ratio
...
The mathematical aspect ratio is 8:5 but people use 16:10.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-23 15:30:33 +01:00
Simon Ser
6b8bdb5b3b
ci: upgrade edid-decode
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-23 15:30:28 +01:00
Pekka Paalanen
ac857e8985
info: use PNP ID database for manufacturer names
...
The three character PNP ID is a key to manufacturer name database. It
may be desirable to report the manufacturer's real name than just PNP ID
which can be misleading, e.g. MSI refers to Microstep and not MSI GmbH.
This builds the PNP ID database into libdisplay-info to avoid having to
find and parse files at runtime.
tool/gen-search-table.py started as a copy of Wayland 1.21.0's
src/embed.py and took influence from
10945c4ed8/conv.py
However, our script parses the text file shipped in hwdata package in
Debian (and presumably other distributions) rather than the original
CSV.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-11-11 13:09:18 +02:00
Pekka Paalanen
f70fa58441
test: add high-level API test
...
This new test exercises all existing high-level API to make sure the
output does not change unexpectedly.
Unlike with edid-decode tests, these new print tests do not have an
externally defined groundtruth. They are only to detect changes and
exercise code paths.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2022-11-09 14:18:04 +02:00
Simon Ser
4af5b96140
di-edid-decode/cta: round VESA transfer characteristics
...
Fixes the differences with edid-decode.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-20 08:07:22 +00:00
Simon Ser
b7d0793a03
edid-decode/cta: align data block names with edid-decode
...
We were diverging here.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-20 08:07:22 +00:00
Simon Ser
c930f13457
test: add custom-uncommon-cta-vesa
...
This is a hand-crafted EDID taken from edid-decode (test/cta-vesa.test).
It contains uncommon blocks: VESA Display Transfer Characteristics Data
Block and VESA Video Display Device Data Block in the CTA-861 extension.
While it's not as good as a real-world EDID, it can still improve our
test coverage and ensure we behave like edid-decode.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-20 08:07:22 +00:00
Simon Ser
eea7215002
di-edid-decode: print preferred flag for type I timing
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-03 14:14:45 +02:00
Simon Ser
cad7de92c7
displayid: add support for display parameters data block
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-03 08:56:03 +02:00
Simon Ser
d7144ad9b9
displayid: parse type I timings
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-03 06:32:38 +00:00
Simon Ser
87e264f7fb
Introduce di_gtf_compute()
...
This is a function to compute a timing according to GTF.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-29 11:50:09 +00:00
Simon Ser
40d8018a7e
displayid: parse data blocks
...
Just parse the tag for now.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-27 07:56:09 +00:00
Simon Ser
ceabc884fd
displayid: parse product type
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-27 07:56:09 +00:00
Simon Ser
28beee232c
edid: parse established timings III
...
This display descriptor contains a bitfield indicating support for
DMT timings.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-26 09:18:59 +02:00
Simon Ser
b89910ef4e
test/data: add goldstar-ite6604-hdmi
...
It contains established timings III.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 09:09:59 +02:00
Simon Ser
df676bef3a
di-edid-decode: fix inverted text for analog video setup
...
The texts and cases are inverted here.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 09:07:20 +02:00
Simon Ser
29dd7c1e17
test/data: add acer-p1276
...
We don't have any analog display EDID in our tests. Increase our
test coverage by including one.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 09:07:05 +02:00
Simon Ser
047e8bb305
edid: expose struct di_dmt_timing
...
This allows callers to access the detailed DMT data.
di-edid-decode is updated to print the missing fields.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 06:53:39 +00:00
Simon Ser
c637a9daf8
edid: parse timing data from CVT range limit descriptor
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:27:32 +02:00
Simon Ser
7c8bcb09eb
edid: parse timing data from secondary GTF range limit descriptor
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:26:32 +02:00
Simon Ser
7e0b8c1af9
test/data: add viewsonic-vp2768-dp
...
It contains a CVT range limits descriptor.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:25:57 +02:00
Simon Ser
da89d95268
test/data: add msi-mag321curv-dp
...
It contains a GTF secondary range limit descriptor.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:25:12 +02:00
Simon Ser
407b309904
cta: add support for video capability data block
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-05 18:11:56 +00:00
Simon Ser
7a6d694b1a
Add basic support for DisplayID in EDID extension blocks
...
Establish the new headers and structs, and just parse the
version/revision for now.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-02 06:42:06 +00:00
Simon Ser
789a927569
test/data: add apple-xdr-dp
...
Contains DisplayID extension blocks.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-02 06:42:06 +00:00
Simon Ser
0c8673af02
cta: add support for video data blocks
...
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>
2022-08-31 13:18:34 +00:00
Simon Ser
4e5df43659
test: rename EDID files with .edid filename extension
...
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>
2022-08-29 15:23:41 +02:00
Simon Ser
355a3aca80
cta: parse HDR static metadata blocks
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-29 13:52:50 +02:00
Simon Ser
f5f8371965
edid: add prefix to range limits failure messages
...
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>
2022-08-29 10:19:48 +00:00