Re: [PATCH v15 00/29] drm/connector: Create HDMI Connector infrastructure

From: Hans Verkuil
Date: Wed Jul 31 2024 - 10:56:35 EST


Hi Maxime,

On 27/05/2024 15:57, Maxime Ripard wrote:
<snip>

> Hans Verkuil also expressed interest in implementing a mechanism in v4l2
> to retrieve infoframes from HDMI receiver and implementing a tool to
> decode (and eventually check) infoframes. His current work on
> edid-decode to enable that based on that series can be found here:
> https://git.linuxtv.org/hverkuil/edid-decode.git/log/?h=hverkuil

Since this patch series is now merged in mainline I also pushed support
for parsing InfoFrames to the edid-decode git repo.

I believe the parsing part of the InfoFrames is complete, but the conformity
checks for the AVI and HDMI InfoFrames are still work-in-progress. But it
should be easier to develop this now that is merged.

The git repo for edid-decode is here: https://git.linuxtv.org/edid-decode.git/

I added test files to the test/if directory, and if you run:

edid-decode -I audio.test -I avi.test -I vendor.test -I spd.test edid.test -c

you'll get the output below.

Regards,

Hans

edid-decode (hex):

00 ff ff ff ff ff ff 00 4c 2d 01 0c 01 06 00 01
2a 18 01 03 80 69 3b 78 0a 23 ad a4 54 4d 99 26
0f 47 4a bd ef 80 71 4f 81 c0 81 00 81 80 95 00
a9 c0 b3 00 01 01 08 e8 00 30 f2 70 5a 80 b0 58
8a 00 50 1d 74 00 00 1e 02 3a 80 18 71 38 2d 40
58 2c 45 00 50 1d 74 00 00 1e 00 00 00 fd 00 18
4b 0f 87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc
00 53 41 4d 53 55 4e 47 0a 20 20 20 20 20 01 56

02 03 58 f1 57 61 10 1f 04 13 05 14 20 21 22 5d
5e 5f 60 65 66 62 63 64 07 16 03 12 29 09 07 07
15 07 50 3d 04 c0 83 01 00 00 e2 00 0f e3 05 c0
00 76 03 0c 00 30 00 b8 3c 21 d0 88 01 02 03 04
01 40 3f ff 50 60 80 90 67 d8 5d c4 01 78 80 03
e3 06 05 01 e3 0f 01 e0 01 1d 80 d0 72 1c 16 20
10 2c 25 80 50 1d 74 00 00 9e 66 21 56 aa 51 00
1e 30 46 8f 33 00 50 1d 74 00 00 1e 00 00 00 86

----------------

Block 0, Base EDID:
EDID Structure Version & Revision: 1.3
Vendor & Product Identification:
Manufacturer: SAM
Model: 3073
Serial Number: 16778753 (0x01000601)
Made in: week 42 of 2014
Basic Display Parameters & Features:
Digital display
Maximum image size: 105 cm x 59 cm
Gamma: 2.20
RGB color display
First detailed timing is the preferred timing
Color Characteristics:
Red : 0.6406, 0.3300
Green: 0.3007, 0.6005
Blue : 0.1503, 0.0605
White: 0.2802, 0.2900
Established Timings I & II:
IBM : 720x400 70.081663 Hz 9:5 31.467 kHz 28.320000 MHz
DMT 0x04: 640x480 59.940476 Hz 4:3 31.469 kHz 25.175000 MHz
Apple : 640x480 66.666667 Hz 4:3 35.000 kHz 30.240000 MHz
DMT 0x05: 640x480 72.808802 Hz 4:3 37.861 kHz 31.500000 MHz
DMT 0x06: 640x480 75.000000 Hz 4:3 37.500 kHz 31.500000 MHz
DMT 0x09: 800x600 60.316541 Hz 4:3 37.879 kHz 40.000000 MHz
DMT 0x0a: 800x600 72.187572 Hz 4:3 48.077 kHz 50.000000 MHz
DMT 0x0b: 800x600 75.000000 Hz 4:3 46.875 kHz 49.500000 MHz
Apple : 832x624 74.551266 Hz 4:3 49.726 kHz 57.284000 MHz
DMT 0x10: 1024x768 60.003840 Hz 4:3 48.363 kHz 65.000000 MHz
DMT 0x11: 1024x768 70.069359 Hz 4:3 56.476 kHz 75.000000 MHz
DMT 0x12: 1024x768 75.028582 Hz 4:3 60.023 kHz 78.750000 MHz
DMT 0x24: 1280x1024 75.024675 Hz 5:4 79.976 kHz 135.000000 MHz
Apple : 1152x870 75.061550 Hz 192:145 68.681 kHz 100.000000 MHz
Standard Timings:
DMT 0x15: 1152x864 75.000000 Hz 4:3 67.500 kHz 108.000000 MHz
DMT 0x55: 1280x720 60.000000 Hz 16:9 45.000 kHz 74.250000 MHz
DMT 0x1c: 1280x800 59.810326 Hz 16:10 49.702 kHz 83.500000 MHz
DMT 0x23: 1280x1024 60.019740 Hz 5:4 63.981 kHz 108.000000 MHz
DMT 0x2f: 1440x900 59.887445 Hz 16:10 55.935 kHz 106.500000 MHz
DMT 0x53: 1600x900 60.000000 Hz 16:9 60.000 kHz 108.000000 MHz (RB)
DMT 0x3a: 1680x1050 59.954250 Hz 16:10 65.290 kHz 146.250000 MHz
Detailed Timing Descriptors:
DTD 1: 3840x2160 60.000000 Hz 16:9 135.000 kHz 594.000000 MHz (1872 mm x 1053 mm)
Hfront 176 Hsync 88 Hback 296 Hpol P
Vfront 8 Vsync 10 Vback 72 Vpol P
DTD 2: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz (1872 mm x 1053 mm)
Hfront 88 Hsync 44 Hback 148 Hpol P
Vfront 4 Vsync 5 Vback 36 Vpol P
Display Range Limits:
Monitor ranges (GTF): 24-75 Hz V, 15-135 kHz H, max dotclock 600 MHz
Display Product Name: 'SAMSUNG'
Extension blocks: 1
Checksum: 0x56

