pngd_send_stream

Applicable Products

Product

Supported

Ascend 950PR/Ascend 950DT

√

Atlas A3 training products/Atlas A3 inference products

√

Atlas A2 training products/Atlas A2 inference products

√

Atlas training products

x

Atlas inference products

√

Atlas 200I/500 A2 inference products

√

Description

Feeds the stream and decoding result buffer to a decoding channel.

Prototype

  • C Prototype
    1
    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 Function
    1
    ret = acl.himpi.pngd_send_stream(chn, stream, png_pic_info, milli_sec)
    

Parameters

Parameter

Description

chn

Int, decoding channel ID.

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

stream

Dict, input stream information. For details, see hi_img_stream. The configured addr in this dictionary must be a buffer address on the device.

png_pic_info

Dict, output image information dictionary. See hi_pic_info.

milli_sec

Int, timeout interval, in milliseconds.

  • –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 fluctuate.

Return Value

Return Value

Description

ret

Int, error code.

Restrictions

  • Ensure that a channel has been created. Otherwise, the error code HI_ERR_PNGD_UNEXIST is returned. If the channel is destroyed when streams are being sent, the error code HI_ERR_PNGD_UNEXIST is returned.
  • To send a stream, a complete PNG image is required. Otherwise, an error occurs during decoding.
  • In non-blocking mode, the error code HI_ERR_PNGD_BUF_FULL is returned if the stream buffer is full.
  • In timeout mode, if the stream fails to be fed within the specified timeout interval, the error code HI_ERR_PNGD_BUF_FULL is returned.
  • For details about the requirements for the input and output images during image decoding, see Functions and Restrictions.
  • For decoding, the input and output buffers must be allocated by calling acl.himpi.dvpp_malloc and freed by calling acl.himpi.dvpp_free, respectively. The input and output buffers can be freed only after the result is obtained by calling pngd_get_image_data.

Reference

For the API call sequence, see Functions and Restrictions.