[ANNOUNCE] libdisplay-info 0.1.0

Simon Ser contact at emersion.fr
Mon Feb 13 16:26:54 UTC 2023


This is the first release of libdisplay-info [1].

libdisplay-info is an EDID and DisplayID library. It provides a
low-level API exposing all of the details of these formats, plus a
high-level API which abstracts these details for common operations.

The API isn't yet stable. For this release, the library includes full
support for EDID, partial support for CTA-861-H, and very basic support
for DisplayID 1.3.

Thanks a lot to all contributors!

[1]: https://gitlab.freedesktop.org/emersion/libdisplay-info

Adarsh G M (1):
      di-edid-decode: help message for the executable

Andrea Pappacoda (1):
      build: stop using meson's implicit setup command

Joshua Ashton (4):
      memory-stream: Factor out memory-stream related code to a new file
      memory-stream: Add memory_stream_cleanup helper
      info: Use memory-stream API for di_info_parse_edid
      info: Use memory_stream_cleanup in di_info_get_serial

Pekka Paalanen (11):
      tests/data: add HP Pavilion 27 Quantum Dot
      edid: fix uint16_t conversion warning
      Get size_t definition for info.h
      readme: mention edid-decode version
      readme: add Using section
      info: add getters for make, model and serial
      test: add high-level API test
      test: make edid-decode-diff.sh easier to run
      editorconfig: add python rules
      ci: install hwdata
      info: use PNP ID database for manufacturer names

Sebastian Wick (22):
      edid: split the detailed timing signal union into separate structs
      cta: make HDR eotfs and descriptors directly accessible from the block
      edid: add support for color point descriptors
      edid: add support for Color Management Data descriptors
      edid: use the correct definition for maximum standard timings
      cta: add support for VESA Display Transfer Characteristic data block
      cta: parse short audio descriptors
      edid: add support for CVT timing code descriptors
      cta: include stddef.h for size_t
      ci: always build documentation
      cta: parse HDR Dynamic Metadata Data Block
      cta: add support for YCbCr 4:2:0 Video
      cta: add support for YCbCr 4:2:0 Capability Map
      di-edid-decode/cta: align VIC aspect ratio names
      test: Document where each EDID blob is from
      cdi-edid-decode/cta: Take interlacing into account when printing VICs
      cta: Add new data blocks from CTA-861.6
      edid: Sync On Green Signal only is set if the bit is 0 and not 1
      test: Bump edid-decode to newer version
      cta: add support for InfoFrame Data Block
      build: Set the library version and SOVERSION
      release: Add release instructions and script

