Zynq UltraScale+ MPSoC VCU TRD 2018.3 - HDMI Video Capture
...
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.
This design supports the following video interfaces:
Sources:
- HDMI-Rx capture pipeline implemented in the PL.
- File source (SD card, USB storage, SATA hard disk).
- Stream-In from network or internet.
Sinks:
- DP Tx display pipeline in the PS.
VCU Codec:
- Video Encode/Decode capability using VCU hard block in PL
- AVC/HEVC encoding.
- Encoder/decoder parameter configuration.
Streaming Interfaces:
- 1G Ethernet PS GEM
Supported Resolution:
The table below provides the supported resolution from GUI and command line app in this design.
Resolution | GUI | Command Line |
Single Stream | Single Stream | |
4kp60 | X | √ |
4kp30 | X | √ |
1080p60 | X | √ |
√ - Supported
NA – Not applicable
x – Not supported
The below table gives information about the features supported in this design.
Pipeline | Input source | Output Type | Resolution | VCU codec |
---|---|---|---|---|
Single Stream: Record/Stream-Out pipeline | HDMI-Rx | File Sink/ Stream-Out | 4K/1080p | HEVC/AVC |
The below figure shows the HDMI Video Capture design hardware block diagram.
The below figure shows the HDMI Video Capture design software block diagram.
1.1 Board Setup
Refer below link for Board Setup
...
- For VCU related limitations please refer AR# 71653: PetaLinux 2018.3 - Product Update Release Notes and Known Issues and PG252 link.
2.3 Optimum VCU Encoder parameters for use-cases:
Video streaming:
- Video streaming use-case requires very stable bitrate graph for all pictures.
- It is good to avoid periodic large Intra pictures during the encoding session
- Low-latency rate control (hardware RC) is the preferred control-rate for video streaming, it tries to maintain equal amount frame sizes for all pictures.
- Good to avoid periodic Intra frames instead use low-delay-p (IPPPPP…)
- VBR is not a preferred mode of streaming.
Performance: AVC Encoder settings:
- It is preferred to use 8 or higher slices for better AVC encoder performance.
- AVC standard does not support Tile mode processing which results in processing of MB rows sequentially for entropy coding.
Quality: Low bitrate AVC encoding:
- Enable profile=high and use qp-mode=auto for low-bitrate encoding use-cases.
- The high profile enables 8x8 transform which results in better video quality at low bitrates.
...
3 Appendix A - Input Configuration File (input.cfg)
...