Xilinx ZynqMp VCU编解码

ZynqMP VCU是Xilinx Zynq UltraScale+ MPSoC系列中的一个视频编解码单元,它提供了硬件加速的视频编解码功能,可以帮助开发人员更高效地实现视频应用。

Video Codec Unit (VCU) 核编码器块是采用 H.265 (ISO/IEC 23008-2 高效视频编码)和 H.264 (ISO/IEC 14496-10 高级视频编码)标准对视频流进行处理的视频编码器引擎。

1. 使用方法

  • 开发板上安装VCU IP核,并在Vivado中配置和生成相应的硬件设计文件。
  • 在Linux系统中安装VCU驱动程序和用户空间应用程序。这些程序将使用VCU接口软件与VCU IP核进行通信。
    • 默认xilinx-vcu可能编译为模块m,修改内核配置y
    • 驱动设备 /dev/allegroIP
    • 系统工具:ctrlsw_decoder ctrlsw_encoder
  • 在编程期间,您需要使用VCU API来访问VCU接口软件。VCU API提供了一组函数和数据结构,可以帮助您轻松地实现各种视频编解码功能。您可以在VCU API文档中找到所有可用函数的详细信息。
    • 官方API:vcu-ctrl-sw,其中包含编解码例程,也就是工具 ctrlsw_decoder 和ctrlsw_encoder 的源码
    • GitHub - Xilinx/vcu-ctrl-sw
  • 参考资料 pg252 H.264/H.265 Video Codec Unit v1.2 LogiCORE IP Product Guide (xilinx.com)

2. 编码器使用

  • 命令工具
//将yuv图像进行H264编码
ctrlsw_encoder -i yuv420p.yuv -o vcu.h264 --input-width 2736 --input-height 1824 --input-format I420--profile AVC_MAIN
  • 编写代码
    • 官方的例程使用c++编写,包含命令行参数解析,很多的参数设置,文件读写等,较为复杂,下图概括了其必须的重要步骤。

           特别注意:编码数据的接收使用回调函数,还有对缓冲池中缓冲区的引用释放也是通过回调处理。

 3.解码器(略)

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值