---
title: acl.himpi.pngd_get_image_data
description: "| 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) |"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgp/aclpythondevg_01_0540.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgp/aclpythondevg_01_0540.html
indexId: b2a0d26bba071c8f80fc5af24395d9c2fac43fcdad6202c3ed6be0d37e90a077108
---
# 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图片解码时，关于输入、输出图片的要求请参见功能及约束说明。 |
