HDMI Intel® Arria® 10 FPGA IP Design Example User Guide

ID 683156
Date 1/26/2024
Public
Document Table of Contents

2.6. Dynamic Range and Mastering (HDR) InfoFrame Insertion and Filtering

The HDMI Intel® FPGA IP design example includes a demonstration of HDR InfoFrame insertion in a RX-TX loopback system.

HDMI Specification version 2.0b allows Dynamic Range and Mastering InfoFrame to be transmitted through HDMI auxiliary stream. In the demonstration, the Auxiliary Packet Generator block supports the HDR insertion. You need only to format the intended HDR InfoFrame packet as specified in the module’s signal list table and the insertion of the HDR InfoFrame occurs once every video frame.

In this example configuration, in instances where the incoming auxiliary stream already includes HDR InfoFrame, the streamed HDR content is filtered. The filtering avoids conflicting HDR InfoFrames to be transmitted and ensures that only the values specified in the HDR Sample Data module are used.

Figure 11. RX-TX Link with Dynamic Range and Mastering InfoFrame InsertionThe figure shows the block diagram of RX-TX link including Dynamic Range and Mastering InfoFrame insertion into the HDMI TX core auxiliary stream.
Table 12.  Auxiliary Data Insertion Block (aux_retransmit) Signals
Signal Direction Width Description
Clock and Reset
clk Input 1 Clock input. This clock should be connected to the video clock.
reset Input 1 Reset input.
Auxiliary Packet Signals
tx_aux_data Output 72 TX Auxiliary packet output from the multiplexer.
tx_aux_valid Output 1
tx_aux_ready Output 1
tx_aux_sop Output 1
tx_aux_eop Output 1
rx_aux_data Input 72 RX Auxiliary data passed to the packet filter module before entering the multiplexer.
rx_aux_valid Input 1
rx_aux_sop Input 1
rx_aux_eop Input 1
Control Signal
hdmi_tx_vsync Input 1 HDMI TX Video Vsync. This signal should be synchronized to the link speed clock domain. The core inserts the HDR InfoFrame to the auxiliary stream at the rising edge of this signal.
Table 13.  HDR Data Module (altera_hdmi_hdr_infoframe) Signals
Signal Direction Width Description
hb0 Output 8 Header byte 0 of the Dynamic Range and Mastering InfoFrame: InfoFrame type code.
hb1 Output 8 Header byte 1 of the Dynamic Range and Mastering InfoFrame: InfoFrame version number.
hb2 Output 8 Header byte 2 of the Dynamic Range and Mastering InfoFrame: Length of InfoFrame.
pb Input 224 Data byte of the Dynamic Range and Mastering InfoFrame.
Table 14.  Dynamic Range and Mastering InfoFrame Data Byte Bundle Bit-Fields
Bit-Field Definition Static Metadata Type 1
7:0 Data Byte 1: {5'h0, EOTF[2:0]}
15:8 Data Byte 2: {5'h0, Static_Metadata_Descriptor_ID[2:0]}
23:16 Data Byte 3: Static_Metadata_Descriptor display_primaries_x[0], LSB
31:24 Data Byte 4: Static_Metadata_Descriptor display_primaries_x[0], MSB
39:32 Data Byte 5: Static_Metadata_Descriptor display_primaries_y[0], LSB
47:40 Data Byte 6: Static_Metadata_Descriptor display_primaries_y[0], MSB
55:48 Data Byte 7: Static_Metadata_Descriptor display_primaries_x[1], LSB
63:56 Data Byte 8: Static_Metadata_Descriptor display_primaries_x[1], MSB
71:64 Data Byte 9: Static_Metadata_Descriptor display_primaries_y[1], LSB
79:72 Data Byte 10: Static_Metadata_Descriptor display_primaries_y[1], MSB
87:80 Data Byte 11: Static_Metadata_Descriptor display_primaries_x[2], LSB
95:88 Data Byte 12: Static_Metadata_Descriptor display_primaries_x[2], MSB
103:96 Data Byte 13: Static_Metadata_Descriptor display_primaries_y[2], LSB
111:104 Data Byte 14: Static_Metadata_Descriptor display_primaries_y[2], MSB
119:112 Data Byte 15: Static_Metadata_Descriptor white_point_x, LSB
127:120 Data Byte 16: Static_Metadata_Descriptor white_point_x, MSB
135:128 Data Byte 17: Static_Metadata_Descriptor white_point_y, LSB
143:136 Data Byte 18: Static_Metadata_Descriptor white_point_y, MSB
151:144 Data Byte 19: Static_Metadata_Descriptor max_display_mastering_luminance, LSB
159:152 Data Byte 20: Static_Metadata_Descriptor max_display_mastering_luminance, MSB
167:160 Data Byte 21: Static_Metadata_Descriptor min_display_mastering_luminance, LSB
175:168 Data Byte 22: Static_Metadata_Descriptor min_display_mastering_luminance, MSB
183:176 Data Byte 23: Static_Metadata_Descriptor Maximum Content Light Level, LSB
191:184 Data Byte 24: Static_Metadata_Descriptor Maximum Content Light Level, MSB
199:192 Data Byte 25: Static_Metadata_Descriptor Maximum Frame-average Light Level, LSB
207:200 Data Byte 26: Static_Metadata_Descriptor Maximum Frame-average Light Level, MSB
215:208 Reserved
223:216 Reserved

Disabling HDR Insertion and Filtering

Disabling HDR insertion and filter enables you to verify the retransmission of HDR content already available in the source auxiliary stream without any modification in the RX-TX Retransmit design example.

To disable HDR InfoFrame insertion and filtering:

  1. Set block_ext_hdr_infoframe to 1’b0 in the rxtx_link.v file to prevent the filtering of the HDR InfoFrame from the Auxiliary stream.
  2. Set multiplexer_in0_valid of the avalon_st_multiplexer instance in the altera_hdmi_aux_hdr.v file to 1'b0 to prevent the Auxiliary Packet Generator from forming and inserting additional HDR InfoFrame into the TX Auxiliary stream.