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 |
17 | extern "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 | |
32 | typedef 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; |
38 | typedef 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 | |
47 | typedef 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 | |
58 | typedef 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 | |
65 | typedef 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 |