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