VDEC(Video Decoder)实现视频的解码,VDEC内部经过VPC处理后,输出YUV420SP格式(包括NV12和NV21)的图片。
H264 bp/mp/hp level5.1 YUV420编码的码流,当前只支持annex-B的裸码流。
H265 8/10bit level5.1 YUV420编码的码流,当前只支持annex-B的裸码流。
支持调用aclrtMalloc/aclrtFree接口或aclrtMallocHost/aclrtFreeHost接口申请/释放内存,也支持调用acldvppMalloc/acldvppFree接口申请/释放内存,这部分内存的生命周期由用户自行管理。
PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit, 默认输出该格式 PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit
分辨率 |
总性能 |
单路性能(n路) |
每路VDEC解码的最大内存消耗(此处以H265格式的输入码流、参考帧数量9个为例,作为参考值) |
---|---|---|---|
4k |
120fps |
120fps/n(推荐n=4,每路30fps) |
约182MB |
1080p |
480fps |
480fps/n(推荐n=16,每路30fps) |
约56MB |
≤720p |
960fps |
960fps/n(推荐n=32,每路30fps) |
约35MB |
每路VDEC解码的内存消耗计算公式 |
场景举例 |
内存消耗(单位为MB) |
---|---|---|
4MB + 输入码流缓存大小 * 2 + (解码图像帧存大小 + 视频解码图像TMV缓存大小) * (参考帧数量 + 1 ) |
|
51MB(参考帧数量9个) 26.5MB(参考帧数量2个) |
|
56MB(参考帧数量9个) 28MB(参考帧数量2个) |
注意:下表中给出的规格建议供参考,如果单进程内启动的路数超过下表中的建议,则可能出现内存不足或性能不够的问题,进而导致创建解码通道失败或执行解码缓慢。
720p指分辨率为1280*720的图片;1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。
典型分辨率 |
单进程内各启动路数时的规格建议(依据输入帧率得出) |
||||
---|---|---|---|---|---|
- |
输入帧率≥25fps |
20fps<输入帧率<25fps |
15fps<输入帧率≤20fps |
10fps<输入帧率≤15fps |
输入帧率≤10fps |
≤720p |
32路 |
32路 |
32路 |
32路 |
32路 |
1080p |
16路 |
19路 |
24路 |
32路 |
32路 |
4K |
4路 |
4路 |
6路 |
8路 |
12路 |
上述性能指标,基于CtrlCPU与AI CPU的配比是4:4。