AMD Xilinx MPSoC VCU 使用经验

AMD Xilinx MPSoC VCU 使用要点

VCU编码帧率

最近有客户反馈VCU编码4K NV12 视频时, 帧率只能达到42FPS。

Vivado设计检查

通过检查Vivado设计,发现以下设计可能影响帧率,做了改进。

  1. VCU与DDR连接的AXI Interconnect的位宽是32-bit。 建议改为64-bit或者128-bit。
  2. VCU的AXI Master连接到了DDR的同一个Slave port。 建议同时运行的模块的AXI Master,连接到DDR的不同的Slave port,防止拥塞,充分利用带宽。
  3. VCU Coding type 被设置成Intra Frame Only, 导致VCU Encode buffer为0。 建议设置为Intra & Inter Frame ,并设置Motion Vector Range为 medium,得到更大的VCU Encode buffer。
  4. 使能VCU Encode buffer。

软件设计检查

  1. 软件设置CacheLevel2为True,使用VCU Encode buffer。
  2. 使用HDMI-Rx等Live Vidoe,不使用filesrc,避免数据拷贝。

结论

经过以上改进后, 帧率可以达到64FPS。

VCU延时

客户使用在gst命令前添加GST_DEBUG="GST_TRACER:7" GST_TRACERS="latency" GST_DEBUG_FILE="/run/latency.txt"来测量VCU延时,发现解码延时达到5秒钟。 这是错误的结果。 单板没有足够的内存保存5秒钟的原始视频,甚至没有足够的内存保存2秒钟的原始视频。

建议使用 GST_DEBUG=omx:6 GST_DEBUG_FILE="/run/latency.txt"来测试VCU延时。在记录文件里搜索“retrieved latency”,可以看到各个模块的延时。

普通情况下的延时数据, 编码延时18ms,解码延时200ms。

0:00:00.408347321  4876 0xaaab00dce770 DEBUG            omxvideoenc gstomxvideoenc.c:2659:gst_omx_video_enc_set_latency:<omxh265enc-omxh265enc0> retrieved latency of 18 ms
0:00:00.506572825  4876 0xaaab00e5c770 DEBUG            omxvideodec gstomxvideodec.c:2481:gst_omx_video_dec_set_latency:<omxh265dec-omxh265dec0> retrieved latency of 200 ms

Low-Latency情况下的延时数据, 编码延时4ms,解码延时17ms。

0:00:00.422535568  8048 0xaaaae02f2770 DEBUG            omxvideoenc gstomxvideoenc.c:2659:gst_omx_video_enc_set_latency:<omxh265enc-omxh265enc0> retrieved latency of 4 ms
0:00:00.521424529  8048 0xaaaae0382770 DEBUG            omxvideodec gstomxvideodec.c:2481:gst_omx_video_dec_set_latency:<omxh265dec-omxh265dec0> retrieved latency of 17 ms

Low-Latency情况下的延时数据, 编码延时4ms,解码延时17ms。

PG252中的Glass-to-Glass延时数据

Table 69: Glass-to-Glass Latency

Use Case Capture Encode(HEVC/AVC) Decode Display
Normal Latency 16.6 18 ms / 35 ms 200 ms 16.6 ms
Reduced Latency 16.6 18 ms / 35 ms 50 ms 16.6 ms
Low Latency 16.6 ms 4 ms / 10 ms 17 ms 16.6 ms
Xlx Low-Latency 1 ms 4 ms / 10 ms 9 ms 16.6 ms
posted @ 2023-04-07 10:02  HankFu  阅读(366)  评论(0编辑  收藏  举报