----------------

Block 1, CTA-861 Extension Block:
Revision: 3
Underscans IT Video Formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
Native detailed modes: 1
Video Data Block:
VIC 97: 3840x2160 60.000000 Hz 16:9 135.000 kHz 594.000000 MHz
VIC 16: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz
VIC 31: 1920x1080 50.000000 Hz 16:9 56.250 kHz 148.500000 MHz
VIC 4: 1280x720 60.000000 Hz 16:9 45.000 kHz 74.250000 MHz
VIC 19: 1280x720 50.000000 Hz 16:9 37.500 kHz 74.250000 MHz
VIC 5: 1920x1080i 60.000000 Hz 16:9 33.750 kHz 74.250000 MHz
VIC 20: 1920x1080i 50.000000 Hz 16:9 28.125 kHz 74.250000 MHz
VIC 32: 1920x1080 24.000000 Hz 16:9 27.000 kHz 74.250000 MHz
VIC 33: 1920x1080 25.000000 Hz 16:9 28.125 kHz 74.250000 MHz
VIC 34: 1920x1080 30.000000 Hz 16:9 33.750 kHz 74.250000 MHz
VIC 93: 3840x2160 24.000000 Hz 16:9 54.000 kHz 297.000000 MHz
VIC 94: 3840x2160 25.000000 Hz 16:9 56.250 kHz 297.000000 MHz
VIC 95: 3840x2160 30.000000 Hz 16:9 67.500 kHz 297.000000 MHz
VIC 96: 3840x2160 50.000000 Hz 16:9 112.500 kHz 594.000000 MHz
VIC 101: 4096x2160 50.000000 Hz 256:135 112.500 kHz 594.000000 MHz
VIC 102: 4096x2160 60.000000 Hz 256:135 135.000 kHz 594.000000 MHz
VIC 98: 4096x2160 24.000000 Hz 256:135 54.000 kHz 297.000000 MHz
VIC 99: 4096x2160 25.000000 Hz 256:135 56.250 kHz 297.000000 MHz
VIC 100: 4096x2160 30.000000 Hz 256:135 67.500 kHz 297.000000 MHz
VIC 7: 1440x480i 59.940060 Hz 16:9 15.734 kHz 27.000000 MHz
VIC 22: 1440x576i 50.000000 Hz 16:9 15.625 kHz 27.000000 MHz
VIC 3: 720x480 59.940060 Hz 16:9 31.469 kHz 27.000000 MHz
VIC 18: 720x576 50.000000 Hz 16:9 31.250 kHz 27.000000 MHz
Audio Data Block:
Linear PCM:
Max channels: 2
Supported sample rates (kHz): 48 44.1 32
Supported sample sizes (bits): 24 20 16
AC-3:
Max channels: 6
Supported sample rates (kHz): 48 44.1 32
Maximum bit rate: 640 kb/s
DTS:
Max channels: 6
Supported sample rates (kHz): 48
Maximum bit rate: 1536 kb/s
Speaker Allocation Data Block:
FL/FR - Front Left/Right
Video Capability Data Block:
YCbCr quantization: No Data
RGB quantization: No Data
PT scan behavior: No Data
IT scan behavior: Supports both over- and underscan
CE scan behavior: Supports both over- and underscan
Colorimetry Data Block:
BT2020YCC
BT2020RGB
Vendor-Specific Data Block (HDMI), OUI 00-0C-03:
Source physical address: 3.0.0.0
Supports_AI
DC_36bit
DC_30bit
DC_Y444
Maximum TMDS clock: 300 MHz
Supported Content Types:
Graphics
Extended HDMI video details:
3D present
3D-capable-VIC mask present
Base EDID image size is in units of 1 cm
HDMI VICs:
HDMI VIC 1: 3840x2160 30.000000 Hz 16:9 67.500 kHz 297.000000 MHz
HDMI VIC 2: 3840x2160 25.000000 Hz 16:9 56.250 kHz 297.000000 MHz
HDMI VIC 3: 3840x2160 24.000000 Hz 16:9 54.000 kHz 297.000000 MHz
HDMI VIC 4: 4096x2160 24.000000 Hz 256:135 54.000 kHz 297.000000 MHz
3D: Side-by-side (half, horizontal)
3D: Top-and-bottom
3D VIC indices that support these capabilities:
VIC 97: 3840x2160 60.000000 Hz 16:9 135.000 kHz 594.000000 MHz
VIC 16: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz
VIC 31: 1920x1080 50.000000 Hz 16:9 56.250 kHz 148.500000 MHz
VIC 4: 1280x720 60.000000 Hz 16:9 45.000 kHz 74.250000 MHz
VIC 19: 1280x720 50.000000 Hz 16:9 37.500 kHz 74.250000 MHz
VIC 5: 1920x1080i 60.000000 Hz 16:9 33.750 kHz 74.250000 MHz
VIC 20: 1920x1080i 50.000000 Hz 16:9 28.125 kHz 74.250000 MHz
VIC 32: 1920x1080 24.000000 Hz 16:9 27.000 kHz 74.250000 MHz
VIC 33: 1920x1080 25.000000 Hz 16:9 28.125 kHz 74.250000 MHz
VIC 34: 1920x1080 30.000000 Hz 16:9 33.750 kHz 74.250000 MHz
VIC 93: 3840x2160 24.000000 Hz 16:9 54.000 kHz 297.000000 MHz
VIC 94: 3840x2160 25.000000 Hz 16:9 56.250 kHz 297.000000 MHz
VIC 95: 3840x2160 30.000000 Hz 16:9 67.500 kHz 297.000000 MHz
VIC 96: 3840x2160 50.000000 Hz 16:9 112.500 kHz 594.000000 MHz
3D VIC indices with specific capabilities:
VIC 5: 1920x1080i 60.000000 Hz 16:9 33.750 kHz 74.250000 MHz (frame packing)
VIC 20: 1920x1080i 50.000000 Hz 16:9 28.125 kHz 74.250000 MHz (frame packing)
VIC 33: 1920x1080 25.000000 Hz 16:9 28.125 kHz 74.250000 MHz (frame packing)
VIC 34: 1920x1080 30.000000 Hz 16:9 33.750 kHz 74.250000 MHz (frame packing)
Vendor-Specific Data Block (HDMI Forum), OUI C4-5D-D8:
Version: 1
Maximum TMDS Character Rate: 600 MHz
SCDC Present
Supports 12-bits/component Deep Color 4:2:0 Pixel Encoding
Supports 10-bits/component Deep Color 4:2:0 Pixel Encoding
HDR Static Metadata Data Block:
Electro optical transfer functions:
Traditional gamma - SDR luminance range
SMPTE ST2084
Supported static metadata descriptors:
Static metadata type 1
YCbCr 4:2:0 Capability Map Data Block:
VIC 97: 3840x2160 60.000000 Hz 16:9 135.000 kHz 594.000000 MHz
VIC 96: 3840x2160 50.000000 Hz 16:9 112.500 kHz 594.000000 MHz
VIC 101: 4096x2160 50.000000 Hz 256:135 112.500 kHz 594.000000 MHz
VIC 102: 4096x2160 60.000000 Hz 256:135 135.000 kHz 594.000000 MHz
Detailed Timing Descriptors:
DTD 3: 1920x1080i 50.000000 Hz 16:9 28.125 kHz 74.250000 MHz (1872 mm x 1053 mm)
Hfront 528 Hsync 44 Hback 148 Hpol P
Vfront 2 Vsync 5 Vback 15 Vpol P Vfront +0.5 Odd Field
Vfront 2 Vsync 5 Vback 15 Vpol P Vback +0.5 Even Field
DTD 4: 1366x768 59.789541 Hz 683:384 47.712 kHz 85.500000 MHz (1872 mm x 1053 mm)
Hfront 70 Hsync 143 Hback 213 Hpol P
Vfront 3 Vsync 3 Vback 24 Vpol P
Checksum: 0x86 Unused space in Extension Block: 3 bytes

