Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Zynq UltraScale+ MPSoC VCU TRD 2019.2 - HDMI Video Display

...

Table of Contents

Table of Contents
excludeZynq UltraScale+ MPSoC VCU TRD 2019.2 - HDMI Video Display

1 Overview

The primary goal of this Design is to demonstrate the capabilities of VCU hard block present in Zynq UltraScale+ EV devices. The TRD will serve as a platform to tune the performance parameters of VCU and arrive at optimal configurations for encoder and decoder blocks with the streaming use case where bandwidth plays a vital role. 

This design supports the following video interfaces:

Sources:

  • File source (SD card, USB storage, SATA hard disk).
  • Stream-In from network or internet.

Sinks:

  • HDMI-Tx display pipeline implemented in the PL.

VCU Codec:

  • Video Encode/Decode capability using VCU hard block in PL 
    • AVC/HEVC encoding.
    • Encoder/decoder parameter configuration.

Streaming Interfaces:

  • 1G Ethernet on PS 

Video format:

  • NV12


10G Deliverables:


Pipeline

Input source

Output Type

Resolution

Video encode/Decoder type

Deliverables

Playback pipeline

File Source/ Stream-In

HDMI –Tx

4K/1080p

HEVC/AVC

Playback of the local-file/stream-in with video decoded using VCU and display on  HDMI-Tx.


Supported Features:

The table below provides the supported encoder feature in this release.

Resolution
Command Line
Single StreamMulti-stream
4kp60NA
4kp30NA
1080p60NA


√ - Supported
NA – Not applicable
x – Not supported


The below figure shows the HDMI Video Display design hardware block diagram.


The below figure shows the HDMI Video Display design software block diagram.


1.1 Board Setup

Refer below link for Board Setup

...


4 Appendix B

  • If HDMI Tx link-up issue is observed after Linux booting, use the following command:
Code Block
themeMidnight
$ modetest -D a0070000.v_mix -s 40:3840x2160-60@AR24 -w 35:"alpha":0
  • Run the following gst-launch-1.0 command for file playback using the GStreamer pipeline.
Code Block
themeMidnight
$ gst-launch-1.0 uridecodebin uri="file:///run/media/sda/test.ts" ! queue max-size-bytes=0 ! kmssink bus-id="a0070000.v_mix"

NOTE: The file location should be SATA SSD(ext4 format) to avoid the read-write bandwidth issue.

  • Run the following gst-launch-1.0 command to display CBR stream-in on HDMI-Tx video using the Gstreamer pipeline where 5004 is port no.
Code Block
themeMidnight
$ gst-launch-1.0 udpsrc port=5004 buffer-size=60000000 caps="application/x-rtp, clock-rate=90000" ! rtpjitterbuffer latency=1000 ! rtpmp2tdepay ! tsparse ! video/mpegts ! tsdemux name=demux ! queue ! h265parse ! video/x-h265, profile=main, alignment=au ! omxh265dec internal-entropy-buffers=5 low-latency=0 ! queue max-size-bytes=0 ! kmssink bus-id="a0070000.v_mix"
  • Run the following gst-launch-1.0 command to display low-latency(LLP1) stream-in on HDMI-Tx video using the Gstreamer pipeline where 5004 is port no.
Code Block
themeMidnight
$ gst-launch-1.0 udpsrc port=5004 buffer-size=60000000 caps="application/x-rtp, media=video, clock-rate=90000, payload=96, encoding-name=H265" ! rtpjitterbuffer queuelatency=5 ! rtph265depay ! h265parse ! video/x-h265, alignment=nal ! omxh265dec low-latency=1 ! video/x-raw ! queue max-size-bytes=0 ! fpsdisplaysink name=fpssink text-overlay=false video-sink="kmssink bus-id=a0070000.v_mix plane-id=30" sync=true

NOTE: The low latency stream-in pipeline is not supported in vcu_gst_app.