acl.himpi.pngd_get_image_data

C Prototype

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 Function

png_pic_info, stream, ret = acl.himpi.pngd_get_image_data(chn, milli_sec)

Function Usage

Fetches the decoded images and input stream of a decoding channel.

The Atlas 200/300/500 Inference Product does not support this API in the current version.

The Atlas Training Series Product does not support this API in the current version.

Input Description

chn: int, decoding channel ID.

The value range of this parameter is [0, 128). The maximum number of channels is 128.

milli_sec: int, timeout interval (ms).

  • -1: blocking mode.
  • 0: non-blocking mode.
  • > 0: timeout interval (timeout mode). The timeout interval varies with the operating system. The deviation is generally within a time slice of an operating system. For example, if the time slice of an operating system is 4 ms and the value of milli_sec is set to 1, the actual timeout interval ranges from 1 ms to 5 ms. When the CPU load is high, the timeout interval may still fluctuate.

Return Value

stream: dict, pointer to information dictionary of decoded input streams. For details, see hi_img_stream.

png_pic_info: dict. Obtains the decoded picture information dictionary. For details, see hi_pic_info. The decode output is stored in the device memory.

ret: int, error code.
  • 0: success.
  • Other values: failure. For details, see PNGD Return Codes. HI_ERR_PNGD_BUF_EMPTY indicates that there is no data. Other error codes indicate abnormal decoding.

Restrictions

  • This API fetches decoded images in blocking mode, non-blocking mode, or timeout mode, as specified by the milli_sec parameter.
  • Ensure that a channel has been created. Otherwise, the error code HI_ERR_PNGD_UNEXIST is returned. If the channel is destroyed in the image fetching process, the error code HI_ERR_PNGD_UNEXIST is returned.
  • In non-blocking mode, if the buffer has no decoded images, the error code HI_ERR_PNGD_BUF_EMPTY is returned.
  • In timeout mode, if no decoded images are fetched within the specified timeout interval, the error code HI_ERR_PNGD_BUF_EMPTY is returned.
  • This API fetches the PNGD result, including the input buffer and output buffer.
  • For details about the requirements for the input and output images during PNGD image decoding, see Functions and Restrictions.