文档
注册

总体说明

多版本接口差异

本手册中媒体数据处理V1版本与媒体数据处理V2版本的接口功能范围相同,都是描述处理媒体数据的接口,用于实现抠图、图片缩放、格式转换等功能,但两套接口不能混用。
  • 建议使用V2版本中的接口,保证后续版本接口功能以及业务的连续演进。
  • V1版本中的接口是为了兼容旧版本,保证使用该部分接口的用户能继续使用,后续版本不再演进。

功能说明

本章节介绍媒体数据处理V2版本的功能,,如表1所示。

表1 功能说明

功能

说明

VPC(Vision Preprocessing Core)

负责图像处理功能,包括图像的缩放、抠图、图像金字塔、色域转换等等,详细描述请参见VPC功能

JPEGE(JPEG Encoder)

负责完成图像编码功能,详细描述请参见JPEGE功能及约束说明

JPEGD(JPEG Decoder)

负责完成图像解码功能,详细描述请参见JPEGD功能及约束说明

VDEC(Video Decoder)

负责视频解码,详细描述请参见VDEC功能及约束说明

VENC(Video Encoder)

负责视频编码,详细描述请参见VENC功能及约束说明

PNGD(PNG Decoder)

负责PNG格式图片的解码,详细描述请参见功能及约束说明

功能支持度说明

昇腾AI处理器对媒体数据处理V2版本各功能的支持度如表2所示。

表2 功能支持度说明

昇腾AI处理器

VPC

JPEGD

JPEGE

PNGD

VDEC

VENC

昇腾310 AI处理器

x

x

x

x

x

x

昇腾910 AI处理器

x

x

x

x

x

x

昇腾310P AI处理器

整体约束说明

使用本章中介绍的接口,有以下注意点:

  • 关于内存申请/释放:
    1. 实现媒体数据处理的VPC、JPEGD、JPEGE等功能前,若需要申请内存存放输入或输出数据,需调用acl.himpi.dvpp_malloc申请内存、调用acl.himpi.dvpp_free接口释放内存。
    2. 调用1申请出来的内存可以满足媒体数据处理的要求,也可以在其它任务中使用,例如,从性能角度,为了减少拷贝,媒体数据处理的输出作为模型推理的输入,实现内存复用。
    3. 但由于媒体数据处理访问的地址空间有限,为确保媒体数据处理时内存足够,除媒体数据处理功能外的其它功能(例如,模型加载),建议调用内存管理章节下的acl.rt.malloc接口、或acl.rt.malloc_host接口、或acl.rt.malloc_cached接口申请内存。

      媒体数据处理功能在每个进程内,可访问的地址空间最大为16GB。

  • 关于通道的要求:

    实现媒体数据处理的各功能前,必须调用接口创建对应功能的通道,请分别参见VPC功能VDEC视频解码/JPEGD图像解码接口VENC视频/JPEGE图像编码接口PNGD图像处理接口章节下的通道创建与销毁接口,查看接口说明以及通道数的最大限制。

    通道的创建与销毁会涉及资源的申请与释放,反复创建与销毁通道会影响业务性能,因此建议根据实际场景管理通道,例如,如果有持续VPC图片处理,则创建VPC的通道后,等到所有VPC功能调用完成后,再销毁该VPC通道。

    通道数量多,会影响Device的CPU占用率和内存占用,通道数量建议参考各功能章节下的的性能指标的路数。

  • 本章节描述结构体、枚举值等,预留的字段需要手动设置为0,避免后续版本的兼容性问题。

    结构体或枚举值中的预留字段,其名称中包含*_BUTT字符串的,例如HI_COMPRESS_MODE_BUTT。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词