----------------

edid-decode SHA: 303b033f9268 2024-07-31 14:47:43

Warnings:

Block 1, CTA-861 Extension Block:
Video Capability Data Block: Set Selectable YCbCr Quantization to avoid interop issues.
Colorimetry Data Block: Set the sRGB colorimetry bit to avoid interop issues.

Failures:

Block 0, Base EDID:
Detailed Timing Descriptor #1: Mismatch of image size 1872x1053 mm vs display size 1050x590 mm.
Detailed Timing Descriptor #2: Mismatch of image size 1872x1053 mm vs display size 1050x590 mm.
Block 1, CTA-861 Extension Block:
Video Capability Data Block: Set Selectable RGB Quantization to avoid interop issues.
Detailed Timing Descriptor #3: Mismatch of image size 1872x1053 mm vs display size 1050x590 mm.
Detailed Timing Descriptor #4: Mismatch of image size 1872x1053 mm vs display size 1050x590 mm.
EDID:
Base EDID: The DTD max image size is 1872x1053mm, which is larger than the display size 1050.0x590.0mm.

EDID conformity: FAIL

================

edid-decode InfoFrame (hex):

84 01 0a 70 01 00 00 00 00 00 00 00 00 00

----------------

HDMI InfoFrame Checksum: 0x70

