Skip to content

Commit da6dcf8

Browse files
committed
add files
1 parent 48ee4db commit da6dcf8

File tree

3 files changed

+502
-1
lines changed

3 files changed

+502
-1
lines changed
Lines changed: 392 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,392 @@
1+
#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
2+
#define VULKAN_VIDEO_CODEC_AV1STD_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 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 8
26+
#define STD_VIDEO_AV1_REFS_PER_FRAME 7
27+
#define STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME 8
28+
#define STD_VIDEO_AV1_MAX_TILE_COLS 64
29+
#define STD_VIDEO_AV1_MAX_TILE_ROWS 64
30+
#define STD_VIDEO_AV1_MAX_SEGMENTS 8
31+
#define STD_VIDEO_AV1_SEG_LVL_MAX 8
32+
#define STD_VIDEO_AV1_PRIMARY_REF_NONE 7
33+
#define STD_VIDEO_AV1_SELECT_INTEGER_MV 2
34+
#define STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS 2
35+
#define STD_VIDEO_AV1_SKIP_MODE_FRAMES 2
36+
#define STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS 4
37+
#define STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS 2
38+
#define STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS 8
39+
#define STD_VIDEO_AV1_MAX_NUM_PLANES 3
40+
#define STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS 6
41+
#define STD_VIDEO_AV1_MAX_NUM_Y_POINTS 14
42+
#define STD_VIDEO_AV1_MAX_NUM_CB_POINTS 10
43+
#define STD_VIDEO_AV1_MAX_NUM_CR_POINTS 10
44+
#define STD_VIDEO_AV1_MAX_NUM_POS_LUMA 24
45+
#define STD_VIDEO_AV1_MAX_NUM_POS_CHROMA 25
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_BT_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_MAX_ENUM = 0x7FFFFFFF
148+
} StdVideoAV1ColorPrimaries;
149+
150+
typedef enum StdVideoAV1TransferCharacteristics {
151+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0 = 0,
152+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709 = 1,
153+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED = 2,
154+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3 = 3,
155+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M = 4,
156+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G = 5,
157+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601 = 6,
158+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240 = 7,
159+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR = 8,
160+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100 = 9,
161+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10 = 10,
162+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966 = 11,
163+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361 = 12,
164+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB = 13,
165+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT = 14,
166+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT = 15,
167+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084 = 16,
168+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428 = 17,
169+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG = 18,
170+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID = 0x7FFFFFFF,
171+
STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_MAX_ENUM = 0x7FFFFFFF
172+
} StdVideoAV1TransferCharacteristics;
173+
174+
typedef enum StdVideoAV1MatrixCoefficients {
175+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY = 0,
176+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709 = 1,
177+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED = 2,
178+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3 = 3,
179+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC = 4,
180+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G = 5,
181+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601 = 6,
182+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240 = 7,
183+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO = 8,
184+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL = 9,
185+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL = 10,
186+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085 = 11,
187+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL = 12,
188+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL = 13,
189+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP = 14,
190+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID = 0x7FFFFFFF,
191+
STD_VIDEO_AV1_MATRIX_COEFFICIENTS_MAX_ENUM = 0x7FFFFFFF
192+
} StdVideoAV1MatrixCoefficients;
193+
194+
typedef enum StdVideoAV1ChromaSamplePosition {
195+
STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN = 0,
196+
STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL = 1,
197+
STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED = 2,
198+
STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED = 3,
199+
STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID = 0x7FFFFFFF,
200+
STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_MAX_ENUM = 0x7FFFFFFF
201+
} StdVideoAV1ChromaSamplePosition;
202+
typedef struct StdVideoAV1ColorConfigFlags {
203+
uint32_t mono_chrome : 1;
204+
uint32_t color_range : 1;
205+
uint32_t separate_uv_delta_q : 1;
206+
uint32_t color_description_present_flag : 1;
207+
uint32_t reserved : 28;
208+
} StdVideoAV1ColorConfigFlags;
209+
210+
typedef struct StdVideoAV1ColorConfig {
211+
StdVideoAV1ColorConfigFlags flags;
212+
uint8_t BitDepth;
213+
uint8_t subsampling_x;
214+
uint8_t subsampling_y;
215+
uint8_t reserved1;
216+
StdVideoAV1ColorPrimaries color_primaries;
217+
StdVideoAV1TransferCharacteristics transfer_characteristics;
218+
StdVideoAV1MatrixCoefficients matrix_coefficients;
219+
StdVideoAV1ChromaSamplePosition chroma_sample_position;
220+
} StdVideoAV1ColorConfig;
221+
222+
typedef struct StdVideoAV1TimingInfoFlags {
223+
uint32_t equal_picture_interval : 1;
224+
uint32_t reserved : 31;
225+
} StdVideoAV1TimingInfoFlags;
226+
227+
typedef struct StdVideoAV1TimingInfo {
228+
StdVideoAV1TimingInfoFlags flags;
229+
uint32_t num_units_in_display_tick;
230+
uint32_t time_scale;
231+
uint32_t num_ticks_per_picture_minus_1;
232+
} StdVideoAV1TimingInfo;
233+
234+
typedef struct StdVideoAV1LoopFilterFlags {
235+
uint32_t loop_filter_delta_enabled : 1;
236+
uint32_t loop_filter_delta_update : 1;
237+
uint32_t reserved : 30;
238+
} StdVideoAV1LoopFilterFlags;
239+
240+
typedef struct StdVideoAV1LoopFilter {
241+
StdVideoAV1LoopFilterFlags flags;
242+
uint8_t loop_filter_level[STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS];
243+
uint8_t loop_filter_sharpness;
244+
uint8_t update_ref_delta;
245+
int8_t loop_filter_ref_deltas[STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME];
246+
uint8_t update_mode_delta;
247+
int8_t loop_filter_mode_deltas[STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS];
248+
} StdVideoAV1LoopFilter;
249+
250+
typedef struct StdVideoAV1QuantizationFlags {
251+
uint32_t using_qmatrix : 1;
252+
uint32_t diff_uv_delta : 1;
253+
uint32_t reserved : 30;
254+
} StdVideoAV1QuantizationFlags;
255+
256+
typedef struct StdVideoAV1Quantization {
257+
StdVideoAV1QuantizationFlags flags;
258+
uint8_t base_q_idx;
259+
int8_t DeltaQYDc;
260+
int8_t DeltaQUDc;
261+
int8_t DeltaQUAc;
262+
int8_t DeltaQVDc;
263+
int8_t DeltaQVAc;
264+
uint8_t qm_y;
265+
uint8_t qm_u;
266+
uint8_t qm_v;
267+
} StdVideoAV1Quantization;
268+
269+
typedef struct StdVideoAV1Segmentation {
270+
uint8_t FeatureEnabled[STD_VIDEO_AV1_MAX_SEGMENTS];
271+
int16_t FeatureData[STD_VIDEO_AV1_MAX_SEGMENTS][STD_VIDEO_AV1_SEG_LVL_MAX];
272+
} StdVideoAV1Segmentation;
273+
274+
typedef struct StdVideoAV1TileInfoFlags {
275+
uint32_t uniform_tile_spacing_flag : 1;
276+
uint32_t reserved : 31;
277+
} StdVideoAV1TileInfoFlags;
278+
279+
typedef struct StdVideoAV1TileInfo {
280+
StdVideoAV1TileInfoFlags flags;
281+
uint8_t TileCols;
282+
uint8_t TileRows;
283+
uint16_t context_update_tile_id;
284+
uint8_t tile_size_bytes_minus_1;
285+
uint8_t reserved1[7];
286+
const uint16_t* pMiColStarts;
287+
const uint16_t* pMiRowStarts;
288+
const uint16_t* pWidthInSbsMinus1;
289+
const uint16_t* pHeightInSbsMinus1;
290+
} StdVideoAV1TileInfo;
291+
292+
typedef struct StdVideoAV1CDEF {
293+
uint8_t cdef_damping_minus_3;
294+
uint8_t cdef_bits;
295+
uint8_t cdef_y_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
296+
uint8_t cdef_y_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
297+
uint8_t cdef_uv_pri_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
298+
uint8_t cdef_uv_sec_strength[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS];
299+
} StdVideoAV1CDEF;
300+
301+
typedef struct StdVideoAV1LoopRestoration {
302+
StdVideoAV1FrameRestorationType FrameRestorationType[STD_VIDEO_AV1_MAX_NUM_PLANES];
303+
uint16_t LoopRestorationSize[STD_VIDEO_AV1_MAX_NUM_PLANES];
304+
} StdVideoAV1LoopRestoration;
305+
306+
typedef struct StdVideoAV1GlobalMotion {
307+
uint8_t GmType[STD_VIDEO_AV1_NUM_REF_FRAMES];
308+
int32_t gm_params[STD_VIDEO_AV1_NUM_REF_FRAMES][STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS];
309+
} StdVideoAV1GlobalMotion;
310+
311+
typedef struct StdVideoAV1FilmGrainFlags {
312+
uint32_t chroma_scaling_from_luma : 1;
313+
uint32_t overlap_flag : 1;
314+
uint32_t clip_to_restricted_range : 1;
315+
uint32_t update_grain : 1;
316+
uint32_t reserved : 28;
317+
} StdVideoAV1FilmGrainFlags;
318+
319+
typedef struct StdVideoAV1FilmGrain {
320+
StdVideoAV1FilmGrainFlags flags;
321+
uint8_t grain_scaling_minus_8;
322+
uint8_t ar_coeff_lag;
323+
uint8_t ar_coeff_shift_minus_6;
324+
uint8_t grain_scale_shift;
325+
uint16_t grain_seed;
326+
uint8_t film_grain_params_ref_idx;
327+
uint8_t num_y_points;
328+
uint8_t point_y_value[STD_VIDEO_AV1_MAX_NUM_Y_POINTS];
329+
uint8_t point_y_scaling[STD_VIDEO_AV1_MAX_NUM_Y_POINTS];
330+
uint8_t num_cb_points;
331+
uint8_t point_cb_value[STD_VIDEO_AV1_MAX_NUM_CB_POINTS];
332+
uint8_t point_cb_scaling[STD_VIDEO_AV1_MAX_NUM_CB_POINTS];
333+
uint8_t num_cr_points;
334+
uint8_t point_cr_value[STD_VIDEO_AV1_MAX_NUM_CR_POINTS];
335+
uint8_t point_cr_scaling[STD_VIDEO_AV1_MAX_NUM_CR_POINTS];
336+
int8_t ar_coeffs_y_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_LUMA];
337+
int8_t ar_coeffs_cb_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA];
338+
int8_t ar_coeffs_cr_plus_128[STD_VIDEO_AV1_MAX_NUM_POS_CHROMA];
339+
uint8_t cb_mult;
340+
uint8_t cb_luma_mult;
341+
uint16_t cb_offset;
342+
uint8_t cr_mult;
343+
uint8_t cr_luma_mult;
344+
uint16_t cr_offset;
345+
} StdVideoAV1FilmGrain;
346+
347+
typedef struct StdVideoAV1SequenceHeaderFlags {
348+
uint32_t still_picture : 1;
349+
uint32_t reduced_still_picture_header : 1;
350+
uint32_t use_128x128_superblock : 1;
351+
uint32_t enable_filter_intra : 1;
352+
uint32_t enable_intra_edge_filter : 1;
353+
uint32_t enable_interintra_compound : 1;
354+
uint32_t enable_masked_compound : 1;
355+
uint32_t enable_warped_motion : 1;
356+
uint32_t enable_dual_filter : 1;
357+
uint32_t enable_order_hint : 1;
358+
uint32_t enable_jnt_comp : 1;
359+
uint32_t enable_ref_frame_mvs : 1;
360+
uint32_t frame_id_numbers_present_flag : 1;
361+
uint32_t enable_superres : 1;
362+
uint32_t enable_cdef : 1;
363+
uint32_t enable_restoration : 1;
364+
uint32_t film_grain_params_present : 1;
365+
uint32_t timing_info_present_flag : 1;
366+
uint32_t initial_display_delay_present_flag : 1;
367+
uint32_t reserved : 13;
368+
} StdVideoAV1SequenceHeaderFlags;
369+
370+
typedef struct StdVideoAV1SequenceHeader {
371+
StdVideoAV1SequenceHeaderFlags flags;
372+
StdVideoAV1Profile seq_profile;
373+
uint8_t frame_width_bits_minus_1;
374+
uint8_t frame_height_bits_minus_1;
375+
uint16_t max_frame_width_minus_1;
376+
uint16_t max_frame_height_minus_1;
377+
uint8_t delta_frame_id_length_minus_2;
378+
uint8_t additional_frame_id_length_minus_1;
379+
uint8_t order_hint_bits_minus_1;
380+
uint8_t seq_force_integer_mv;
381+
uint8_t seq_force_screen_content_tools;
382+
uint8_t reserved1[5];
383+
const StdVideoAV1ColorConfig* pColorConfig;
384+
const StdVideoAV1TimingInfo* pTimingInfo;
385+
} StdVideoAV1SequenceHeader;
386+
387+
388+
#ifdef __cplusplus
389+
}
390+
#endif
391+
392+
#endif

0 commit comments

Comments
 (0)