合理使用VDEC解码跳帧,减少内存申请,减轻VPC压力,性能更优
合理选择VDEC视频解码输出格式和分辨率,性能更优
背景说明
如果用户需要借助DVPP进行视频解码,想要得到RGB格式图片,当前视频解码接口hi_mpi_vdec_send_stream支持输出YUV420SP格式或RGB888格式,且支持在解码时对图片进行缩放,所以从提升性能的角度,可以优化代码逻辑,直接调用视频解码接口hi_mpi_vdec_send_stream输出RGB888格式。
图1 VDEC解码输出的组合场景

基本原理
视频解码接口hi_mpi_vdec_send_stream支持输出YUV420SP格式或RGB888格式,可设置接口参数输出不同的格式,省去调用hi_mpi_vpc_convert_color进行格式转换的步骤,减少接口调用。
若视频码流分辨率与模型输入图片的分辨率不一致,需要对解码后的图片进行缩放处理,也可以在视频解码接口hi_mpi_vdec_send_stream中设置输出图片的分辨率,在解码的同时完成图片的缩放,省去单独调用缩放接口的步骤,减少接口调用。
总结下来,可以在视频解码接口hi_mpi_vdec_send_stream中完成解码+缩放+色域转换三个功能,减少调用接口的数量,提升性能。
使用示例
视频解码的示例代码请单击Link获取。
父主题: 使用媒体数据处理V2版本接口
合理使用VDEC解码跳帧,减少内存申请,减轻VPC压力,性能更优
背景说明
在视频解码+模型推理的场景下,若视频的帧数比较多,且不是每一帧都需要进行推理,对于不需要推理的帧,推荐用户在调用hi_mpi_vdec_send_stream接口解码时设置当前帧输出不显示,不输出解码结果。
基本原理
视频解码是需要连续的数据,解码后的数据需要输出YUV格式,则每帧数据解码后,VDEC内部还需要通过VPC进行解压缩、缩放、格式转换的流程。
如果不想获取某一帧的解码结果, 在调用hi_mpi_vdec_send_stream接口解码时设置当前帧输出不显示,这样,就不需要申请输出内存,且VDEC内部也不通过VPC模块进行解压缩、缩放、格式转换的流程。减少内存申请,也减轻了VPC的处理压力,达到提升性能的目标。
使用说明
请参见hi_mpi_vdec_send_stream接口的hi_vdec_stream结构体内的need_display参数说明。
父主题: 使用媒体数据处理V2版本接口
VPC处理时合理选择输出格式,降低内存申请,性能更优
在Atlas 200/500 A2推理产品上,VPC图像处理功能支持输出YUV400格式(灰度图像),如果模型推理的输入图像是灰度图像,就直接使用VPC功能,无需再使用AIPP色域转换功能。
基本原理
在Atlas 200/500 A2推理产品上,直接使用VPC功能输出YUV400格式(灰度图像),省去使用AIPP色域转换功能,降低AI Core单元的负载,从硬件上提升性能。
使用说明
关于VPC功能的示例代码,请参见VPC图片处理典型功能。
父主题: 使用媒体数据处理V2版本接口
在线提单