Function: dvpp_png_decode_async

Product Support

Product

Supported

Ascend 950PR / Ascend 950DT

x

Atlas A3 training products / Atlas A3 inference products

√

Atlas A2 training products / Atlas A2 inference products

√

Atlas training products

√

Atlas inference products

√

Atlas 200I/500 A2 inference products

√

Description

Decodes PNG images. This API is asynchronous. For details about the supported formats, see Table 1 Supported formats.

Table 1 Supported formats

Function

Input Format

Output Format

Set the output format to PIXEL_FORMAT_UNKNOWN.

That is, the output image has the same format as the input image.

RGB/GRAY

RGB

Set the output format to PIXEL_FORMAT_UNKNOWN.

That is, the output image has the same format as the input image.

RGBA/AGRAY

RGBA

Set the output format to PIXEL_FORMAT_RGB_888. That is, the input image is converted to a specified format for output.

RGB/RGBA/GRAY/AGRAY

RGB

Prototype

  • C Prototype
    1
    aclError acldvppPngDecodeAsync(acldvppChannelDesc *channelDesc,const void *data,uint32_t size,acldvppPicDesc *outputDesc,aclrtStream stream)
    
  • Python Function
    1
    ret = acl.media.dvpp_png_decode_async(dvpp_channel_desc, data, size, output_desc, stream)
    

Parameters

Parameter

Description

dvpp_channel_desc

Int, pointer address of the channel description. The value must be the same as that of dvpp_channel_desc specified when the acl.media.dvpp_create_channel API is called to create a stream.

data

Int, pointer address of the memory address of the input image.

size

Int, actual size of the input image, in bytes.

output_desc

Int, pointer address of the output image information.

When this argument is used as an input, the user needs to:

When this argument is used as an output, the user can obtain the decoding output from the buffer address.

stream

Int, stream.

Return Value

Return Value

Description

ret

Int, error code. 0 on success; else, failure.

Restrictions

This API is asynchronous. The API call delivers a task rather than executes a task. After this API is called, call the synchronization API (for example, acl.rt.synchronize_stream) to ensure that the task is complete.

Reference

For details about the API call sequence and examples, see PNGD.