Commit graph

222 commits

Author SHA1 Message Date
Simon Ser
71facca5d3 edid: add di_edid_dup()
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-04-21 11:27:45 +02:00
Simon Ser
301ea46f29 edid: make di_edid_destroy() public
We'll allow users to create their own EDIDs, so they'll need to
cleanup.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-04-21 11:27:45 +02:00
Simon Ser
598bde5846 edid: fix missing color point descriptor cleanup
This wasn't caught by ASan in CI because we don't have a blob with
color point descriptors.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-04-14 13:00:50 +02:00
Consolatis
480f72510a displayid.c: prevent int promotion warning
Fixes following warning

```
../displayid.c: In function ‘parse_tiled_topo_block’:
../displayid.c:298:29: error: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Werror=conversion]
  298 |  tiled_topo->product_code = data[0x13] | (uint16_t)(data[0x14] << 8);
      |                             ^~~~
```

Signed-off-by: Consolatis <40171-Consolatis@users.noreply.gitlab.freedesktop.org>
2023-03-26 10:26:53 +02:00
Simon Ser
147d6611a6 readme: update test suite instructions
Since eed3e1e0f8 ("test: remove edid-decode as a test
dependency"), edid-decode is no longer required to run the test
suite. It's only required to re-generate the test data.

Expand a bit on how to setup edid-decode to re-generate the test
data.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-03-02 19:43:44 +01:00
Simon Ser
83ae3f5515 ci: remove unnecessary "Testing checks" stage
Merge the stage into "Build and test". The next stages don't depend
on this stage, so we can parallelize, no need to block the next
stages because of the testing-check step.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-27 11:56:27 +00:00
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
0ec8330345 ci: adjust testing check script to 'set -e'
With 'set -e' any failing command will terminate the script but we want
to print a message before exiting. Checking the exit code of a previous
failing command does not work. Print the message in the same command
instead.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-23 20:48:56 +01:00
Sebastian Wick
8ec4aa2c84 ci: create new stage for checking the testing data
We will add more checks in the next commit which require an image which
can run meson and ninja.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-22 22:23:03 +01:00
Simon Ser
5a4a28e226 readme: add IRC channel
The #wayland channel seems like the most popular choice.

Signed-off-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/emersion/libdisplay-info/-/issues/34
2023-02-15 11:20:36 +00:00
Simon Ser
29271352cf build: fix invalid library version
Fixes the following error:

    meson.build:52:0: ERROR: Invalid Shared library version "0.2.0-dev". Must be of the form X.Y.Z where all three are numbers. Y and Z are optional.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-15 10:33:08 +01:00
Simon Ser
a9528b0c26 build: bump version to 0.2.0-dev
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-15 10:27:41 +01:00
Simon Ser
92b031749c build: bump version to 0.1.1
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-15 10:11:30 +01:00
Simon Ser
015bddc1a6 build: set pkg-config name and URL
For informational purposes.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-13 19:53:00 +01:00
Simon Ser
d0ad02c640 build: fix pkg-config filebase
We want users to find the library with "libdisplay-info", not
"display-info".

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-13 19:50:14 +01:00
Simon Ser
1871aabb25 build: bump version to 0.1.0
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-02-13 17:18:58 +01:00
Sebastian Wick
10bece89b2 release: Add release instructions and script
Stolen from wayland and weston. Adjusted slightly to fit our needs.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-10 17:06:13 +01:00
Sebastian Wick
c88cd24e97 build: Set the library version and SOVERSION
We use semantic versioning but will still have ABI breaks in the 0.x.x
series so we will just bump the SONAME every new minor release.

Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-02-10 15:46:56 +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
Simon Ser
0154eaa29c readme: document versioning and stability expectations
References: https://gitlab.freedesktop.org/emersion/libdisplay-info/-/issues/13
Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-17 11:48:41 +01:00
Simon Ser
6cdebd2046 readme: move URL to references list
Makes the plain-text more readable.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-17 11:41:33 +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
94f4cd406c readme: fix executable path in fuzzing instructions
di-edid-decode was split into multiple files, so the binary
location has changed.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-13 14:22:31 +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
Simon Ser
b439985324 cta: add VIC table
Add a small Python tool to extract VIC information from the spec.

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
Sebastian Wick
6c8d466c03 ci: always build documentation
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-10 15:44:52 +01:00
Sebastian Wick
c32df33fe7 cta: include stddef.h for size_t
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2023-01-10 15:12:09 +01: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
Simon Ser
3b83980dde Add code coverage configuration file
Exclude build/ from code coverage, otherwise build/pnp-id-table.c
is included in the stats. Also add subprojects/ which is added by
default by Meson unless there is a custom config file.

Signed-off-by: Simon Ser <contact@emersion.fr>
2023-01-07 13:47:28 +01: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
Simon Ser
f7160730cc Introduce di_cvt_compute()
Same as di_gtf_compute(), but for CVT.

Code imported from edid-decode, fixed up [1] [2], edited for
code style and extended to return all output parameters.

Will help with CVT timing code descriptors in EDID [3].

[1]: https://lore.kernel.org/linux-media/20221005121221.14882-1-contact@emersion.fr/T/#u
[2]: https://lore.kernel.org/linux-media/20221028142405.81894-1-contact@emersion.fr/T/#u
[3]: https://gitlab.freedesktop.org/emersion/libdisplay-info/-/merge_requests/93

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-12-16 15:37:38 +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
Joshua Ashton
c995305a69 info: Use memory_stream_cleanup in di_info_get_serial
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2022-11-25 12:15:14 +00:00
Joshua Ashton
12923cc3bc info: Use memory-stream API for di_info_parse_edid
Avoids a bunch of duplicated code here.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2022-11-25 12:15:14 +00:00
Joshua Ashton
c63ca40ef7 memory-stream: Add memory_stream_cleanup helper
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2022-11-25 12:15:14 +00:00
Joshua Ashton
a10c478558 memory-stream: Factor out memory-stream related code to a new file
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2022-11-25 12:15:14 +00:00
Simon Ser
b21fdb3a0d ci: pin Alpine version
This prevents the Alpine image from being upgraded to a new major
version when re-generated. ci-templates defaults FDO_BASE_IMAGE to
alpine:latest.

Signed-off-by: Simon Ser <contact@emersion.fr>
2022-11-24 10:27:13 +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