---
title: acl.himpi.vdec_get_frame
description: "| c函数原型 | hi\_s32 hi\_mpi\_vdec\_get\_frame(hi\_vdec\_chn chn, hi\_video\_frame\_info \*frame\_info, hi\_vdec\_supplement\_info \*supplement, hi\_vdec\_stream \*stream, hi\_s32 milli\_sec); |"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgp/aclpythondevg_01_0481.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgp/aclpythondevg_01_0481.html
indexId: 35d67a974bff90785e9785784a23e2abc770ea023a63d529595cebbb42dcb5a4108
---
# acl.himpi.vdec_get_frame

| c函数原型 | hi\_s32 hi\_mpi\_vdec\_get\_frame(hi\_vdec\_chn chn, hi\_video\_frame\_info \*frame\_info, hi\_vdec\_supplement\_info \*supplement, hi\_vdec\_stream \*stream, hi\_s32 milli\_sec); |
| --- | --- |
| Python函数 | frame\_info, supplement, stream, ret = acl.himpi.vdec\_get\_frame(chn, milli\_sec) |
| 函数功能 | 解码后，获取视频解码通道的解码图像及输入Stream。 JPEGD图像解码场景下，在调用本接口时，如果硬件解码失败，则会在本接口内部触发软件解码。 |
| 输入说明 | chn：解码通道号。 Atlas 200/500 A2推理产品，该参数的取值范围：[0, 128)，JPEGD功能和VDEC功能共用通道，且通道总数最多128。 milli\_sec：超时时间，单位是毫秒。 “\-1”：阻塞方式。 “0”：非阻塞方式。 >0：超时方式，配置具体的超时时间。超时时间受操作系统影响，一般偏差在操作系统的一个时间片内，例如，操作系统的一个时间片为4ms，用户设置的“milli\_sec”参数值为“1”，则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下，超时时间仍可能存在波动。 |
| 返回值说明 | ret：int，错误码。 返回0表示成功。但有可能是解码失败的数据，解码成功或失败，需要查看hi\_video\_frame字典（hi\_video\_frame\_info字典的成员）中的“frame\_flag”参数。 返回非0表示失败，参见VDEC视频/JPEGD图像解码返回码 stream：获取已完成解码的输入码流信息字典，具体请参见hi\_vdec\_stream。 frame\_info：获取已经完成解码的图像信息。解码后的数据存放在Device内存中。 supplement：获取的解码图像补充信息。预留参数，暂未使用。 |
| 约束说明 | 向VDEC获取解码结果，输入buffer和输出buffer一起获取。 JPEGD图片解码时，默认对于jpeg(420)、jpeg(422)、jpeg(440)格式的输入图片，如果输入图片的宽高为奇数，JPEGD解码输出图片的宽高为向下2对齐；默认对于jpeg(444)、jpeg(400)格式的输入图片，JPEGD解码输出图片的宽高与输入图片保持一致。若需调整输出图片的宽、高对齐模式，可调用acl.himpi.vdec\_set\_jpegd\_precision\_mode接口。 |
