This page provides all the information related to Design Module 8 - VCU TRD Xilinx low latency(LLP2) PL DDR NV16 HDMI design.
...
Refer below link for Board Setup
1.2 Run Flow
The TRD package is released with the source code, Vivado project, Petalinux BSP, and SD card image that enables the user to run the demonstration. It also includes the binaries necessary to configure and boot the ZCU106 board. Prior to running the steps mentioned in this wiki page, download the TRD package and extract its contents to a directory referred to as ‘TRD_HOME' which is the home directory.
Refer Section 4.1 : Download the TRD of
Zynq UltraScale+ MPSoC VCU TRD 2020.2
wiki page to download all TRD contents.
...
1.2.1 GStreamer Application (vcu_gst_app)
Please refer chapter 40 of Section VI: Appendices for irq balancing scheme in PG252.
The vcu_gst_app is a command line multi-threaded linux application. The command line application requires an input configuration file (input.cfg) to be provided in the plain text.
...
Refer below link for detailed run flow steps:
1.3 Build Flow
Refer below link for detailed build flow steps:
...
2 Other Information
2.1 Known Issues
For Petalinux related known issues please refer: PetaLinux 2020.1 2 - Product Update Release Notes and Known Issues [ToDo: Link needs to update for 2020.2]
For VCU related known issues please refer AR# 66763: LogiCORE H.264/H.265 Video Codec Unit (VCU) - Release Notes and Known Issues and Xilinx Zynq UltraScale+ MPSoC Video Codec Unit.[ToDo: Link needs to update for 2020.2]
Refer PG252 for 1-2 frame drop section for LLP2 serial frame drop issue. [ToDo: Link needs to update for 2020.2]
For Out of memory issue please refer [ToDo: Link needs to update for 2020.2]
To reduce performance issues with llp2 4x serial pipelines, please refer to chapter# 40 of Section VI: Appendices for IRQ Balancing scheme in PG252.
For Out of Memory(OOM) killer error on UART console in long run, please refer to AR# 75900: Why do I see out of memory messages in UART console in long run of VCU TRD multi-stream designs?
2.2 Limitations
For Petalinux related limitations please refer: PetaLinux 2020.1 2 - Product Update Release Notes and Known Issues [ToDo: Link needs to update for 2020.2]
For VCU related limitations please refer AR# 66763: LogiCORE H.264/H.265 Video Codec Unit (VCU) - Release Notes and Known Issues , Xilinx Zynq UltraScale+ MPSoC Video Codec Unit and PG252. [ToDo: Link needs to update for 2020. 2]
2.3 Optimum VCU Encoder parameters for use-cases
...
Code Block |
---|
root@zcu106_vcu_llp2_trdnv16:~# media-ctl -p -d /dev/media0 -----> media node for HDMI input source Media controller API version 5.4.0 Media device information ------------------------ driver xilinx-video model Xilinx Video Composite Device serial bus info hw revision 0x0 driver version 5.4.0 Device topology - entity 1: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 ----> Video node for HDMI-RX source pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":1 [ENABLED] - entity 5: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":2 [ENABLED] - entity 9: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":3 [ENABLED] - entity 13: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":4 [ENABLED] - entity 17: amba_pl@0:axis_broadcasterhdmi_ (5 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:UYVY8_1X16/3840x2160 field:none] <- "a0040000.v_proc_ss":1 [ENABLED] pad1: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] pad2: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] pad3: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] pad4: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] - entity 23: a0040000.v_proc_ss (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:RBG888_1X24/3840x2160 field:none] <- "a0000000.v_hdmi_rx_ss":0 [ENABLED] pad1: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "amba_pl@0:axis_broadcasterhdmi_":0 [ENABLED] - entity 26: a0000000.v_hdmi_rx_ss (1 pad, 1 link) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:RBG888_1X24/3840x2160 field:none] [dv.caps:BT.656/1120 min:0x0@25000000 max:4096x2160@297000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom] [dv.detect:BT.656/1120 3840x2160p60 (4400x2250) stds:CEA-861 flags:CE-video] -> "a0040000.v_proc_ss":0 [ENABLED] |
...
Code Block |
---|
root@zcu106_vcu_trdllp2_nv16:~# media-ctl -p -d /dev/media0 -----> media node for HDMI input source Media controller API version 5.4.0 Media device information ------------------------ driver xilinx-video model Xilinx Video Composite Device serial bus info hw revision 0x0 driver version 5.4.0 Device topology - entity 1: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0 ----> Video node for HDMI-RX source pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":1 [ENABLED] - entity 5: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1 pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":2 [ENABLED] - entity 9: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2 pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":3 [ENABLED] - entity 13: vcapaxis_broad_out1hdmi_input_a (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3 pad0: Sink <- "amba_pl@0:axis_broadcasterhdmi_":4 [ENABLED] - entity 17: amba_pl@0:axis_broadcasterhdmi_ (5 pads, 5 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0 pad0: Sink [fmt:UYVY8_1X16/3840x2160 field:none] <- "a0040000.v_proc_ss":1 [ENABLED] pad1: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] pad2: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] pad3: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] pad4: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "vcapaxis_broad_out1hdmi_input_a":0 [ENABLED] - entity 23: a0040000.v_proc_ss (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1 pad0: Sink [fmt:RBG888_1X24/3840x2160 field:none] <- "a0000000.v_hdmi_rx_ss":0 [ENABLED] pad1: Source [fmt:UYVY8_1X16/3840x2160 field:none] -> "amba_pl@0:axis_broadcasterhdmi_":0 [ENABLED] - entity 26: a0000000.v_hdmi_rx_ss (1 pad, 1 link) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2 pad0: Source [fmt:RBG888_1X24/3840x2160 field:none] [dv.caps:BT.656/1120 min:0x0@25000000 max:4096x2160@297000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom] [dv.query:no-link] ----> HDMI-RX Link status -> "a0040000.v_proc_ss":0 [ENABLED] |
...
Pixel Format | GStreamer Format | Media Bus Format | GStreamer HEVC Profile | GStreamer AVC Profile | Kmssink Plane-id |
---|---|---|---|---|---|
NV16 | NV16 | UYVY8_1X16 | main-422 | high-4:2:2 | 34 and 35 |
...