1#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
2#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
3
4/*
5** Copyright 2015-2024 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22// vulkan_video_codec_h264std_decode is a preprocessor guard. Do not pass it to API calls.
23#define vulkan_video_codec_h264std_decode 1
24#include "vulkan_video_codec_h264std.h"
25
26#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27
28#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
29#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
30#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
31
32typedef enum StdVideoDecodeH264FieldOrderCount {
33 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
34 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
35 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
36 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
37} StdVideoDecodeH264FieldOrderCount;
38typedef struct StdVideoDecodeH264PictureInfoFlags {
39 uint32_t field_pic_flag : 1;
40 uint32_t is_intra : 1;
41 uint32_t IdrPicFlag : 1;
42 uint32_t bottom_field_flag : 1;
43 uint32_t is_reference : 1;
44 uint32_t complementary_field_pair : 1;
45} StdVideoDecodeH264PictureInfoFlags;
46
47typedef struct StdVideoDecodeH264PictureInfo {
48 StdVideoDecodeH264PictureInfoFlags flags;
49 uint8_t seq_parameter_set_id;
50 uint8_t pic_parameter_set_id;
51 uint8_t reserved1;
52 uint8_t reserved2;
53 uint16_t frame_num;
54 uint16_t idr_pic_id;
55 int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
56} StdVideoDecodeH264PictureInfo;
57
58typedef struct StdVideoDecodeH264ReferenceInfoFlags {
59 uint32_t top_field_flag : 1;
60 uint32_t bottom_field_flag : 1;
61 uint32_t used_for_long_term_reference : 1;
62 uint32_t is_non_existing : 1;
63} StdVideoDecodeH264ReferenceInfoFlags;
64
65typedef struct StdVideoDecodeH264ReferenceInfo {
66 StdVideoDecodeH264ReferenceInfoFlags flags;
67 uint16_t FrameNum;
68 uint16_t reserved;
69 int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
70} StdVideoDecodeH264ReferenceInfo;
71
72
73#ifdef __cplusplus
74}
75#endif
76
77#endif
78