Skip to main content

函数:dvpp_jpeg_predict_enc_size

性能指标说明

性能指标说明

以下性能数据,是基于一个stream上下发10个异步媒体数据处理任务后,执行一次acl.rt.synchronize_stream接口。

1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。单个Device的基本场景性能指标参考如下(1路对应一个通道,一个通道对应一个线程):

场景举例(输入图片格式:YUV420 8bit)总帧率
1080p*n路256fps
4k*n路64fps

父主题: JPEGE功能

函数:dvpp_jpeg_encode_async

C函数原型aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, const void *data, uint32_t *size, acldvppJpegeConfig *config, aclrtStream stream)
Python函数ret = acl.media.dvpp_jpeg_encode_async(dvpp_channel_desc, input_dvpp_pic_desc, data, size_ptr, dvpp_jpege_config, stream)
函数功能将YUV格式图片编码成.jpg图片,异步接口。
输入说明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,表示图片编码配置数据的指针地址。
- 调用acl.media.dvpp_create_jpege_config接口创建图片编码配置数据,调用acl.media.dvpp_set_jpege_config_level接口设置编码配置数据。
stream:int,指定Stream对象。
返回值说明ret:int,错误码。
- 返回0,表示任务下发成功。
- 返回非0,表示任务下发失败。
参考资源接口调用流程及示例,参见JPEGE图片编码

父主题: JPEGE功能

函数:dvpp_jpeg_predict_enc_size

C函数原型aclError acldvppJpegPredictEncSize(const acldvppPicDesc *inputDesc, const acldvppJpegeConfig *config, uint32_t *size)
Python函数size, ret = acl.media.dvpp_jpeg_predict_enc_size(input_dvpp_pic_desc, config)
函数功能根据输入图片描述信息、图片编码配置数据预估图片编码后所需的输出内存的大小。
输入说明input_dvpp_pic_desc: int,输入图片描述信息。
- 调用acl.media.dvpp_create_pic_desc接口创建图片描述信息。
- 调用acl.media.dvpp_set_pic_desc系列接口设置图片描述参数(例如,图片格式、宽、高等)。 config:int,图片编码配置数据。 调用acl.media.dvpp_create_jpege_config接口创建图片编码配置数据。
返回值说明size:int,预估JPEG图片编码后所需的输出内存的大小,单位为Byte。 预估的输出内存会大于实际输出内存,实际输出内存需从acl.media.dvpp_jpeg_encode_async接口的输出参数size获取。 ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
参考资源接口调用流程及示例,参见JPEGE图片编码

父主题: JPEGE功能

函数:dvpp_create_jpege_config

C函数原型acldvppJpegeConfig *acldvppCreateJpegeConfig()
Python函数dvpp_jpege_config = acl.media.dvpp_create_jpege_config()
函数功能创建acldvppJpegeConfig类型的数据,表示图片编码配置数据。同步接口。 如需销毁acldvppJpegeConfig类型的数据,请参见acl.media.dvpp_destroy_jpege_config
返回值说明dvpp_jpege_config:int,acldvppJpegeConfig类型的指针地址。
- 返回非0值,表示成功。
- 返回0,表示失败。

父主题: JPEGE功能

函数:dvpp_destroy_jpege_config

C函数原型aclError acldvppDestroyJpegeConfig(acldvppJpegeConfig *jpegeConfig)
Python函数ret = acl.media.dvpp_destroy_jpege_config(dvpp_jpege_config)
函数功能销毁通过acl.media.dvpp_create_jpege_config接口创建的编码配置数据。同步接口。
输入说明dvpp_jpege_config:int,指定待销毁数据的指针地址。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。

父主题: JPEGE功能

函数:dvpp_set_jpege_config_level

C函数原型aclError acldvppSetJpegeConfigLevel(acldvppJpegeConfig *jpegeConfig, uint32_t level)
Python函数ret = acl.media.dvpp_set_jpege_config_level(dvpp_jpege_config, level)
函数功能设置编码配置数据。同步接口。
输入说明dvpp_jpege_config:int,指定编码配置数据。调用acl.media.dvpp_create_jpege_config接口创建的编码配置数据。 level:int,编码质量范围。 Atlas 200/500 A2推理产品,该参数取值范围:[1, 100],数值越小输出图片质量越差。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。

父主题: JPEGE功能

在线提单