• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
2 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
3 
4 /*
5 ** Copyright 2015-2021 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_encode 1
23 typedef struct StdVideoEncodeH264SliceHeaderFlags {
24     uint32_t    idr_flag : 1;
25     uint32_t    is_reference_flag : 1;
26     uint32_t    num_ref_idx_active_override_flag : 1;
27     uint32_t    no_output_of_prior_pics_flag : 1;
28     uint32_t    long_term_reference_flag : 1;
29     uint32_t    adaptive_ref_pic_marking_mode_flag : 1;
30     uint32_t    no_prior_references_available_flag : 1;
31 } StdVideoEncodeH264SliceHeaderFlags;
32 
33 typedef struct StdVideoEncodeH264PictureInfoFlags {
34     uint32_t    idr_flag : 1;
35     uint32_t    is_reference_flag : 1;
36     uint32_t    long_term_reference_flag : 1;
37 } StdVideoEncodeH264PictureInfoFlags;
38 
39 typedef struct StdVideoEncodeH264RefMgmtFlags {
40     uint32_t    ref_pic_list_modification_l0_flag : 1;
41     uint32_t    ref_pic_list_modification_l1_flag : 1;
42 } StdVideoEncodeH264RefMgmtFlags;
43 
44 typedef struct StdVideoEncodeH264RefListModEntry {
45     StdVideoH264ModificationOfPicNumsIdc    modification_of_pic_nums_idc;
46     uint16_t                                abs_diff_pic_num_minus1;
47     uint16_t                                long_term_pic_num;
48 } StdVideoEncodeH264RefListModEntry;
49 
50 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
51     StdVideoH264MemMgmtControlOp    operation;
52     uint16_t                        difference_of_pic_nums_minus1;
53     uint16_t                        long_term_pic_num;
54     uint16_t                        long_term_frame_idx;
55     uint16_t                        max_long_term_frame_idx_plus1;
56 } StdVideoEncodeH264RefPicMarkingEntry;
57 
58 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
59     StdVideoEncodeH264RefMgmtFlags           flags;
60     uint8_t                                  refList0ModOpCount;
61     StdVideoEncodeH264RefListModEntry*       pRefList0ModOperations;
62     uint8_t                                  refList1ModOpCount;
63     StdVideoEncodeH264RefListModEntry*       pRefList1ModOperations;
64     uint8_t                                  refPicMarkingOpCount;
65     StdVideoEncodeH264RefPicMarkingEntry*    pRefPicMarkingOperations;
66 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
67 
68 typedef struct StdVideoEncodeH264PictureInfo {
69     StdVideoEncodeH264PictureInfoFlags    flags;
70     StdVideoH264PictureType               pictureType;
71     uint32_t                              frameNum;
72     uint32_t                              pictureOrderCount;
73     uint16_t                              long_term_pic_num;
74     uint16_t                              long_term_frame_idx;
75 } StdVideoEncodeH264PictureInfo;
76 
77 typedef struct StdVideoEncodeH264SliceHeader {
78     StdVideoEncodeH264SliceHeaderFlags             flags;
79     StdVideoH264SliceType                          slice_type;
80     uint8_t                                        seq_parameter_set_id;
81     uint8_t                                        pic_parameter_set_id;
82     uint16_t                                       idr_pic_id;
83     uint8_t                                        num_ref_idx_l0_active_minus1;
84     uint8_t                                        num_ref_idx_l1_active_minus1;
85     StdVideoH264CabacInitIdc                       cabac_init_idc;
86     StdVideoH264DisableDeblockingFilterIdc         disable_deblocking_filter_idc;
87     int8_t                                         slice_alpha_c0_offset_div2;
88     int8_t                                         slice_beta_offset_div2;
89     StdVideoEncodeH264RefMemMgmtCtrlOperations*    pMemMgmtCtrlOperations;
90 } StdVideoEncodeH264SliceHeader;
91 
92 
93 #ifdef __cplusplus
94 }
95 #endif
96 
97 #endif
98