1 | #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ |
---|---|
2 | #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 |
3 | |
4 | /* |
5 | ** Copyright 2015-2023 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 | #define vulkan_video_codec_h264std_decode 1 |
23 | |
24 | #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) |
25 | |
26 | #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 |
27 | #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 |
28 | #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode" |
29 | |
30 | typedef enum StdVideoDecodeH264FieldOrderCount { |
31 | STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, |
32 | STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, |
33 | STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF, |
34 | STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF |
35 | } StdVideoDecodeH264FieldOrderCount; |
36 | typedef struct StdVideoDecodeH264PictureInfoFlags { |
37 | uint32_t field_pic_flag : 1; |
38 | uint32_t is_intra : 1; |
39 | uint32_t IdrPicFlag : 1; |
40 | uint32_t bottom_field_flag : 1; |
41 | uint32_t is_reference : 1; |
42 | uint32_t complementary_field_pair : 1; |
43 | } StdVideoDecodeH264PictureInfoFlags; |
44 | |
45 | typedef struct StdVideoDecodeH264PictureInfo { |
46 | StdVideoDecodeH264PictureInfoFlags flags; |
47 | uint8_t seq_parameter_set_id; |
48 | uint8_t pic_parameter_set_id; |
49 | uint8_t reserved1; |
50 | uint8_t reserved2; |
51 | uint16_t frame_num; |
52 | uint16_t idr_pic_id; |
53 | int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; |
54 | } StdVideoDecodeH264PictureInfo; |
55 | |
56 | typedef struct StdVideoDecodeH264ReferenceInfoFlags { |
57 | uint32_t top_field_flag : 1; |
58 | uint32_t bottom_field_flag : 1; |
59 | uint32_t used_for_long_term_reference : 1; |
60 | uint32_t is_non_existing : 1; |
61 | } StdVideoDecodeH264ReferenceInfoFlags; |
62 | |
63 | typedef struct StdVideoDecodeH264ReferenceInfo { |
64 | StdVideoDecodeH264ReferenceInfoFlags flags; |
65 | uint16_t FrameNum; |
66 | uint16_t reserved; |
67 | int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; |
68 | } StdVideoDecodeH264ReferenceInfo; |
69 | |
70 | |
71 | #ifdef __cplusplus |
72 | } |
73 | #endif |
74 | |
75 | #endif |
76 |