• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
2 #define VULKAN_VIDEO_CODEC_AV1STD_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_av1std_decode is a preprocessor guard. Do not pass it to API calls.
23 #define vulkan_video_codec_av1std_decode 1
24 #include "vulkan_video_codec_av1std.h"
25 
26 #define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27 
28 #define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0
29 #define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode"
30 typedef struct StdVideoDecodeAV1PictureInfoFlags {
31     uint32_t    error_resilient_mode : 1;
32     uint32_t    disable_cdf_update : 1;
33     uint32_t    use_superres : 1;
34     uint32_t    render_and_frame_size_different : 1;
35     uint32_t    allow_screen_content_tools : 1;
36     uint32_t    is_filter_switchable : 1;
37     uint32_t    force_integer_mv : 1;
38     uint32_t    frame_size_override_flag : 1;
39     uint32_t    buffer_removal_time_present_flag : 1;
40     uint32_t    allow_intrabc : 1;
41     uint32_t    frame_refs_short_signaling : 1;
42     uint32_t    allow_high_precision_mv : 1;
43     uint32_t    is_motion_mode_switchable : 1;
44     uint32_t    use_ref_frame_mvs : 1;
45     uint32_t    disable_frame_end_update_cdf : 1;
46     uint32_t    allow_warped_motion : 1;
47     uint32_t    reduced_tx_set : 1;
48     uint32_t    reference_select : 1;
49     uint32_t    skip_mode_present : 1;
50     uint32_t    delta_q_present : 1;
51     uint32_t    delta_lf_present : 1;
52     uint32_t    delta_lf_multi : 1;
53     uint32_t    segmentation_enabled : 1;
54     uint32_t    segmentation_update_map : 1;
55     uint32_t    segmentation_temporal_update : 1;
56     uint32_t    segmentation_update_data : 1;
57     uint32_t    UsesLr : 1;
58     uint32_t    usesChromaLr : 1;
59     uint32_t    apply_grain : 1;
60     uint32_t    reserved : 3;
61 } StdVideoDecodeAV1PictureInfoFlags;
62 
63 typedef struct StdVideoDecodeAV1PictureInfo {
64     StdVideoDecodeAV1PictureInfoFlags    flags;
65     StdVideoAV1FrameType                 frame_type;
66     uint32_t                             current_frame_id;
67     uint8_t                              OrderHint;
68     uint8_t                              primary_ref_frame;
69     uint8_t                              refresh_frame_flags;
70     uint8_t                              reserved1;
71     StdVideoAV1InterpolationFilter       interpolation_filter;
72     StdVideoAV1TxMode                    TxMode;
73     uint8_t                              delta_q_res;
74     uint8_t                              delta_lf_res;
75     uint8_t                              SkipModeFrame[STD_VIDEO_AV1_SKIP_MODE_FRAMES];
76     uint8_t                              coded_denom;
77     uint8_t                              reserved2[3];
78     uint8_t                              OrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES];
79     uint32_t                             expectedFrameId[STD_VIDEO_AV1_NUM_REF_FRAMES];
80     const StdVideoAV1TileInfo*           pTileInfo;
81     const StdVideoAV1Quantization*       pQuantization;
82     const StdVideoAV1Segmentation*       pSegmentation;
83     const StdVideoAV1LoopFilter*         pLoopFilter;
84     const StdVideoAV1CDEF*               pCDEF;
85     const StdVideoAV1LoopRestoration*    pLoopRestoration;
86     const StdVideoAV1GlobalMotion*       pGlobalMotion;
87     const StdVideoAV1FilmGrain*          pFilmGrain;
88 } StdVideoDecodeAV1PictureInfo;
89 
90 typedef struct StdVideoDecodeAV1ReferenceInfoFlags {
91     uint32_t    disable_frame_end_update_cdf : 1;
92     uint32_t    segmentation_enabled : 1;
93     uint32_t    reserved : 30;
94 } StdVideoDecodeAV1ReferenceInfoFlags;
95 
96 typedef struct StdVideoDecodeAV1ReferenceInfo {
97     StdVideoDecodeAV1ReferenceInfoFlags    flags;
98     uint8_t                                frame_type;
99     uint8_t                                RefFrameSignBias;
100     uint8_t                                OrderHint;
101     uint8_t                                SavedOrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES];
102 } StdVideoDecodeAV1ReferenceInfo;
103 
104 
105 #ifdef __cplusplus
106 }
107 #endif
108 
109 #endif
110