---
title: 函数：dvpp_jpeg_decode_async
description: "| C函数原型 | aclError acldvppJpegDecodeAsync(acldvppChannelDesc \*channelDesc, const void \*data, uint32\_t size, acldvppPicDesc \*outputDesc, aclrtStream stream) |"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgp/aclpythondevg_01_0311.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgp/aclpythondevg_01_0311.html
indexId: 791ed5bfaaf798117132c4847ca41feff9f4f271353b4f15e0c33db7866b9f42108
---
# 函数：dvpp_jpeg_decode_async

| C函数原型 | aclError acldvppJpegDecodeAsync(acldvppChannelDesc \*channelDesc, const void \*data, uint32\_t size, acldvppPicDesc \*outputDesc, aclrtStream stream) |
| --- | --- |
| Python函数 | ret = acl.media.dvpp\_jpeg\_decode\_async(dvpp\_channel\_desc, data, size, output\_dvpp\_pic\_desc, stream) |
| 函数功能 | 解码.jpg、.jpeg、.JPG、.JPEG图片，异步接口。 |
| 输入说明 | dvpp\_channel\_desc：int，指定通道描述信息的指针地址，与调用acl.media.dvpp\_create\_channel接口创建通道时指定的dvpp\_channel\_desc保持一致。 data：int，输入图片的内存地址的指针地址。 size：int，输入图片的实际数据大小，单位Byte。 output\_dvpp\_pic\_desc：int，输出图片信息的指针地址。 调用acl.media.dvpp\_create\_pic\_desc接口创建图片描述信息。 调用acl.media.dvpp\_set\_pic\_desc系列接口设置输出图片的内存地址、内存大小、格式、width\_stride、height\_stride。 输出图片的内存大小可提前调用acl.media.dvpp\_jpeg\_predict\_dec\_size接口预估。 JPEG原图的宽、高可通过acl.media.dvpp\_jpeg\_get\_image\_info/acl.media.dvpp\_jpeg\_get\_image\_info\_v2接口获取。 输出图片格式、输出图片的宽高对齐要求，请参见功能及约束说明。 作为输出时，用户可以从内存地址中获取解码后的输出图片数据、可以调用acl.media.dvpp\_get\_pic\_desc系列接口获取输出图片的宽/高。 说明： Atlas 200/500 A2推理产品上，如果解码后的输出图片数据需要在后续操作（例如，使用VPC实现抠图、缩放等功能）中使用，建议在解码后调用acl.media.dvpp\_get\_pic\_desc获取输出图片的宽/高，因为解码过程中可能会对输出图片的宽高执行对齐操作，例如，jpeg(444) 源码的图片解码成YUV420SP格式的输出图片时，当jpeg(444) 源码图片的宽/高为奇数时，解码出来的YUV420SP格式的输出图片的宽/高理论上应该为奇数，但是YUV420SP格式本身要求图片的宽/高都为偶数，这时JPEGD会对奇数宽/高做向下2对齐的操作。 stream：int，指定Stream对象。 |
| 返回值说明 | ret：int，错误码。 返回0，表示任务下发成功。 返回非0，表示任务下发失败。 |
| 参考资源 | 接口调用流程及示例，参见JPEGD图片解码。 |
