Table of Contents

Overview

Xilinx Zynq UltraScale+ MPSoC Video Codec Unit (VCU) provides multi-standard video encoding and decoding capabilities, including: High Efficiency Video Coding (HEVC), i.e., H.265; and Advanced Video Coding (AVC), i.e., H.264 standards. VCU software stack consists of custom kernel module and custom user space library known as Control Software (CtrlSW). The OpenMAX IL (OMX) layer is integrated on top of CtrlSW, and Gstreamer frame work is used to integrate OMX-IL component along with other multimedia elements.

OpenMAX™ is a cross-platform API that provides comprehensive streaming media codec and application portability by enabling accelerated multimedia components. Gstreamer is the cross-platform / open source multimedia framework, and provides the infrastructure to integrate multiple multimedia components and create pipelines.

Users can develop their application at all 3 levels, i.e. CtrlSW, OMX-IL, and Gstreamer.

VCU Software Stack

Supported Features


API information and Example pipelines


Refer to VCU product guide documentation for more details on example pipelines, API information, Encoder/Decoder application flow chart, Encoder parameters...etc.
H.264/H.265 Video Codec Unit v1.2 

Source code repos

VCU:

Gstreamer:

CMA Size setting instructions for Yocto and Petalinux users:

Known Issues


2020.2 Release

New Feature Support:

Bug Fixes:

Known issues:

S.NoIssue descriptionWork aroundComments/AR link
14x1080p60 decode (PL_DDR) → display use-case shows occasional frame drops when B-frames are present in input videoUse b-frames=0NA
2LLP2: 1280x720 XV20 (422 10 bit) doesn't workNoneNA
3Memory leak when using v4l2srcFix availableNA
4LLP2: Switching Live source resolutions on the fly or removing and re-inserting live source cable when VCU encoder LLP2 pipeline is running, causes hang for next immediate pipeline launch.

remove and re-insert vcu kernel modules when it happens

NA
5LLP2: Ripple effect on displayNoneNA

2020.1 Release

New Feature Support:

Bug Fixes:

Known issues:

S.NoIssue descriptionWork aroundComments/AR link
14x1080p60 decode (PL_DDR) → display use-case shows occasional frame drops when B-frames are present in input videoNo workaroundNA
2LLP2:  Higher encoder latency is observed in 4x 1080p60 use-case. Extra 3 to 4 msec is observed, this may lead to occasional frame drops or lower fps problem.Use extra processing-deadline for gst-pipeline sink, it may reduce frame drops to some extentNA
3Frame drops observed in serial/streaming use-case for AVC, HIGH Profile 4kp60 with num-slices=16 use-case.use num-slices=8 for slice encoding NA
4Switching Live source resolutions on the fly  or removing and re-inserting live source cable when VCU encoder LLP2 pipeline is running, causes hang for next immediate pipeline launch.remove and re-insert vcu kernel modules when it happensNA

2019.2 Release:

New Feature Support

Bug Fixes

2019.1 Release:

2018.3 Release:

2018.2 Release: