2.3. Dynamic Range and Mastering (HDR) InfoFrame Insertion and Filtering
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.
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. |
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. |
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:
- 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.
- 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.