Intel® FPGA Streaming Video Protocol Specification

ID 683397
Date 5/15/2024
Document Table of Contents

2.2. Video Packets

For the full variant Intel FPGA streaming video protocol, TUSER[1] is low in cycle 0 to indicate this packet is a video packet. For the lite protocol, TUSER[1] indicates the field polarity, and must be constant throughout the packet. A low indicates this packet is either from a progressive frame or an interlaced field of type F0. A high indicates this packet is from an interlaced field of type F1.

TUSER[0] is decoded in the first valid cycle of the packet. The start of a new video field is indicated when TUSER[0] is high in this cycle.

Video packets carry pixel data. Both full and lite variants of the protocol use video packets. Video packets may be 1 or more beats in length.

Figure 16. A video packet for the first line of a new video field (1x30bit pixel interface) The figure shows an example video packet for the first line of a video field. TUSER[0] is indicating this line is the start of a new video field.

In the example, TUSER is 4 bits wide, as the 30 bits of pixel data occupy 4 bytes of TDATA. In the first beat of the transfer, TUSER indicates a new field of video by asserting TUSER[0] high and TUSER[1] low to indicate a video packet. Other TUSER bits, e.g. TUSER[3:2], can take any value, but IPs compliant with the Intel FPGA streaming protocol do not have to propagate these values and it is recommended that these are held low. TLAST indicates the last pixel in each line.

TUSER[0] indicates the start of a new video field, but you cannot tell which video packet is the last line of the field. The full variant of the protocol allows the detection of the end of the current video field by the arrival of an end of field packet. The lite variant has no signaling for the end of the current field, but TUSER[0] indicates the first pixel of the next field.

Figure 17. Video frame transmission (lite variant)The figure shows an example of progressive video frame propagation for lite variants.

Lite variants have no metapackets so TUSER[1] is always low for progressive video. The video packet for the first line of each frame is indicated by TUSER[0].

Full variants add image information and end of field packets to describe the frame properties and mark the end of each frame.

Figure 18. Video frame transmission (full variants)