作者:付汉杰,文章来源: 赛灵思中文社区论坛
使用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