From: joevt <joevt@shaw.ca>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media@vger.kernel.org
Subject: [PATCH 00/11] edid-decode: bug fixes, additions, changes
Date: Tue, 14 Sep 2021 05:11:18 -0700 [thread overview]
Message-ID: <20210914121129.51451-1-joevt@shaw.ca> (raw)
This patchset is a set of bug-fixes, additions, and changes I've made while examining various EDIDs I have encountered.
I made a fork at https://github.com/joevt/edid-decode with the commits listed below.
For the first commit, I have a script to convert C printf format strings in the source code to regular expressions and then use those to find EDIDs in my collection (or in linuxhw/EDID) that contain matches to those regular expressions that are not matched by the EDIDs in the data directory. It prioritizes EDIDs that contain the most matches.
joevt (11):
edid-decode: add more example EDIDs
edid-decode: ignore dSYM
edid-decode: change install directories for macOS
edid-decode: add bounds checking
edid-decode: fix standard timing vertical pixels
edid-decode: linefeed before fail
edid-decode: always linefeed after hex_block
edid-decode: output full frequencies for 4:2:0
edid-decode: allow undefined aspect ratio
edid-decode: add warnings to VESA VSDB
edid-decode: cta and displayid changes
.gitignore | 1 +
Makefile | 22 +-
data/_EDID_ACR_0497 | Bin 0 -> 256 bytes
data/_EDID_AIC_1005 | Bin 0 -> 256 bytes
data/_EDID_APP_921f | Bin 0 -> 256 bytes
data/_EDID_APP_9220 | Bin 0 -> 256 bytes
data/_EDID_BNQ_802e | Bin 0 -> 256 bytes
data/_EDID_CMN_152a | Bin 0 -> 256 bytes
data/_EDID_CVT_0003 | Bin 0 -> 256 bytes
data/_EDID_DEL_0001 | Bin 0 -> 128 bytes
data/_EDID_DEL_a07b | Bin 0 -> 384 bytes
data/_EDID_DLM_0000 | Bin 0 -> 256 bytes
data/_EDID_DON_0046 | Bin 0 -> 256 bytes
data/_EDID_DVI_0000 | Bin 0 -> 128 bytes
data/_EDID_ELE_0938 | Bin 0 -> 256 bytes
data/_EDID_GDH_0030 | Bin 0 -> 256 bytes
data/_EDID_GSM_0001 | Bin 0 -> 256 bytes
data/_EDID_GSM_5b08 | Bin 0 -> 256 bytes
data/_EDID_GSM_5b08_2 | Bin 0 -> 256 bytes
data/_EDID_HPN_3530 | Bin 0 -> 256 bytes
data/_EDID_HPN_3645 | Bin 0 -> 256 bytes
data/_EDID_HSD_03e9 | Bin 0 -> 128 bytes
data/_EDID_HSD_04bb | Bin 0 -> 128 bytes
data/_EDID_HWP_331b | Bin 0 -> 256 bytes
data/_EDID_HYO_049b | Bin 0 -> 256 bytes
data/_EDID_IVM_6615 | Bin 0 -> 256 bytes
data/_EDID_IVM_6640 | Bin 0 -> 256 bytes
data/_EDID_KMR_461a | Bin 0 -> 256 bytes
data/_EDID_LEN_65cf | Bin 0 -> 256 bytes
data/_EDID_LEN_65ed | Bin 0 -> 384 bytes
data/_EDID_LEN_b800 | Bin 0 -> 256 bytes
data/_EDID_LGD_05c0 | Bin 0 -> 128 bytes
data/_EDID_LGD_4601 | Bin 0 -> 128 bytes
data/_EDID_LTM_2c02 | Bin 0 -> 256 bytes
data/_EDID_MSI_1462 | Bin 0 -> 256 bytes
data/_EDID_NOV_0405 | Bin 0 -> 256 bytes
data/_EDID_NSO_5605 | Bin 0 -> 128 bytes
data/_EDID_OEC_d501 | Bin 0 -> 128 bytes
data/_EDID_PDI_0030 | Bin 0 -> 128 bytes
data/_EDID_PHL_01ea | Bin 0 -> 256 bytes
data/_EDID_PHL_01ea_2 | Bin 0 -> 256 bytes
data/_EDID_PHL_08fa | Bin 0 -> 512 bytes
data/_EDID_PHL_c193 | Bin 0 -> 256 bytes
data/_EDID_PIO_0000 | Bin 0 -> 256 bytes
data/_EDID_PKB_00f8 | Bin 0 -> 128 bytes
data/_EDID_RHT_1234 | Bin 0 -> 256 bytes
data/_EDID_RJT_003a | Bin 0 -> 256 bytes
data/_EDID_SAM_08f1 | Bin 0 -> 256 bytes
data/_EDID_SAM_0f14 | Bin 0 -> 256 bytes
data/_EDID_SAM_0f99 | Bin 0 -> 512 bytes
data/_EDID_SAM_7004 | Bin 0 -> 256 bytes
data/_EDID_SAN_2400 | Bin 0 -> 128 bytes
data/_EDID_SCN_03ff | Bin 0 -> 128 bytes
data/_EDID_SEK_0000 | Bin 0 -> 256 bytes
data/_EDID_SHP_1008 | Bin 0 -> 256 bytes
data/_EDID_SPT_1801 | Bin 0 -> 128 bytes
data/_EDID_SUN_058f | Bin 0 -> 256 bytes
data/_EDID_TCL_5655 | Bin 0 -> 256 bytes
data/_EDID_TGL_00f1 | Bin 0 -> 256 bytes
data/_EDID_UPD_4843 | Bin 0 -> 256 bytes
data/_EDID_USR_0100 | Bin 0 -> 256 bytes
data/_EDID_VIT_03dc | Bin 0 -> 128 bytes
data/_EDID_VIZ_0030 | Bin 0 -> 128 bytes
data/_EDID_VIZ_0067 | Bin 0 -> 256 bytes
data/_EDID_VIZ_0092 | Bin 0 -> 256 bytes
data/_EDID_VIZ_1018 | Bin 0 -> 256 bytes
data/_EDID_VIZ_1018_2 | Bin 0 -> 256 bytes
data/_EDID_VSC_0e23 | Bin 0 -> 256 bytes
data/_EDID_VSC_0f1e | Bin 0 -> 256 bytes
data/_EDID_VSC_2034 | Bin 0 -> 256 bytes
data/_EDID_VSC_bd2b | Bin 0 -> 384 bytes
data/_EDID_XXX_001a | Bin 0 -> 256 bytes
data/_EDID_YTH_0156 | Bin 0 -> 256 bytes
data/_EDID_YTH_1560 | Bin 0 -> 256 bytes
data/acer-xb321hk-dp | Bin 0 -> 256 bytes
data/acer-xv273k-corrected_difdb | Bin 0 -> 384 bytes
data/{acer-xv273k-dp => acer-xv273k-dp1} | Bin
data/acer-xv273k-dp1-corrupted | Bin 0 -> 384 bytes
data/acer-xv273k-dp2 | Bin 0 -> 384 bytes
data/acer-xv273k-dp2-corrupted | Bin 0 -> 384 bytes
data/acer-xv273k-hdmi1 | Bin 0 -> 256 bytes
data/acer-xv273k-hdmi2 | Bin 0 -> 256 bytes
data/aoc-c24g1-dp | Bin 0 -> 256 bytes
data/aoc-c24g1-hdmi | Bin 0 -> 256 bytes
.../apple-17-inch-studio-display-crt-override | Bin 0 -> 128 bytes
data/apple-applevision-750-override | Bin 0 -> 128 bytes
data/apple-applevision-850-override | Bin 0 -> 128 bytes
data/apple-cinemahd-23-2006-dvi | Bin 0 -> 256 bytes
data/apple-cinemahd-23-2008-dvi | Bin 0 -> 256 bytes
data/apple-imac-27-inch-mid-2010 | Bin 0 -> 128 bytes
data/apple-imac-retina-5k-27-inch-2017-tile0 | Bin 0 -> 256 bytes
data/apple-imac-retina-5k-27-inch-2017-tile1 | Bin 0 -> 256 bytes
data/apple-macbookpro-16inch-2019 | Bin 0 -> 256 bytes
data/apple-xdr-5k-tile0 | Bin 0 -> 768 bytes
data/apple-xdr-5k-tile1 | Bin 0 -> 512 bytes
data/apple-xdr-6k | Bin 0 -> 640 bytes
data/apple-xdr-6k-tile0 | Bin 0 -> 896 bytes
data/apple-xdr-6k-tile1 | Bin 0 -> 640 bytes
data/asus-pb287 | Bin 0 -> 256 bytes
data/asus-pq321-dp-tile0 | Bin 0 -> 384 bytes
data/asus-xg438q-dp | Bin 0 -> 384 bytes
data/atlona-athd420-hdmi-override | Bin 0 -> 256 bytes
data/chiyakeji-r1811-dp | Bin 0 -> 384 bytes
data/chiyakeji-r9a18-dp-tile1 | Bin 0 -> 384 bytes
data/dell-up2715k-dp1-optomedia-cmv535 | Bin 0 -> 128 bytes
data/hisense-h9g-hdmi | Bin 0 -> 256 bytes
data/kds-vs555-vga | Bin 0 -> 128 bytes
data/lg-31mu97-override | Bin 0 -> 384 bytes
data/lg-34gn850b-dp | Bin 0 -> 384 bytes
data/lg-34wk95uw-dp | Bin 0 -> 384 bytes
data/lg-34wk95uw-overlay | Bin 0 -> 384 bytes
data/lg-34wk95uw-thunderbolt-dp1-tile0 | Bin 0 -> 512 bytes
data/lg-34wk95uw-thunderbolt-dp2-tile1 | Bin 0 -> 256 bytes
data/lg-55sj850v-hdmi | Bin 0 -> 256 bytes
data/lg-c8-hdmi | Bin 0 -> 256 bytes
data/lg-ultrafine-5k-v1-thunderbolt-dp1-tile0 | Bin 0 -> 384 bytes
data/lg-ultrafine-5k-v1-thunderbolt-dp2-tile1 | Bin 0 -> 256 bytes
data/microsoft-surfacebook | Bin 0 -> 128 bytes
data/optomedia-cmv535-hdmi_dip00-v2018 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip00-v20180312 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip00-v20180618 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip01-v2018 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip01-v20180312 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip01-v20180618 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip10-v2018 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip10-v20180312 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip11-v2018 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip11-v20180312 | Bin 0 -> 256 bytes
data/optomedia-cmv535-hdmi_dip11-v20180731 | Bin 0 -> 256 bytes
data/panasonic-tx65gxr900-hdmi | Bin 0 -> 256 bytes
data/philips-ftv-hdmi1.4 | Bin 0 -> 256 bytes
data/philips-ftv-hdmi2.0 | Bin 0 -> 256 bytes
data/planar-ix2790 | Bin 0 -> 384 bytes
data/realtek-r9a18-hdmi | Bin 0 -> 256 bytes
data/samsung-lu28r55-hdmi | Bin 0 -> 256 bytes
data/samsung-q800t-hdmi2.0 | Bin 0 -> 256 bytes
data/samsung-q800t-hdmi2.1 | Bin 0 -> 256 bytes
data/samsung-q800t-hdmi2.1-game | Bin 0 -> 256 bytes
data/sharp-lc70uq17u-hdmi1 | Bin 0 -> 256 bytes
data/sharp-lc70uq17u-hdmi2 | Bin 0 -> 256 bytes
data/sharp-lc70uq17u-hdmi3 | Bin 0 -> 256 bytes
data/sharp-lc70uq17u-hdmi4 | Bin 0 -> 256 bytes
data/sharp-lc70uq17u-vga | Bin 0 -> 128 bytes
data/sony-gdmf520-vga | Bin 0 -> 128 bytes
data/sony-snyc901-override | Bin 0 -> 256 bytes
data/sony-snyd301-override | Bin 0 -> 256 bytes
data/sony-x900f-hdmi | Bin 0 -> 256 bytes
data/vizio-e65e0-hdmi | Bin 0 -> 256 bytes
data/vizio-m60c3-hdmi-onkyo-txnr555 | Bin 0 -> 256 bytes
edid-decode.cpp | 109 +++-
edid-decode.h | 20 +-
oui.h | 20 +
parse-base-block.cpp | 3 +-
parse-cta-block.cpp | 456 ++++++----------
parse-displayid-block.cpp | 512 +++++++++---------
parse-vtb-ext-block.cpp | 13 +-
156 files changed, 575 insertions(+), 581 deletions(-)
create mode 100644 data/_EDID_ACR_0497
create mode 100644 data/_EDID_AIC_1005
create mode 100644 data/_EDID_APP_921f
create mode 100644 data/_EDID_APP_9220
create mode 100644 data/_EDID_BNQ_802e
create mode 100644 data/_EDID_CMN_152a
create mode 100644 data/_EDID_CVT_0003
create mode 100644 data/_EDID_DEL_0001
create mode 100644 data/_EDID_DEL_a07b
create mode 100644 data/_EDID_DLM_0000
create mode 100644 data/_EDID_DON_0046
create mode 100644 data/_EDID_DVI_0000
create mode 100644 data/_EDID_ELE_0938
create mode 100644 data/_EDID_GDH_0030
create mode 100644 data/_EDID_GSM_0001
create mode 100644 data/_EDID_GSM_5b08
create mode 100644 data/_EDID_GSM_5b08_2
create mode 100644 data/_EDID_HPN_3530
create mode 100644 data/_EDID_HPN_3645
create mode 100644 data/_EDID_HSD_03e9
create mode 100644 data/_EDID_HSD_04bb
create mode 100644 data/_EDID_HWP_331b
create mode 100644 data/_EDID_HYO_049b
create mode 100644 data/_EDID_IVM_6615
create mode 100644 data/_EDID_IVM_6640
create mode 100644 data/_EDID_KMR_461a
create mode 100644 data/_EDID_LEN_65cf
create mode 100644 data/_EDID_LEN_65ed
create mode 100644 data/_EDID_LEN_b800
create mode 100644 data/_EDID_LGD_05c0
create mode 100644 data/_EDID_LGD_4601
create mode 100644 data/_EDID_LTM_2c02
create mode 100644 data/_EDID_MSI_1462
create mode 100644 data/_EDID_NOV_0405
create mode 100644 data/_EDID_NSO_5605
create mode 100644 data/_EDID_OEC_d501
create mode 100644 data/_EDID_PDI_0030
create mode 100644 data/_EDID_PHL_01ea
create mode 100644 data/_EDID_PHL_01ea_2
create mode 100644 data/_EDID_PHL_08fa
create mode 100644 data/_EDID_PHL_c193
create mode 100644 data/_EDID_PIO_0000
create mode 100644 data/_EDID_PKB_00f8
create mode 100644 data/_EDID_RHT_1234
create mode 100644 data/_EDID_RJT_003a
create mode 100644 data/_EDID_SAM_08f1
create mode 100644 data/_EDID_SAM_0f14
create mode 100644 data/_EDID_SAM_0f99
create mode 100644 data/_EDID_SAM_7004
create mode 100644 data/_EDID_SAN_2400
create mode 100644 data/_EDID_SCN_03ff
create mode 100644 data/_EDID_SEK_0000
create mode 100644 data/_EDID_SHP_1008
create mode 100644 data/_EDID_SPT_1801
create mode 100644 data/_EDID_SUN_058f
create mode 100644 data/_EDID_TCL_5655
create mode 100644 data/_EDID_TGL_00f1
create mode 100644 data/_EDID_UPD_4843
create mode 100644 data/_EDID_USR_0100
create mode 100644 data/_EDID_VIT_03dc
create mode 100644 data/_EDID_VIZ_0030
create mode 100644 data/_EDID_VIZ_0067
create mode 100644 data/_EDID_VIZ_0092
create mode 100644 data/_EDID_VIZ_1018
create mode 100644 data/_EDID_VIZ_1018_2
create mode 100644 data/_EDID_VSC_0e23
create mode 100644 data/_EDID_VSC_0f1e
create mode 100644 data/_EDID_VSC_2034
create mode 100644 data/_EDID_VSC_bd2b
create mode 100644 data/_EDID_XXX_001a
create mode 100644 data/_EDID_YTH_0156
create mode 100644 data/_EDID_YTH_1560
create mode 100644 data/acer-xb321hk-dp
create mode 100644 data/acer-xv273k-corrected_difdb
rename data/{acer-xv273k-dp => acer-xv273k-dp1} (100%)
create mode 100644 data/acer-xv273k-dp1-corrupted
create mode 100644 data/acer-xv273k-dp2
create mode 100644 data/acer-xv273k-dp2-corrupted
create mode 100644 data/acer-xv273k-hdmi1
create mode 100644 data/acer-xv273k-hdmi2
create mode 100644 data/aoc-c24g1-dp
create mode 100644 data/aoc-c24g1-hdmi
create mode 100644 data/apple-17-inch-studio-display-crt-override
create mode 100644 data/apple-applevision-750-override
create mode 100644 data/apple-applevision-850-override
create mode 100644 data/apple-cinemahd-23-2006-dvi
create mode 100644 data/apple-cinemahd-23-2008-dvi
create mode 100644 data/apple-imac-27-inch-mid-2010
create mode 100644 data/apple-imac-retina-5k-27-inch-2017-tile0
create mode 100644 data/apple-imac-retina-5k-27-inch-2017-tile1
create mode 100644 data/apple-macbookpro-16inch-2019
create mode 100644 data/apple-xdr-5k-tile0
create mode 100644 data/apple-xdr-5k-tile1
create mode 100644 data/apple-xdr-6k
create mode 100644 data/apple-xdr-6k-tile0
create mode 100644 data/apple-xdr-6k-tile1
create mode 100644 data/asus-pb287
create mode 100644 data/asus-pq321-dp-tile0
create mode 100644 data/asus-xg438q-dp
create mode 100644 data/atlona-athd420-hdmi-override
create mode 100644 data/chiyakeji-r1811-dp
create mode 100644 data/chiyakeji-r9a18-dp-tile1
create mode 100644 data/dell-up2715k-dp1-optomedia-cmv535
create mode 100644 data/hisense-h9g-hdmi
create mode 100644 data/kds-vs555-vga
create mode 100644 data/lg-31mu97-override
create mode 100644 data/lg-34gn850b-dp
create mode 100644 data/lg-34wk95uw-dp
create mode 100644 data/lg-34wk95uw-overlay
create mode 100644 data/lg-34wk95uw-thunderbolt-dp1-tile0
create mode 100644 data/lg-34wk95uw-thunderbolt-dp2-tile1
create mode 100644 data/lg-55sj850v-hdmi
create mode 100644 data/lg-c8-hdmi
create mode 100644 data/lg-ultrafine-5k-v1-thunderbolt-dp1-tile0
create mode 100644 data/lg-ultrafine-5k-v1-thunderbolt-dp2-tile1
create mode 100644 data/microsoft-surfacebook
create mode 100644 data/optomedia-cmv535-hdmi_dip00-v2018
create mode 100644 data/optomedia-cmv535-hdmi_dip00-v20180312
create mode 100644 data/optomedia-cmv535-hdmi_dip00-v20180618
create mode 100644 data/optomedia-cmv535-hdmi_dip01-v2018
create mode 100644 data/optomedia-cmv535-hdmi_dip01-v20180312
create mode 100644 data/optomedia-cmv535-hdmi_dip01-v20180618
create mode 100644 data/optomedia-cmv535-hdmi_dip10-v2018
create mode 100644 data/optomedia-cmv535-hdmi_dip10-v20180312
create mode 100644 data/optomedia-cmv535-hdmi_dip11-v2018
create mode 100644 data/optomedia-cmv535-hdmi_dip11-v20180312
create mode 100644 data/optomedia-cmv535-hdmi_dip11-v20180731
create mode 100644 data/panasonic-tx65gxr900-hdmi
create mode 100644 data/philips-ftv-hdmi1.4
create mode 100644 data/philips-ftv-hdmi2.0
create mode 100644 data/planar-ix2790
create mode 100644 data/realtek-r9a18-hdmi
create mode 100644 data/samsung-lu28r55-hdmi
create mode 100644 data/samsung-q800t-hdmi2.0
create mode 100644 data/samsung-q800t-hdmi2.1
create mode 100644 data/samsung-q800t-hdmi2.1-game
create mode 100644 data/sharp-lc70uq17u-hdmi1
create mode 100644 data/sharp-lc70uq17u-hdmi2
create mode 100644 data/sharp-lc70uq17u-hdmi3
create mode 100644 data/sharp-lc70uq17u-hdmi4
create mode 100644 data/sharp-lc70uq17u-vga
create mode 100644 data/sony-gdmf520-vga
create mode 100644 data/sony-snyc901-override
create mode 100644 data/sony-snyd301-override
create mode 100644 data/sony-x900f-hdmi
create mode 100644 data/vizio-e65e0-hdmi
create mode 100644 data/vizio-m60c3-hdmi-onkyo-txnr555
create mode 100644 oui.h
--
2.24.3 (Apple Git-128)
next reply other threads:[~2021-09-14 12:18 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-14 12:11 joevt [this message]
2021-09-14 12:11 ` [PATCH 01/11] edid-decode: add more example EDIDs joevt
2021-09-14 12:11 ` [PATCH 02/11] edid-decode: ignore dSYM joevt
2021-09-14 12:11 ` [PATCH 03/11] edid-decode: change install directories for macOS joevt
2021-09-15 10:06 ` Hans Verkuil
2021-09-15 15:25 ` Joe van Tunen
2021-09-14 12:11 ` [PATCH 04/11] edid-decode: add bounds checking joevt
2021-09-15 10:07 ` Hans Verkuil
2021-09-14 12:11 ` [PATCH 05/11] edid-decode: fix standard timing vertical pixels joevt
2021-09-15 10:08 ` Hans Verkuil
2021-09-15 11:10 ` Hans Verkuil
2021-09-15 18:28 ` Joe van Tunen
2021-09-14 12:11 ` [PATCH 06/11] edid-decode: linefeed before fail joevt
2021-09-14 12:11 ` [PATCH 07/11] edid-decode: always linefeed after hex_block joevt
2021-09-15 10:10 ` Hans Verkuil
2021-09-15 15:43 ` Joe van Tunen
2021-09-15 18:27 ` Joe van Tunen
2021-09-14 12:11 ` [PATCH 08/11] edid-decode: output full frequencies for 4:2:0 joevt
2021-09-14 12:11 ` [PATCH 09/11] edid-decode: allow undefined aspect ratio joevt
2021-09-14 12:11 ` [PATCH 10/11] edid-decode: add warnings to VESA VSDB joevt
2021-09-14 12:11 ` [PATCH 11/11] edid-decode: cta and displayid changes joevt
2021-09-15 13:37 ` Hans Verkuil
2021-09-16 9:15 ` Joe van Tunen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210914121129.51451-1-joevt@shaw.ca \
--to=joevt@shaw.ca \
--cc=hverkuil@xs4all.nl \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.