acl.himpi.pngd_destroy_chn
性能指标说明
性能指标说明
1080p指分辨率为1920*1080的图片;4K指分辨率为3840*2160的图片。单个Device的基本场景性能指标参考如下(1路对应一个通道,一个通道对应一个线程):
| 场景举例 | 总帧率 |
|---|---|
| 1080p*n路(1≤n≤5) | n*4fps |
| 1080p*n路(n≥ 6) | 24fps |
| 4k*n路(1≤n≤5) | n*1fps |
| 4k*n路(n≥ 6) | 6fps |
父主题: PNGD图像处理接口
acl.himpi.pngd_create_chn
| c函数原型 | hi_s32 hi_mpi_pngd_create_chn(hi_pngd_chn chn, const hi_pngd_chn_attr *attr) |
|---|---|
| Python函数 | ret = acl.himpi.pngd_create_chn**(chn, attr)** |
| 函数功能 | 根据设置的通道属性创建解码通道。 |
| 输入说明 | chn: 解码通道号。 该参数的取值范围为[0, 128),通道总数最多128。 attr(hi_pngd_chn_attr): 解码通道属性字典。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见PNGD图像解码返回码。 |
| 约束说明 | - 单个Device上的通道号不能超出最大的通道号范围。 - 如果参数attr为空,会返回错误码HI_ERR_PNGD_NULL_PTR。 - 在创建PNG解码通道之前必须保证通道未创建(或者已经销毁),否则会直接返回错误。 - 系统内存不足时会返回HI_ERR_PNGD_NO_MEM的错误码,可考虑扩展操作系统内存。 - 当通道属性attr中的值超过解码能力集时,会返回HI_ERR_PNGD_ILLEGAL_PARAM的错误码。 |
父主题: PNGD图像处理接口
acl.himpi.pngd_destroy_chn
| c函数原型 | hi_s32 hi_mpi_pngd_destroy_chn(hi_pngd_chn chn) |
|---|---|
| Python函数 | ret = acl.himpi.pngd_destroy_chn**(chn)** |
| 函数功能 | 用户退出流程时,需要关闭之前创建的解码通道,以释放相关资源。 |
| 输入说明 | chn:解码通道号。 该参数的取值范围为[0, 128),通道总数最多128。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见PNGD图像解码返回码。 |
| 约束说明 | 销毁前必须保证通道已创建,否则会返回通道未创建的错误。 |
父主题: PNGD图像处理接口
acl.himpi.pngd_send_stream
| c函数原型 | hi_s32 hi_mpi_pngd_send_stream(hi_pngd_chn chn, const hi_img_stream *stream, hi_pic_info *png_pic_info, hi_s32 milli_sec) |
|---|---|
| Python函数 | ret = acl.himpi.pngd_send_stream(chn, stream, png_pic_info, milli_sec) |
| 函数功能 | 解码前,向解码通道发送码流数据及存放解码结果的buffer。 |
| 输入说明 | chn :解码通道号。 该参数的取值范围为[0, 128),通道总数最多128。 stream(hi_img_stream):输入码流信息。该字典内的addr参数配置的地址为Device上的内存地址。 png_pic_info(hi_pic_info):输出图片信息字典。 milli_sec:超时时间,单位是毫秒。 - -1:阻塞方式 - 0:非阻塞方式 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见PNGD图像解码返回码。 |
| 约束说明 | - 发送数据前必须保证通道已经被创建,否则直接返回通道未创建的错误码HI_ERR_PNGD_UNEXIST。如果在发送码流过程中销毁通道,就会立刻返回错误码HI_ERR_PNGD_UNEXIST。 - 发送码流时需要送入整张png图片。否则,解码会出现错误。 - 以非阻塞方式发送码流,如果码流缓冲区已满,会立刻返回错误码HI_ERR_PNGD_BUF_FULL。 - 以超时方式发送码流,到达设定的超时时间还不能成功发送码流会返回错误码HI_ERR_PNGD_BUF_FULL。 - 图像解码时,对输入、输出图片的要求请参见功能及约束说明。 - 解码时,输入输出内存必须使用acl.himpi.dvpp_malloc接口和acl.himpi.dvpp_free接口进行申请和释放,输入输出内存均需要在调用acl.himpi.pngd_get_image_data接口获取结果之后才能进行释放。 |
父主题: PNGD图像处理接口
acl.himpi.pngd_get_image_data
| c函数原型 | hi_s32 hi_mpi_pngd_get_image_data(hi_pngd_chn chn, hi_pic_info *png_pic_info, hi_img_stream *stream, hi_s32 milli_sec) |
|---|---|
| Python函数 | png_pic_info, stream, ret = acl.himpi.pngd_get_image_data**(chn, milli_sec)** |
| 函数功能 | 解码后,获取解码通道的解码图像及输入Stream。 |
| 输入说明 | chn:解码通道号。 该参数的取值范围为[0, 128),通道总数最多128。 milli_sec:超时时间,单位是毫秒。 - -1:阻塞方式 - 0:非阻塞方式 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - stream**(hi_img_stream):获取已完成解码的输入码流信息字典。 - png_pic_info(hi_pic_info)**:获取已经完成解码的图像信息字典。解码后的数据存放在Device内存中。 - ret:int, - 返回0表示获取数据成功。 - 返回非0表示失败,参见PNGD图像解码返回码。HI_ERR_PNGD_BUF_EMPTY表示无数据,其他错误码表示解码异常 |
| 约束说明 | - 此接口通过改变milli_sec值支持阻塞方式、非阻塞方式、超时方式获取解码图像。 - 获取解码图像时必须保证通道已经被创建,否则直接返回通道未创建的错误码HI_ERR_PNGD_UNEXIST。如果在获取图像的过程中销毁通道,就会立刻返回错误码HI_ERR_PNGD_UNEXIST。 - 以非阻塞方式获取解码图像,如果缓冲区内无图像,会立刻返回错误码HI_ERR_PNGD_BUF_EMPTY。 - 以超时方式获取解码图像,到达设定的超时时间还不能获取到图像则会返回错误码HI_ERR_PNGD_BUF_EMPTY。 - 向PNGD获取解码结果,输入buffer和输出buffer一起获取。 - PNGD图片解码时,关于输入、输出图片的要求请参见功能及约束说明。 |
父主题: PNGD图像处理接口
在线提单