comparison fuhtark_test/Vulkan-Headers-1.4.334/include/vk_video/vulkan_video_codec_av1std.h @ 1501:f40d9d814c08 default tip main

did: correct vulkan-api generator
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 23:34:29 +0700
parents
children
comparison
equal deleted inserted replaced
1500:91c8c3b7cbf0 1501:f40d9d814c08
1 #ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
2 #define VULKAN_VIDEO_CODEC_AV1STD_H_ 1
3
4 /*
5 ** Copyright 2015-2025 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 is a preprocessor guard. Do not pass it to API calls.
23 #define vulkan_video_codec_av1std 1
24 #include "vulkan_video_codecs_common.h"
25 #define STD_VIDEO_AV1_NUM_REF_FRAMES 8U
26 #define STD_VIDEO_AV1_REFS_PER_FRAME 7U
27 #define STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME 8U
28 #define STD_VIDEO_AV1_MAX_TILE_COLS 64U
29 #define STD_VIDEO_AV1_MAX_TILE_ROWS 64U
30 #define STD_VIDEO_AV1_MAX_SEGMENTS 8U
31 #define STD_VIDEO_AV1_SEG_LVL_MAX 8U
32 #define STD_VIDEO_AV1_PRIMARY_REF_NONE 7U
33 #define STD_VIDEO_AV1_SELECT_INTEGER_MV 2U
34 #define STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS 2U
35 #define STD_VIDEO_AV1_SKIP_MODE_FRAMES 2U
36 #define STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS 4U
37 #define STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS 2U
38 #define STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS 8U
39 #define STD_VIDEO_AV1_MAX_NUM_PLANES 3U
40 #define STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS 6U
41 #define STD_VIDEO_AV1_MAX_NUM_Y_POINTS 14U
42 #define STD_VIDEO_AV1_MAX_NUM_CB_POINTS 10U
43 #define STD_VIDEO_AV1_MAX_NUM_CR_POINTS 10U
44 #define STD_VIDEO_AV1_MAX_NUM_POS_LUMA 24U
45 #define STD_VIDEO_AV1_MAX_NUM_POS_CHROMA 25U
46
47 typedef enum StdVideoAV1Profile {
48 STD_VIDEO_AV1_PROFILE_MAIN = 0,
49 STD_VIDEO_AV1_PROFILE_HIGH = 1,
50 STD_VIDEO_AV1_PROFILE_PROFESSIONAL = 2,
51 STD_VIDEO_AV1_PROFILE_INVALID = 0x7FFFFFFF,
52 STD_VIDEO_AV1_PROFILE_MAX_ENUM = 0x7FFFFFFF
53 } StdVideoAV1Profile;
54
55 typedef enum StdVideoAV1Level {
56 STD_VIDEO_AV1_LEVEL_2_0 = 0,
57 STD_VIDEO_AV1_LEVEL_2_1 = 1,
58 STD_VIDEO_AV1_LEVEL_2_2 = 2,
59 STD_VIDEO_AV1_LEVEL_2_3 = 3,
60 STD_VIDEO_AV1_LEVEL_3_0 = 4,
61 STD_VIDEO_AV1_LEVEL_3_1 = 5,
62 STD_VIDEO_AV1_LEVEL_3_2 = 6,
63 STD_VIDEO_AV1_LEVEL_3_3 = 7,
64 STD_VIDEO_AV1_LEVEL_4_0 = 8,
65 STD_VIDEO_AV1_LEVEL_4_1 = 9,
66 STD_VIDEO_AV1_LEVEL_4_2 = 10,
67 STD_VIDEO_AV1_LEVEL_4_3 = 11,
68 STD_VIDEO_AV1_LEVEL_5_0 = 12,
69 STD_VIDEO_AV1_LEVEL_5_1 = 13,
70 STD_VIDEO_AV1_LEVEL_5_2 = 14,
71 STD_VIDEO_AV1_LEVEL_5_3 = 15,
72 STD_VIDEO_AV1_LEVEL_6_0 = 16,
73 STD_VIDEO_AV1_LEVEL_6_1 = 17,
74 STD_VIDEO_AV1_LEVEL_6_2 = 18,
75 STD_VIDEO_AV1_LEVEL_6_3 = 19,
76 STD_VIDEO_AV1_LEVEL_7_0 = 20,
77 STD_VIDEO_AV1_LEVEL_7_1 = 21,
78 STD_VIDEO_AV1_LEVEL_7_2 = 22,
79 STD_VIDEO_AV1_LEVEL_7_3 = 23,
80 STD_VIDEO_AV1_LEVEL_INVALID = 0x7FFFFFFF,
81 STD_VIDEO_AV1_LEVEL_MAX_ENUM = 0x7FFFFFFF
82 } StdVideoAV1Level;
83
84 typedef enum StdVideoAV1FrameType {
85 STD_VIDEO_AV1_FRAME_TYPE_KEY = 0,
86 STD_VIDEO_AV1_FRAME_TYPE_INTER = 1,
87 STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY = 2,
88 STD_VIDEO_AV1_FRAME_TYPE_SWITCH = 3,
89 STD_VIDEO_AV1_FRAME_TYPE_INVALID = 0x7FFFFFFF,
90 STD_VIDEO_AV1_FRAME_TYPE_MAX_ENUM = 0x7FFFFFFF
91 } StdVideoAV1FrameType;
92
93 typedef enum StdVideoAV1ReferenceName {
94 STD_VIDEO_AV1_REFERENCE_NAME_INTRA_FRAME = 0,
95 STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME = 1,
96 STD_VIDEO_AV1_REFERENCE_NAME_LAST2_FRAME = 2,
97 STD_VIDEO_AV1_REFERENCE_NAME_LAST3_FRAME = 3,
98 STD_VIDEO_AV1_REFERENCE_NAME_GOLDEN_FRAME = 4,
99 STD_VIDEO_AV1_REFERENCE_NAME_BWDREF_FRAME = 5,
100 STD_VIDEO_AV1_REFERENCE_NAME_ALTREF2_FRAME = 6,
101 STD_VIDEO_AV1_REFERENCE_NAME_ALTREF_FRAME = 7,
102 STD_VIDEO_AV1_REFERENCE_NAME_INVALID = 0x7FFFFFFF,
103 STD_VIDEO_AV1_REFERENCE_NAME_MAX_ENUM = 0x7FFFFFFF
104 } StdVideoAV1ReferenceName;
105
106 typedef enum StdVideoAV1InterpolationFilter {
107 STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP = 0,
108 STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
109 STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2,
110 STD_VIDEO_AV1_INTERPOLATION_FILTER_BILINEAR = 3,
111 STD_VIDEO_AV1_INTERPOLATION_FILTER_SWITCHABLE = 4,
112 STD_VIDEO_AV1_INTERPOLATION_FILTER_INVALID = 0x7FFFFFFF,
113 STD_VIDEO_AV1_INTERPOLATION_FILTER_MAX_ENUM = 0x7FFFFFFF
114 } StdVideoAV1InterpolationFilter;
115
116 typedef enum StdVideoAV1TxMode {
117 STD_VIDEO_AV1_TX_MODE_ONLY_4X4 = 0,
118 STD_VIDEO_AV1_TX_MODE_LARGEST = 1,
119 STD_VIDEO_AV1_TX_MODE_SELECT = 2,
120 STD_VIDEO_AV1_TX_MODE_INVALID = 0x7FFFFFFF,
121 STD_VIDEO_AV1_TX_MODE_MAX_ENUM = 0x7FFFFFFF
122 } StdVideoAV1TxMode;
123
124 typedef enum StdVideoAV1FrameRestorationType {
125 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE = 0,
126 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER = 1,
127 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ = 2,
128 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE = 3,
129 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_INVALID = 0x7FFFFFFF,
130 STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_MAX_ENUM = 0x7FFFFFFF
131 } StdVideoAV1FrameRestorationType;
132
133 typedef enum StdVideoAV1ColorPrimaries {
134 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709 = 1,
135 STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED = 2,
136 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M = 4,
137 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G = 5,
138 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601 = 6,
139 STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240 = 7,
140 STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM = 8,
141 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020 = 9,
142 STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ = 10,
143 STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431 = 11,
144 STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432 = 12,
145 STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213 = 22,
146 STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID = 0x7FFFFFFF,
147 // STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED is a legacy alias
148 STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED,
149 STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM = 0x7FFFFFFF
150 } StdVideoAV1ColorPrimaries;
151
152 typedef enum StdVideoAV1TransferCharacteristics {
153 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0 = 0,
154 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709 = 1,
155 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED = 2,
156 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3 = 3,
157 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M = 4,
158 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G = 5,
159 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601 = 6,
160 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240 = 7,
161 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR = 8,
162 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100 = 9,
163 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10 = 10,
164 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966 = 11,
165 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361 = 12,
166 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB = 13,
167 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT = 14,
168 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT = 15,
169 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084 = 16,
170 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428 = 17,
171 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG = 18,
172 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID = 0x7FFFFFFF,
173 STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_MAX_ENUM = 0x7FFFFFFF
174 } StdVideoAV1TransferCharacteristics;
175
176 typedef enum StdVideoAV1MatrixCoefficients {
177 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY = 0,
178 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709 = 1,
179 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED = 2,
180 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3 = 3,
181 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC = 4,
182 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G = 5,
183 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601 = 6,
184 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240 = 7,
185 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO = 8,
186 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL = 9,
187 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL = 10,
188 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085 = 11,
189 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL = 12,
190 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL = 13,
191 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP = 14,
192 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID = 0x7FFFFFFF,
193 STD_VIDEO_AV1_MATRIX_COEFFICIENTS_MAX_ENUM = 0x7FFFFFFF
194 } StdVideoAV1MatrixCoefficients;
195
196 typedef enum StdVideoAV1ChromaSamplePosition {
197 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN = 0,
198 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL = 1,
199 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED = 2,
200 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED = 3,
201 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID = 0x7FFFFFFF,
202 STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_MAX_ENUM = 0x7FFFFFFF
203 } StdVideoAV1ChromaSamplePosition;
204 typedef struct StdVideoAV1ColorConfigFlags {
205 uint32_t mono_chrome : 1;
206 uint32_t color_range : 1;
207 uint32_t separate_uv_delta_q : 1;
208 uint32_t color_description_present_flag : 1;
209 uint32_t reserved : 28;
210 } StdVideoAV1ColorConfigFlags;
211
212 typedef struct StdVideoAV1ColorConfig {
213 StdVideoAV1ColorConfigFlags flags;
214 uint8_t BitDepth;
215 uint8_t subsampling_x;
216 uint8_t subsampling_y;
217 uint8_t reserved1;
218 StdVideoAV1ColorPrimaries color_primaries;
219 StdVideoAV1TransferCharacteristics transfer_characteristics;
220 StdVideoAV1MatrixCoefficients matrix_coefficients;
221 StdVideoAV1ChromaSamplePosition chroma_sample_position;
222 } StdVideoAV1ColorConfig;
223
224 typedef struct StdVideoAV1TimingInfoFlags {
225 uint32_t equal_picture_interval : 1;
226 uint32_t reserved : 31;
227 } StdVideoAV1TimingInfoFlags;
228
229 typedef struct StdVideoAV1TimingInfo {
230 StdVideoAV1TimingInfoFlags flags;
231 uint32_t num_units_in_display_tick;
232 uint32_t time_scale;
233 uint32_t num_ticks_per_picture_minus_1;
234 } StdVideoAV1TimingInfo;
235
236 typedef struct StdVideoAV1LoopFilterFlags {
237 uint32_t loop_filter_delta_enabled : 1;
238 uint32_t loop_filter_delta_update : 1;
239 uint32_t reserved : 30;
240 } StdVideoAV1LoopFilterFlags;
241
242 typedef struct StdVideoAV1LoopFilter {
243 StdVideoAV1LoopFilterFlags flags;
244 uint8_t loop_filter_level[STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS];
245 uint8_t loop_filter_sharpness;
246 uint8_t update_ref_delta;
247 int8_t loop_filter_ref_deltas[STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME];
248 uint8_t update_mode_delta;
249 int8_t loop_filter_mode_deltas[STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS];
250 } StdVideoAV1LoopFilter;
251
252 typedef struct StdVideoAV1QuantizationFlags {
253 uint32_t using_qmatrix : 1;
254 uint32_t diff_uv_delta : 1;
255 uint32_t reserved : 30;
256 } StdVideoAV1QuantizationFlags;
257
258 typedef struct StdVideoAV1Quantization {
259 StdVideoAV1QuantizationFlags flags;
260 uint8_t base_q_idx;
261 int8_t DeltaQYDc;
262 int8_t DeltaQUDc;
263 int8_t DeltaQUAc;
264 int8_t DeltaQVDc;
265 int8_t DeltaQVAc;
266 uint8_t qm_y;
267 uint8_t qm_u;
268 uint8_t qm_v;
269 } StdVideoAV1Quantization;
270
271 typedef struct StdVideoAV1Segmentation {
272 uint8_t FeatureEnabled[STD_VIDEO_AV1_MAX_SEGMENTS];
273 int16_t FeatureData[STD_VIDEO_AV1_MAX_SEGMENTS][STD_VIDEO_AV1_SEG_LVL_MAX];
274 } StdVideoAV1Segmentation;
275
276 typedef struct StdVideoAV1TileInfoFlags {
277 uint32_t uniform_tile_spacing_flag : 1;
278 uint32_t reserved : 31;
279 } StdVideoAV1TileInfoFlags;
280
281 typedef struct StdVideoAV1TileInfo {
282 StdVideoAV1TileInfoFlags flags;
283 uint8_t TileCols;
284 uint8_t TileRows;
285 uint16_t context_update_tile_id;
286 uint8_t tile_size_bytes_minus_1;
287 uint8_t reserved1[7];
288 const uint16_t* pMiColStarts;
289 const uint16_t* pMiRowStarts;
290 const uint16_t* pWidthInSbsMinus1;
291 const uint16_t* pHeightInSbsMinus1;
292 } StdVideoAV1TileInfo;
293
294 typedef struct StdVideoAV1CDEF {
295 uint8_t cdef_damping_minus_3;
296 uint8_t cdef_bits;
297 uint8_t cdef_y_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
298 uint8_t cdef_y_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
299 uint8_t cdef_uv_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
300 uint8_t cdef_uv_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
301 } StdVideoAV1CDEF;
302
303 typedef struct StdVideoAV1LoopRestoration {
304 StdVideoAV1FrameRestorationType FrameRestorationType[STD_VIDEO_AV1_MAX_NUM_PLANES];
305 uint16_t LoopRestorationSize[STD_VIDEO_AV1_MAX_NUM_PLANES];
306 } StdVideoAV1LoopRestoration;
307
308 typedef struct StdVideoAV1GlobalMotion {
309 uint8_t GmType[STD_VIDEO_AV1_NUM_REF_FRAMES];
310 int32_t gm_params[STD_VIDEO_AV1_NUM_REF_FRAMES][STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS];
311 } StdVideoAV1GlobalMotion;
312
313 typedef struct StdVideoAV1FilmGrainFlags {
314 uint32_t chroma_scaling_from_luma : 1;
315 uint32_t overlap_flag : 1;
316 uint32_t clip_to_restricted_range : 1;
317 uint32_t update_grain : 1;
318 uint32_t reserved : 28;
319 } StdVideoAV1FilmGrainFlags;
320
321 typedef struct StdVideoAV1FilmGrain {
322 StdVideoAV1FilmGrainFlags flags;
323 uint8_t grain_scaling_minus_8;
324 uint8_t ar_coeff_lag;
325 uint8_t ar_coeff_shift_minus_6;
326 uint8_t grain_scale_shift;
327 uint16_t grain_seed;
328 uint8_t film_grain_params_ref_idx;
329 uint8_t num_y_points;
330 uint8_t point_y_value[STD_VIDEO_AV1_MAX_NUM_Y_POINTS];
331 uint8_t point_y_scaling[STD_VIDEO_AV1_MAX_NUM_Y_POINTS];
332 uint8_t num_cb_points;
333 uint8_t point_cb_value[STD_VIDEO_AV1_MAX_NUM_CB_POINTS];
334 uint8_t point_cb_scaling[STD_VIDEO_AV1_MAX_NUM_CB_POINTS];
335 uint8_t num_cr_points;
336 uint8_t point_cr_value[STD_VIDEO_AV1_MAX_NUM_CR_POINTS];
337 uint8_t point_cr_scaling[STD_VIDEO_AV1_MAX_NUM_CR_POINTS];
338 int8_t ar_coeffs_y_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_LUMA];
339 int8_t ar_coeffs_cb_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA];
340 int8_t ar_coeffs_cr_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA];
341 uint8_t cb_mult;
342 uint8_t cb_luma_mult;
343 uint16_t cb_offset;
344 uint8_t cr_mult;
345 uint8_t cr_luma_mult;
346 uint16_t cr_offset;
347 } StdVideoAV1FilmGrain;
348
349 typedef struct StdVideoAV1SequenceHeaderFlags {
350 uint32_t still_picture : 1;
351 uint32_t reduced_still_picture_header : 1;
352 uint32_t use_128x128_superblock : 1;
353 uint32_t enable_filter_intra : 1;
354 uint32_t enable_intra_edge_filter : 1;
355 uint32_t enable_interintra_compound : 1;
356 uint32_t enable_masked_compound : 1;
357 uint32_t enable_warped_motion : 1;
358 uint32_t enable_dual_filter : 1;
359 uint32_t enable_order_hint : 1;
360 uint32_t enable_jnt_comp : 1;
361 uint32_t enable_ref_frame_mvs : 1;
362 uint32_t frame_id_numbers_present_flag : 1;
363 uint32_t enable_superres : 1;
364 uint32_t enable_cdef : 1;
365 uint32_t enable_restoration : 1;
366 uint32_t film_grain_params_present : 1;
367 uint32_t timing_info_present_flag : 1;
368 uint32_t initial_display_delay_present_flag : 1;
369 uint32_t reserved : 13;
370 } StdVideoAV1SequenceHeaderFlags;
371
372 typedef struct StdVideoAV1SequenceHeader {
373 StdVideoAV1SequenceHeaderFlags flags;
374 StdVideoAV1Profile seq_profile;
375 uint8_t frame_width_bits_minus_1;
376 uint8_t frame_height_bits_minus_1;
377 uint16_t max_frame_width_minus_1;
378 uint16_t max_frame_height_minus_1;
379 uint8_t delta_frame_id_length_minus_2;
380 uint8_t additional_frame_id_length_minus_1;
381 uint8_t order_hint_bits_minus_1;
382 uint8_t seq_force_integer_mv;
383 uint8_t seq_force_screen_content_tools;
384 uint8_t reserved1[5];
385 const StdVideoAV1ColorConfig* pColorConfig;
386 const StdVideoAV1TimingInfo* pTimingInfo;
387 } StdVideoAV1SequenceHeader;
388
389
390 #ifdef __cplusplus
391 }
392 #endif
393
394 #endif