Simon Ser (165):
      Add .editorconfig
      ci: add .gitlab-ci.yml
      build: add Meson boilerplate
      build: tweak C warning options
      readme: add goals
      build: turn on -Wconversion
      ci: fix build stage not run in MRs
      Add very basic EDID functions
      Add skeleton for high-level API
      Add di_info_get_edid
      Add di-edid-decode utility
      edid: add vendor and product identification data
      build: enable POSIX.1-2008
      Add di_info_get_product_name
      edid: add low-level API to enumerate extension blocks
      Add edid-decode testing infrastructure
      edid: use hex offsets
      edid: check that the blob size is divisible by the block size
      ci: fix tests with outdated edid-decode
      ci: always upload Meson logs as artifacts
      edid: validate extension block tag
      edid: document where extension block tags are defined
      edid: check extension block count field
      di-edid-decode: print extension block count
      edid: switch to a statically allocated extension array
      di-edid-decode: print block checksum
      ci: add junit report for tests
      ci: enable meson --fatal-meson-warnings
      ci: generate coverage information
      edid: add basic support for display descriptors
      edid: add support for product serial, name and data strings
      build: error out on -Wimplicit
      edid: introduce has_bit
      edid: introduce get_bit_range
      edid: parse digital video input definition
      edid: parse screen size
      edid: parse basic gamma
      edid: parse supported DPMS states
      edid: parse supported color encoding formats
      edid: parse other feature support flags
      di-edid-decode: only print serial number if non-zero
      test: add panasonic-mei96a2-dp EDID
      di-edid-decode: fix hang with a 32 KiB file
      readme: add building section
      readme: document fuzzing setup
      di-edid-decode: add optional arg to specify input filename
      edid: re-order display descriptor declarations in public header
      edid: prefix private functions with "_di_"
      build: set symbol visibility
      ci: mention how to force a container rebuild when pushing
      edid: add support for detailed timing definitions
      di-edid-decode: compute DTD aspect ratio
      edid: parse display range limits descriptor
      di-edid-decode: add missing DI_EDID_EXT_DPVL name
      di-edid-decode: remove default cases for enum switches
      ci: build with both GCC and Clang
      ci: disable parallel jobs for coverage reports
      edid: document that DTD size in mm can be unset
      edid: ignore aspect ratio stored in DTD mm size
      edid: switch to sized integers for DTD
      test/data: add samsung-s27a950d-dp
      edid: parse interlaced/stereo flags from DTDs
      edid: parse display color type
      edid: parse standard timings
      edid: add support for chromaticity coordinates
      Add failure message reporting functions
      edid: report parsing errors with new helpers
      dmt: introduce generated table for DMT data
      edid: add di_edid_standard_timing_get_dmt_id
      cta: introduce new API for CTA-861
      Extract bit helpers into shared header
      cta: add support for misc flags
      cta: add support for enumerating data blocks
      edid: stop setting errno in parse_display_range_limits
      edid: add display range limits type
      test: include edid-decode failure messages in diffs
      di-edid-decode: print failure message
      di-edid-decode: exit with non-zero code on conformance failure
      edid: fix negative errno
      cta: parse colorimetry data blocks
      edid: drop return value for parse_basic_params_features()
      edid: drop return value for parse_chromaticity_coords()
      edid: drop unnecessary ENOTSUP checks
      test/data: add sun-gh19ps-dvi
      edid: fix product year < 2006 in EDID 1.3
      edid: parse DTD signal type
      edid: parse analog and digital flags in DTDs
      info: introduce di_logger
      cta: log failures
      edid: fix typo in di_edid_get_standard_timings() doc comment
      edid: check first byte descriptor is a DTD
      edid: parse established timings I and II
      edid: expose _di_edid_parse_detailed_timing_def
      cta: parse detailed timing definitions
      edid: parse digital video input flags for EDID 1.3-
      edid: parse analog video input params
      ci: update edid-decode
      edid: add prefix to range limits failure messages
      cta: parse HDR static metadata blocks
      edid: refactor parse_standard_timing() with an output param
      edid: add support for standard timings descriptor
      test/edid-decode-diff: do not fail if .diff doesn't exist
      test: rename EDID files with .edid filename extension
      cta: add support for video data blocks
      test/data: add apple-xdr-dp
      Add basic support for DisplayID in EDID extension blocks
      cta: rename di_edid_cta_flags.underscan to it_underscan
      cta: add support for video capability data block
      test/data: add msi-mag321curv-dp
      test/data: add viewsonic-vp2768-dp
      edid: check padding in range limits descriptor
      edid: parse timing data from secondary GTF range limit descriptor
      edid: parse timing data from CVT range limit descriptor
      ci: simplify ci-templates include
      cta: add EDID_CTA_MAX_DATA_BLOCKS
      Add safety assertions when inserting into array
      cta: add missing <stdint.h> include in public header
      dmt: add more timing info
      dmt: add public header
      edid: expose struct di_dmt_timing
      test/data: add acer-p1276
      di-edid-decode: fix inverted text for analog video setup
      test/data: add goldstar-ite6604-hdmi
      edid: parse established timings III
      displayid: parse section size
      displayid: parse product type
      displayid: validate checksum
      displayid: add logging helpers
      displayid: parse data blocks
      Introduce di_gtf_compute()
      displayid: parse type I timings
      displayid: add support for display parameters data block
      di-edid-decode: print preferred flag for type I timing
      Generate HTML documentation
      readme: add link to website
      displayid: add missing includes in public header
      di-edid-decode: split into multiple files
      readme: link to latest code coverage report
      ci: update edid-decode
      info: drop di_info_get_product_name()
      test: add custom-uncommon-cta-vesa
      edid-decode/cta: align data block names with edid-decode
      di-edid-decode/cta: round VESA transfer characteristics
      build: add gen-test-data run target
      build: override dependency for subproject usage
      build: split off di-edid-decode into separate file
      test: fix default path for di-edid-decode
      ci: upgrade to Alpine 3.17
      ci: upgrade edid-decode
      di-edid-decode: add special case for 16:10 aspect ratio
      di-edid-decode: print full established timings III
      dmt: add reduced_blanking field
      di-edid-decode: print DMT reduced blanking flag
      ci: pin Alpine version
      Introduce di_cvt_compute()
      Add code coverage configuration file
      displayid: add support for tiled display topology data block
      cta: add support for VESA DDDB
      cta: add support for speaker allocation data block
      cta: add VIC table
      di-edid-decode/cta: print detailed info for VICs
      readme: fix executable path in fuzzing instructions
      readme: move URL to references list
      readme: document versioning and stability expectations
      build: bump version to 0.1.0

git tag: 0.1.0

https://gitlab.freedesktop.org/emersion/libdisplay-info/-/releases/0.1.0/downloads/libdisplay-info-0.1.0.tar.xz
SHA256: c974a5d345e28a480684d07e01bc20a362f071ae126f110c307b5527ed21c0c0  libdisplay-info-0.1.0.tar.xz
SHA512: f4d2d8ab2683db2c5ab04a11483dadf575608e0293a79ca2856a83d900bfa21d8abcbac7a8691ac5814b86962721a696f99a6e07d99efbaaa5f38b956e62a145  libdisplay-info-0.1.0.tar.xz
PGP:    https://gitlab.freedesktop.org/emersion/libdisplay-info/-/releases/0.1.0/downloads/libdisplay-info-0.1.0.tar.xz.sig


More information about the dri-devel mailing list