When should I use the Video Direct Memory Access (VDMA) IP core, and when should I use the Video Frame Buffer IP cores?
This Answer Record gives users some guidance on use cases for the following IP:
|(PG020)||AXI Video Direct Memory Access (VDMA) LogiCORE IP|
|(PG278)||Video Frame Buffer Read (VFB Read) LogiCORE IP|
|(PG278)||Video Frame Buffer Read (VFB Write) LogiCORE IP|
Additional information can also be found in the respective Product Guides for the above listed IP.
The AXI Video Direct Memory Access and the Video Frame Buffer Read/Write IP cores offer some overlapping features as well as some unique features.
This Answer Record does not attempt to give an exhaustive list, but instead gives some general guidelines on usage of the following IP.
In addition it is recommended that users review the General Design Guidelines section in (PG278) Video Frame Buffer Read/Write Product Guide.
AXI Video Direct Memory Access (VDMA)
- The VDMA can be used in Bare Metal and non Zynq UltraScale+ MPSoC VCU Linux applications, but it is recommended that for Linux applications, users consider using the Video Frame Buffer.
- The VDMA cannot be used with the Zynq UltraScale+ MPSoC VCU, as it does not have the ability to read and write the Semi-Planer format that the Zynq UltraScale+ MPSoC VCU requires.
LogiCORE Video Frame Buffer Read/Write:
- The Video Frame Buffer Read/Write IP cores can be used in Bare Metal and Linux Applications.
They are recommended for use with Linux applications as they can read and write various packing formats and can be used to convert between these formats.
(See (PG278) for a complete list of supported formats.)
- The Video Frame Buffer Read/Write IP should be used for Zynq UltraScale+ MPSoC VCU formats as they can read and write the Semi-Planer format that the Zynq UltraScale+ MPSoC VCU requires.
For all multimedia pipeline use cases which require multimedia framework support in software, the Video Frame Buffer Read and Write provide a more complete solution with regard to Linux Video4Linux (V4L2) drivers, DRM drivers and the GStreamer framework than the VDMA.
For all new designs, Xilinx recommends using Video Frame Buffer Read/Write IPs.