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

ID 683156
Date 1/26/2024

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.5. 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 Data Insertion 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 use the provided AUX Insertion Control module to schedule the insertion of the HDR InfoFrame 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 25. 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 36.  Auxiliary Data Insertion Block (altera_hdmi_aux_hdr) Signals
Signal Direction Width Description
Clock and Reset
clk Input 1 Clock input. This clock should be connected to the link speed clock.
reset Input 1 Reset input.
Auxiliary Packet Generator and Multiplexer Signals
multiplexer_out_data Output 72 Avalon streaming output from the multiplexer.
multiplexer_out_valid Output 1
multiplexer_out_ready Output 1
multiplexer_out_startofpacket Output 1
multiplexer_out_endofpacket Output 1
multiplexer_out_channel Output 11
multiplexer_in_data Input 72 Avalon streaming input to the In1 port of the multiplexer.
multiplexer_in_valid Input 1
multiplexer_in_ready Input 1
multiplexer_in_startofpacket Input 1
multiplexer_in_endofpacket 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 37.  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 38.  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.