昇腾社区首页
中文
注册
开发者
下载

函数:dvpp_jpeg_encode_async

产品支持情况

产品

是否支持

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas 800I A2 推理产品 /A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

功能说明

将YUV格式图片编码成.jpg图片,异步接口。

函数原型

  • C函数原型
    1
    aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, const void *data, uint32_t *size, acldvppJpegeConfig *config, aclrtStream stream)
    
  • python函数
    1
    ret = acl.media.dvpp_jpeg_encode_async(dvpp_channel_desc, input_dvpp_pic_desc, data, size_ptr, dvpp_jpege_config, stream)
    

参数说明

参数名

说明

dvpp_channel_desc

int,指定通道描述信息的指针地址,与调用acl.media.dvpp_create_channel接口创建通道时指定的dvpp_channel_desc保持一致。

input_dvpp_pic_desc

int,输入图片描述信息的指针地址。
  • 调用acl.media.dvpp_create_pic_desc接口创建图片描述信息。
  • 调用acl.media.dvpp_set_pic_desc系列接口设置图片描述参数(例如,图片格式、宽、高等)。

    输入图片分辨率(≤ 通道的最大宽度 * 高度)、图像格式的要求,请参见功能及约束说明

data

int,输出内存地址的指针地址,存放编码后的数据。

size_ptr

int,指向输出内存大小的指针地址,内存大小单位Byte。

  • 可提前调用acl.media.dvpp_jpeg_predict_enc_size接口预估输出内存大小“out_buffer_size”
  • 调用np_out_size = np.array([out_buffer_size], dtype=np.int32)创建numpy array类型数据。再调用bytes_data = np_out_size.tobytes()-> \->size_ptr = acl.util.bytes_to_ptr(bytes_data),将数据转换为对象作为入参。

    注意:函数调用成功后,size_ptr指向的数据(即np_out_size)会发生改变。

dvpp_jpege_config

int,表示图片编码配置数据的指针地址。

stream

指定Stream。

返回值说明

返回值

说明

ret

int,错误码,返回0表示成功,返回其它值表示失败。

约束说明

本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,acl.rt.synchronize_stream)确保任务已执行完成。

资源参考

接口调用流程及示例,参见JPEGD图片解码