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

Hans Verkuil hverkuil at xs4all.nl
Wed Jul 31 07:56:16 PDT 2024


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




More information about the linux-arm-kernel mailing list