【工程师分享】Audio工程测试1080p yuv422 10bit编码,软件报告VCU能力不足

作者:付汉杰,文章来源: 赛灵思中文社区论坛

使用Xilinx VCU TRD 2020.1 Audio工程测试1080p yuv422 10bit编码,软件报告VCU能力不足,错误信息是“Codec error: Channel creation failed, processing power of the available cores insufficient”。

root@vcu_audio:/run# uname -a
Linux vcu_audio 5.4.0-xilinx-v2020.1 #1 SMP Fri May 29 11:22:04 UTC 2020 aarch64 GNU/Linux

root@vcu_audio:/run#  ctrlsw_encoder -cfg vcu-yuv422-error.cfg
Allegro DVT2 - - AVC - HEVC - Encoder Reference Software v1.0.55 - Copyright (C) 2008-2020
Confidential material

Codec error: Channel creation failed, processing power of the available cores insufficient

如果把编码配置文件中的Profile从AVC_HIGH_422改为AVC_HIGH_422_INTRA,编码可以成功。

更新后的编码配置文件:

# Profile : specifies the standard/profile to which the bitstream conforms
# allowed values : AVC_BASELINE, AVC_MAIN, AVC_HIGH, AVC_HIGH10, AVC_HIGH_422,
#                  HEVC_MAIN, HEVC_MAIN10, HEVC_MAIN_422_10...
# (Some profile might not be supported by your hardware ip, see hardware ip specification)
Profile = AVC_HIGH_422_INTRA

更新后的编码记录:

root@vcu_audio:/run#  ctrlsw_encoder -cfg vcu-yuv422-good.cfg
Allegro DVT2 - - AVC - HEVC - Encoder Reference Software v1.0.55 - Copyright (C) 2008-2020
Confidential material

!! iPrefetchLevel2 shall be set to 0 for Intra only profile; it will be adjusted!!
!! Gop.Length shall be set to 0 or 1 for Intra only profile; it will be adjusted!!
!! Gop.uFreqIDR shall be set to 0 or 1 for Intra only profile; it will be adjusted!!
  Encoding picture #123    - Flushing...

Achieved bitrate = 24745.3457 Kbps
124 pictures encoded. Average FrameRate = 73.1563 Fps

软件报告VCU能力不足,一般是频率不够,或者创建的编码器/解码器总的分辨率超过4Kp60, 或者Encode buffer不足。于是尝试不使用Encode buffer,把CacheLevel2从ENABLE改为DISABLE。再次测试,可以编码成功。

Profile为AVC_HIGH_422,更新后的编码配置文件:

# Enables/disables the optional Encoder buffer
# Allowed values: ENABLE, DISABLE
# This can be used to reduce the memory bandwidth and it can slightly reduce the video quality
CacheLevel2 = DISABLE

Profile为AVC_HIGH_422,CacheLevel2为DISABLE,的编码记录:

root@vcu_audio:/run#  ctrlsw_encoder -cfg vcu-yuv422-error-disable-cache.cfg
Allegro DVT2 - - AVC - HEVC - Encoder Reference Software v1.0.55 - Copyright (C) 2008-2020
Confidential material

  Encoding picture #123    - Flushing...

Achieved bitrate = 19449.8398 Kbps
124 pictures encoded. Average FrameRate = 76.5905 Fps

推荐阅读