---
title: hi_vdec_stream
description: "定义视频/图像解码的码流结构体。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_1444.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_1444.html
indexId: 87b4f026d8fc75e673033cdb87ac9219a24c58b31f2eac879f80cdff9b000947105
---
# hi_vdec_stream

#### 说明

定义视频/图像解码的码流结构体。


#### 定义

```
typedef struct {
hi_bool
end_of_frame;
hi_bool
end_of_stream;
hi_bool
need_display;
hi_u64
pts;
hi_u64
private_data;
hi_u32
len;
hi_u8
*ATTRIBUTE addr;
} hi_vdec_stream;
```


#### 成员

| 成员 | 描述 |
| --- | --- |
| end\_of\_frame | 当前帧是否结束（此值目前暂无效）。 |
| end\_of\_stream | 是否发完所有码流。 |
| need\_display | 当前帧输出是否显示。 0：不显示，设置为0，输出Buffer无解码结果，且不显示帧按照显示序或解码序输出。 1：显示，设置为1，才能输出解码结果，且显示帧按照显示序或解码序输出。 但如果解码码流中同时存在不显示帧、显示帧，则系统不保证不显示帧与显示帧之间按照显示序或解码序输出。 |
| pts | 码流包的时间戳，以us为单位。仅按帧发送时有效。 |
| private\_data | 私有数据。预留参数，暂不支持。 |
| len | 码流包的长度，以Byte为单位。 |
| addr | 码流包的地址。 |


#### 注意事项

1. 按帧发送时，解码图像的时间戳等于码流包中的时间戳。
2. 按流发送时，解码图像的时间戳等于0。
3. 当发完所有码流后，把end_of_stream设置为1，表示码流文件结束，这时解码器会解完发送下来的所有码流并输出所有图像。如果发完所有码流后把end_of_stream设置为0，解码器内部可能残余大于等于一帧的图像未解码输出，因为解码器必须等到下一帧码流到来才能知道当前帧已经结束，送入解码。
4. VDEC支持发送一包end_of_stream为1的空码流包（地址为空或长度为 0）。