Audio InfoFrame
Version: 1
Length: 10
CT: Audio Coding Type: Refer to Stream Header
CC: Audio Channel Count: 2
SF: Sampling Frequency: Refer to Stream Header
SS: Bits/Sample: Refer to Stream Header
CXT: Audio Coding Extension Type: Refer to Audio Coding Type (CT) Field
CA: Channel Allocation: FR/FL
LSV: Level Shift Value: 0 dB
DM_INH: Allow the Down Mixed Stereo Output: Yes
LFEPBL: LFE Playback Level compared to other channels: Unknown or refer to other information

----------------

Audio InfoFrame conformity: PASS

================

edid-decode InfoFrame (hex):

82 02 0d b1 12 08 00 64 40 00 00 00 00 00 00 00
00

----------------

HDMI InfoFrame Checksum: 0xb1

AVI InfoFrame
Version: 2
Length: 13
VIC 100: 4096x2160 30.000000 Hz 256:135 67.500 kHz 297.000000 MHz
Y: Color Component Sample Format: RGB
A: Active Format Information Present: Yes
B: Bar Data Present: Bar Data not present
S: Scan Information: Composed for an underscanned display
C: Colorimetry: No Data
M: Picture Aspect Ratio: No Data
R: Active Portion Aspect Ratio: 8
ITC: IT Content: No Data
EC: Extended Colorimetry: xvYCC601
Q: RGB Quantization Range: Default
SC: Non-Uniform Picture Scaling: No Known non-uniform scaling
YQ: YCC Quantization Range: Full Range
CN: IT Content Type: Graphics
PR: Pixel Data Repetition Count: 0
Line Number of End of Top Bar: 0
Line Number of Start of Bottom Bar: 0
Pixel Number of End of Left Bar: 0
Pixel Number of Start of Right Bar: 0

----------------

AVI InfoFrame conformity: PASS

================

edid-decode InfoFrame (hex):

81 01 04 6b 03 0c 00 00

----------------

HDMI InfoFrame Checksum: 0x6b

Vendor-Specific InfoFrame (HDMI), OUI 00-0C-03
Version: 1
Length: 4
HDMI Video Format: No additional data

----------------

Vendor-Specific InfoFrame (HDMI), OUI 00-0C-03 conformity: PASS

================

edid-decode InfoFrame (hex):

83 01 19 c9 43 69 73 63 6f 00 00 00 56 69 64 65
6f 63 6f 72 65 00 00 00 00 00 00 00 09

----------------

HDMI InfoFrame Checksum: 0xc9

Source Product Description InfoFrame
Version: 1
Length: 25
Vendor Name: 'Cisco'
Product Description: 'Videocore'
Source Information: PC general

----------------

Source Product Description InfoFrame conformity: PASS