Zynq UltraScale+ VCU TRD User Guide 47
UG1250 (v2019.1) May 29, 2019 www.xilinx.com
Chapter 3: APU Software Platform
The following steps are performed in DMA buffer sharing.
In the capture-encode side:
1. The V4L2 capture device (the client driver) allocates buffer.
2. The v4l2src plug-in exports/imports the DMA buffer to the gst-omx plug-in.
3. The gst-omx plug-in passes the file descriptor to the encoder driver.
4. The encoder driver uses the DMA_BUF framework and reads the kernel buffer for
encoding.
In the playback side:
1. The decoder driver allocates DMA buffer.
2. The gst-omx plug-in exports the file descriptor (FD) to the kmssink plug-in.
3. The kmssink plug-in passes the file descriptor to the DisplayPort controller driver.
4. The DisplayPort driver uses the kernel DMA_BUF framework to know the decoder buffer
location.
5. The DisplayPort DMA reads the decoded buffer without copying the buffer in kernel
memory.
X-Ref Target - Figure 3-20
Figure 3-20: Buffer Sharing
Video capture
V4L2 VCU DRM/KMS
DMABUF
Video
encode/decode
Display
X19445-112718