vulkanalia_sys/
video.rs

1// SPDX-License-Identifier: Apache-2.0
2
3// DO NOT EDIT.
4//
5// This file has been generated by the Kotlin project in the `generator`
6// directory from a Vulkan API registry.
7
8#![allow(
9    non_camel_case_types,
10    non_snake_case,
11    clippy::bad_bit_mask,
12    clippy::let_unit_value,
13    clippy::missing_safety_doc,
14    clippy::missing_transmute_annotations,
15    clippy::too_many_arguments,
16    clippy::type_complexity,
17    clippy::unnecessary_cast,
18    clippy::upper_case_acronyms,
19    clippy::useless_transmute
20)]
21
22/* automatically generated by rust-bindgen 0.68.1 */
23
24#[repr(C)]
25#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
26pub struct __BindgenBitfieldUnit<Storage> {
27    storage: Storage,
28}
29impl<Storage> __BindgenBitfieldUnit<Storage> {
30    #[inline]
31    pub const fn new(storage: Storage) -> Self {
32        Self { storage }
33    }
34}
35impl<Storage> __BindgenBitfieldUnit<Storage>
36where
37    Storage: AsRef<[u8]> + AsMut<[u8]>,
38{
39    #[inline]
40    pub fn get_bit(&self, index: usize) -> bool {
41        debug_assert!(index / 8 < self.storage.as_ref().len());
42        let byte_index = index / 8;
43        let byte = self.storage.as_ref()[byte_index];
44        let bit_index = if cfg!(target_endian = "big") {
45            7 - (index % 8)
46        } else {
47            index % 8
48        };
49        let mask = 1 << bit_index;
50        byte & mask == mask
51    }
52    #[inline]
53    pub fn set_bit(&mut self, index: usize, val: bool) {
54        debug_assert!(index / 8 < self.storage.as_ref().len());
55        let byte_index = index / 8;
56        let byte = &mut self.storage.as_mut()[byte_index];
57        let bit_index = if cfg!(target_endian = "big") {
58            7 - (index % 8)
59        } else {
60            index % 8
61        };
62        let mask = 1 << bit_index;
63        if val {
64            *byte |= mask;
65        } else {
66            *byte &= !mask;
67        }
68    }
69    #[inline]
70    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
71        debug_assert!(bit_width <= 64);
72        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
73        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
74        let mut val = 0;
75        for i in 0..(bit_width as usize) {
76            if self.get_bit(i + bit_offset) {
77                let index = if cfg!(target_endian = "big") {
78                    bit_width as usize - 1 - i
79                } else {
80                    i
81                };
82                val |= 1 << index;
83            }
84        }
85        val
86    }
87    #[inline]
88    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
89        debug_assert!(bit_width <= 64);
90        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
91        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
92        for i in 0..(bit_width as usize) {
93            let mask = 1 << i;
94            let val_bit_is_set = val & mask == mask;
95            let index = if cfg!(target_endian = "big") {
96                bit_width as usize - 1 - i
97            } else {
98                i
99            };
100            self.set_bit(index + bit_offset, val_bit_is_set);
101        }
102    }
103}
104pub const STD_VIDEO_AV1_NUM_REF_FRAMES: u32 = 8;
105pub const STD_VIDEO_AV1_REFS_PER_FRAME: u32 = 7;
106pub const STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME: u32 = 8;
107pub const STD_VIDEO_AV1_MAX_TILE_COLS: u32 = 64;
108pub const STD_VIDEO_AV1_MAX_TILE_ROWS: u32 = 64;
109pub const STD_VIDEO_AV1_MAX_SEGMENTS: u32 = 8;
110pub const STD_VIDEO_AV1_SEG_LVL_MAX: u32 = 8;
111pub const STD_VIDEO_AV1_PRIMARY_REF_NONE: u32 = 7;
112pub const STD_VIDEO_AV1_SELECT_INTEGER_MV: u32 = 2;
113pub const STD_VIDEO_AV1_SELECT_SCREEN_CONTENT_TOOLS: u32 = 2;
114pub const STD_VIDEO_AV1_SKIP_MODE_FRAMES: u32 = 2;
115pub const STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS: u32 = 4;
116pub const STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS: u32 = 2;
117pub const STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS: u32 = 8;
118pub const STD_VIDEO_AV1_MAX_NUM_PLANES: u32 = 3;
119pub const STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS: u32 = 6;
120pub const STD_VIDEO_AV1_MAX_NUM_Y_POINTS: u32 = 14;
121pub const STD_VIDEO_AV1_MAX_NUM_CB_POINTS: u32 = 10;
122pub const STD_VIDEO_AV1_MAX_NUM_CR_POINTS: u32 = 10;
123pub const STD_VIDEO_AV1_MAX_NUM_POS_LUMA: u32 = 24;
124pub const STD_VIDEO_AV1_MAX_NUM_POS_CHROMA: u32 = 25;
125pub const STD_VIDEO_H264_CPB_CNT_LIST_SIZE: u32 = 32;
126pub const STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS: u32 = 6;
127pub const STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS: u32 = 16;
128pub const STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS: u32 = 6;
129pub const STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS: u32 = 64;
130pub const STD_VIDEO_H264_MAX_NUM_LIST_REF: u32 = 32;
131pub const STD_VIDEO_H264_MAX_CHROMA_PLANES: u32 = 2;
132pub const STD_VIDEO_H264_NO_REFERENCE_PICTURE: u32 = 255;
133pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE: u32 = 2;
134pub const STD_VIDEO_H265_CPB_CNT_LIST_SIZE: u32 = 32;
135pub const STD_VIDEO_H265_SUBLAYERS_LIST_SIZE: u32 = 7;
136pub const STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS: u32 = 6;
137pub const STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS: u32 = 16;
138pub const STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS: u32 = 6;
139pub const STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS: u32 = 64;
140pub const STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS: u32 = 6;
141pub const STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS: u32 = 64;
142pub const STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS: u32 = 2;
143pub const STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS: u32 = 64;
144pub const STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE: u32 = 6;
145pub const STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE: u32 = 19;
146pub const STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE: u32 = 21;
147pub const STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE: u32 = 3;
148pub const STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE: u32 = 128;
149pub const STD_VIDEO_H265_MAX_NUM_LIST_REF: u32 = 15;
150pub const STD_VIDEO_H265_MAX_CHROMA_PLANES: u32 = 2;
151pub const STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS: u32 = 64;
152pub const STD_VIDEO_H265_MAX_DPB_SIZE: u32 = 16;
153pub const STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS: u32 = 32;
154pub const STD_VIDEO_H265_MAX_LONG_TERM_PICS: u32 = 16;
155pub const STD_VIDEO_H265_MAX_DELTA_POC: u32 = 48;
156pub const STD_VIDEO_H265_NO_REFERENCE_PICTURE: u32 = 255;
157pub const STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE: u32 = 8;
158pub const STD_VIDEO_VP9_NUM_REF_FRAMES: u32 = 8;
159pub const STD_VIDEO_VP9_REFS_PER_FRAME: u32 = 3;
160pub const STD_VIDEO_VP9_MAX_REF_FRAMES: u32 = 4;
161pub const STD_VIDEO_VP9_LOOP_FILTER_ADJUSTMENTS: u32 = 2;
162pub const STD_VIDEO_VP9_MAX_SEGMENTS: u32 = 8;
163pub const STD_VIDEO_VP9_SEG_LVL_MAX: u32 = 4;
164pub const STD_VIDEO_VP9_MAX_SEGMENTATION_TREE_PROBS: u32 = 7;
165pub const STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB: u32 = 3;
166pub const STD_VIDEO_AV1_PROFILE_MAIN: StdVideoAV1Profile = StdVideoAV1Profile(0);
167pub const STD_VIDEO_AV1_PROFILE_HIGH: StdVideoAV1Profile = StdVideoAV1Profile(1);
168pub const STD_VIDEO_AV1_PROFILE_PROFESSIONAL: StdVideoAV1Profile = StdVideoAV1Profile(2);
169pub const STD_VIDEO_AV1_PROFILE_INVALID: StdVideoAV1Profile = StdVideoAV1Profile(2147483647);
170pub const STD_VIDEO_AV1_PROFILE_MAX_ENUM: StdVideoAV1Profile = StdVideoAV1Profile(2147483647);
171#[repr(transparent)]
172#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
173pub struct StdVideoAV1Profile(pub ::core::ffi::c_int);
174pub const STD_VIDEO_AV1_LEVEL_2_0: StdVideoAV1Level = StdVideoAV1Level(0);
175pub const STD_VIDEO_AV1_LEVEL_2_1: StdVideoAV1Level = StdVideoAV1Level(1);
176pub const STD_VIDEO_AV1_LEVEL_2_2: StdVideoAV1Level = StdVideoAV1Level(2);
177pub const STD_VIDEO_AV1_LEVEL_2_3: StdVideoAV1Level = StdVideoAV1Level(3);
178pub const STD_VIDEO_AV1_LEVEL_3_0: StdVideoAV1Level = StdVideoAV1Level(4);
179pub const STD_VIDEO_AV1_LEVEL_3_1: StdVideoAV1Level = StdVideoAV1Level(5);
180pub const STD_VIDEO_AV1_LEVEL_3_2: StdVideoAV1Level = StdVideoAV1Level(6);
181pub const STD_VIDEO_AV1_LEVEL_3_3: StdVideoAV1Level = StdVideoAV1Level(7);
182pub const STD_VIDEO_AV1_LEVEL_4_0: StdVideoAV1Level = StdVideoAV1Level(8);
183pub const STD_VIDEO_AV1_LEVEL_4_1: StdVideoAV1Level = StdVideoAV1Level(9);
184pub const STD_VIDEO_AV1_LEVEL_4_2: StdVideoAV1Level = StdVideoAV1Level(10);
185pub const STD_VIDEO_AV1_LEVEL_4_3: StdVideoAV1Level = StdVideoAV1Level(11);
186pub const STD_VIDEO_AV1_LEVEL_5_0: StdVideoAV1Level = StdVideoAV1Level(12);
187pub const STD_VIDEO_AV1_LEVEL_5_1: StdVideoAV1Level = StdVideoAV1Level(13);
188pub const STD_VIDEO_AV1_LEVEL_5_2: StdVideoAV1Level = StdVideoAV1Level(14);
189pub const STD_VIDEO_AV1_LEVEL_5_3: StdVideoAV1Level = StdVideoAV1Level(15);
190pub const STD_VIDEO_AV1_LEVEL_6_0: StdVideoAV1Level = StdVideoAV1Level(16);
191pub const STD_VIDEO_AV1_LEVEL_6_1: StdVideoAV1Level = StdVideoAV1Level(17);
192pub const STD_VIDEO_AV1_LEVEL_6_2: StdVideoAV1Level = StdVideoAV1Level(18);
193pub const STD_VIDEO_AV1_LEVEL_6_3: StdVideoAV1Level = StdVideoAV1Level(19);
194pub const STD_VIDEO_AV1_LEVEL_7_0: StdVideoAV1Level = StdVideoAV1Level(20);
195pub const STD_VIDEO_AV1_LEVEL_7_1: StdVideoAV1Level = StdVideoAV1Level(21);
196pub const STD_VIDEO_AV1_LEVEL_7_2: StdVideoAV1Level = StdVideoAV1Level(22);
197pub const STD_VIDEO_AV1_LEVEL_7_3: StdVideoAV1Level = StdVideoAV1Level(23);
198pub const STD_VIDEO_AV1_LEVEL_INVALID: StdVideoAV1Level = StdVideoAV1Level(2147483647);
199pub const STD_VIDEO_AV1_LEVEL_MAX_ENUM: StdVideoAV1Level = StdVideoAV1Level(2147483647);
200#[repr(transparent)]
201#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
202pub struct StdVideoAV1Level(pub ::core::ffi::c_int);
203pub const STD_VIDEO_AV1_FRAME_TYPE_KEY: StdVideoAV1FrameType = StdVideoAV1FrameType(0);
204pub const STD_VIDEO_AV1_FRAME_TYPE_INTER: StdVideoAV1FrameType = StdVideoAV1FrameType(1);
205pub const STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY: StdVideoAV1FrameType = StdVideoAV1FrameType(2);
206pub const STD_VIDEO_AV1_FRAME_TYPE_SWITCH: StdVideoAV1FrameType = StdVideoAV1FrameType(3);
207pub const STD_VIDEO_AV1_FRAME_TYPE_INVALID: StdVideoAV1FrameType = StdVideoAV1FrameType(2147483647);
208pub const STD_VIDEO_AV1_FRAME_TYPE_MAX_ENUM: StdVideoAV1FrameType =
209    StdVideoAV1FrameType(2147483647);
210#[repr(transparent)]
211#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
212pub struct StdVideoAV1FrameType(pub ::core::ffi::c_int);
213pub const STD_VIDEO_AV1_REFERENCE_NAME_INTRA_FRAME: StdVideoAV1ReferenceName =
214    StdVideoAV1ReferenceName(0);
215pub const STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME: StdVideoAV1ReferenceName =
216    StdVideoAV1ReferenceName(1);
217pub const STD_VIDEO_AV1_REFERENCE_NAME_LAST2_FRAME: StdVideoAV1ReferenceName =
218    StdVideoAV1ReferenceName(2);
219pub const STD_VIDEO_AV1_REFERENCE_NAME_LAST3_FRAME: StdVideoAV1ReferenceName =
220    StdVideoAV1ReferenceName(3);
221pub const STD_VIDEO_AV1_REFERENCE_NAME_GOLDEN_FRAME: StdVideoAV1ReferenceName =
222    StdVideoAV1ReferenceName(4);
223pub const STD_VIDEO_AV1_REFERENCE_NAME_BWDREF_FRAME: StdVideoAV1ReferenceName =
224    StdVideoAV1ReferenceName(5);
225pub const STD_VIDEO_AV1_REFERENCE_NAME_ALTREF2_FRAME: StdVideoAV1ReferenceName =
226    StdVideoAV1ReferenceName(6);
227pub const STD_VIDEO_AV1_REFERENCE_NAME_ALTREF_FRAME: StdVideoAV1ReferenceName =
228    StdVideoAV1ReferenceName(7);
229pub const STD_VIDEO_AV1_REFERENCE_NAME_INVALID: StdVideoAV1ReferenceName =
230    StdVideoAV1ReferenceName(2147483647);
231pub const STD_VIDEO_AV1_REFERENCE_NAME_MAX_ENUM: StdVideoAV1ReferenceName =
232    StdVideoAV1ReferenceName(2147483647);
233#[repr(transparent)]
234#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
235pub struct StdVideoAV1ReferenceName(pub ::core::ffi::c_int);
236pub const STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP: StdVideoAV1InterpolationFilter =
237    StdVideoAV1InterpolationFilter(0);
238pub const STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH: StdVideoAV1InterpolationFilter =
239    StdVideoAV1InterpolationFilter(1);
240pub const STD_VIDEO_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP: StdVideoAV1InterpolationFilter =
241    StdVideoAV1InterpolationFilter(2);
242pub const STD_VIDEO_AV1_INTERPOLATION_FILTER_BILINEAR: StdVideoAV1InterpolationFilter =
243    StdVideoAV1InterpolationFilter(3);
244pub const STD_VIDEO_AV1_INTERPOLATION_FILTER_SWITCHABLE: StdVideoAV1InterpolationFilter =
245    StdVideoAV1InterpolationFilter(4);
246pub const STD_VIDEO_AV1_INTERPOLATION_FILTER_INVALID: StdVideoAV1InterpolationFilter =
247    StdVideoAV1InterpolationFilter(2147483647);
248pub const STD_VIDEO_AV1_INTERPOLATION_FILTER_MAX_ENUM: StdVideoAV1InterpolationFilter =
249    StdVideoAV1InterpolationFilter(2147483647);
250#[repr(transparent)]
251#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
252pub struct StdVideoAV1InterpolationFilter(pub ::core::ffi::c_int);
253pub const STD_VIDEO_AV1_TX_MODE_ONLY_4X4: StdVideoAV1TxMode = StdVideoAV1TxMode(0);
254pub const STD_VIDEO_AV1_TX_MODE_LARGEST: StdVideoAV1TxMode = StdVideoAV1TxMode(1);
255pub const STD_VIDEO_AV1_TX_MODE_SELECT: StdVideoAV1TxMode = StdVideoAV1TxMode(2);
256pub const STD_VIDEO_AV1_TX_MODE_INVALID: StdVideoAV1TxMode = StdVideoAV1TxMode(2147483647);
257pub const STD_VIDEO_AV1_TX_MODE_MAX_ENUM: StdVideoAV1TxMode = StdVideoAV1TxMode(2147483647);
258#[repr(transparent)]
259#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
260pub struct StdVideoAV1TxMode(pub ::core::ffi::c_int);
261pub const STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE: StdVideoAV1FrameRestorationType =
262    StdVideoAV1FrameRestorationType(0);
263pub const STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER: StdVideoAV1FrameRestorationType =
264    StdVideoAV1FrameRestorationType(1);
265pub const STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ: StdVideoAV1FrameRestorationType =
266    StdVideoAV1FrameRestorationType(2);
267pub const STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE: StdVideoAV1FrameRestorationType =
268    StdVideoAV1FrameRestorationType(3);
269pub const STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_INVALID: StdVideoAV1FrameRestorationType =
270    StdVideoAV1FrameRestorationType(2147483647);
271pub const STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_MAX_ENUM: StdVideoAV1FrameRestorationType =
272    StdVideoAV1FrameRestorationType(2147483647);
273#[repr(transparent)]
274#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
275pub struct StdVideoAV1FrameRestorationType(pub ::core::ffi::c_int);
276pub const STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709: StdVideoAV1ColorPrimaries =
277    StdVideoAV1ColorPrimaries(1);
278pub const STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED: StdVideoAV1ColorPrimaries =
279    StdVideoAV1ColorPrimaries(2);
280pub const STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M: StdVideoAV1ColorPrimaries =
281    StdVideoAV1ColorPrimaries(4);
282pub const STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G: StdVideoAV1ColorPrimaries =
283    StdVideoAV1ColorPrimaries(5);
284pub const STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601: StdVideoAV1ColorPrimaries =
285    StdVideoAV1ColorPrimaries(6);
286pub const STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240: StdVideoAV1ColorPrimaries =
287    StdVideoAV1ColorPrimaries(7);
288pub const STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM: StdVideoAV1ColorPrimaries =
289    StdVideoAV1ColorPrimaries(8);
290pub const STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020: StdVideoAV1ColorPrimaries =
291    StdVideoAV1ColorPrimaries(9);
292pub const STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ: StdVideoAV1ColorPrimaries =
293    StdVideoAV1ColorPrimaries(10);
294pub const STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431: StdVideoAV1ColorPrimaries =
295    StdVideoAV1ColorPrimaries(11);
296pub const STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432: StdVideoAV1ColorPrimaries =
297    StdVideoAV1ColorPrimaries(12);
298pub const STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213: StdVideoAV1ColorPrimaries =
299    StdVideoAV1ColorPrimaries(22);
300pub const STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID: StdVideoAV1ColorPrimaries =
301    StdVideoAV1ColorPrimaries(2147483647);
302pub const STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED: StdVideoAV1ColorPrimaries =
303    StdVideoAV1ColorPrimaries(2);
304pub const STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM: StdVideoAV1ColorPrimaries =
305    StdVideoAV1ColorPrimaries(2147483647);
306#[repr(transparent)]
307#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
308pub struct StdVideoAV1ColorPrimaries(pub ::core::ffi::c_int);
309pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_0: StdVideoAV1TransferCharacteristics =
310    StdVideoAV1TransferCharacteristics(0);
311pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_709: StdVideoAV1TransferCharacteristics =
312    StdVideoAV1TransferCharacteristics(1);
313pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_UNSPECIFIED: StdVideoAV1TransferCharacteristics =
314    StdVideoAV1TransferCharacteristics(2);
315pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_RESERVED_3: StdVideoAV1TransferCharacteristics =
316    StdVideoAV1TransferCharacteristics(3);
317pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_M: StdVideoAV1TransferCharacteristics =
318    StdVideoAV1TransferCharacteristics(4);
319pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_470_B_G: StdVideoAV1TransferCharacteristics =
320    StdVideoAV1TransferCharacteristics(5);
321pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_601: StdVideoAV1TransferCharacteristics =
322    StdVideoAV1TransferCharacteristics(6);
323pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_240: StdVideoAV1TransferCharacteristics =
324    StdVideoAV1TransferCharacteristics(7);
325pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LINEAR: StdVideoAV1TransferCharacteristics =
326    StdVideoAV1TransferCharacteristics(8);
327pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100: StdVideoAV1TransferCharacteristics =
328    StdVideoAV1TransferCharacteristics(9);
329pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_LOG_100_SQRT10:
330    StdVideoAV1TransferCharacteristics = StdVideoAV1TransferCharacteristics(10);
331pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_IEC_61966: StdVideoAV1TransferCharacteristics =
332    StdVideoAV1TransferCharacteristics(11);
333pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_1361: StdVideoAV1TransferCharacteristics =
334    StdVideoAV1TransferCharacteristics(12);
335pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SRGB: StdVideoAV1TransferCharacteristics =
336    StdVideoAV1TransferCharacteristics(13);
337pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_10_BIT:
338    StdVideoAV1TransferCharacteristics = StdVideoAV1TransferCharacteristics(14);
339pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_BT_2020_12_BIT:
340    StdVideoAV1TransferCharacteristics = StdVideoAV1TransferCharacteristics(15);
341pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_2084: StdVideoAV1TransferCharacteristics =
342    StdVideoAV1TransferCharacteristics(16);
343pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_SMPTE_428: StdVideoAV1TransferCharacteristics =
344    StdVideoAV1TransferCharacteristics(17);
345pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_HLG: StdVideoAV1TransferCharacteristics =
346    StdVideoAV1TransferCharacteristics(18);
347pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_INVALID: StdVideoAV1TransferCharacteristics =
348    StdVideoAV1TransferCharacteristics(2147483647);
349pub const STD_VIDEO_AV1_TRANSFER_CHARACTERISTICS_MAX_ENUM: StdVideoAV1TransferCharacteristics =
350    StdVideoAV1TransferCharacteristics(2147483647);
351#[repr(transparent)]
352#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
353pub struct StdVideoAV1TransferCharacteristics(pub ::core::ffi::c_int);
354pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_IDENTITY: StdVideoAV1MatrixCoefficients =
355    StdVideoAV1MatrixCoefficients(0);
356pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_709: StdVideoAV1MatrixCoefficients =
357    StdVideoAV1MatrixCoefficients(1);
358pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_UNSPECIFIED: StdVideoAV1MatrixCoefficients =
359    StdVideoAV1MatrixCoefficients(2);
360pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_RESERVED_3: StdVideoAV1MatrixCoefficients =
361    StdVideoAV1MatrixCoefficients(3);
362pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_FCC: StdVideoAV1MatrixCoefficients =
363    StdVideoAV1MatrixCoefficients(4);
364pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_470_B_G: StdVideoAV1MatrixCoefficients =
365    StdVideoAV1MatrixCoefficients(5);
366pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_601: StdVideoAV1MatrixCoefficients =
367    StdVideoAV1MatrixCoefficients(6);
368pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_240: StdVideoAV1MatrixCoefficients =
369    StdVideoAV1MatrixCoefficients(7);
370pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_YCGCO: StdVideoAV1MatrixCoefficients =
371    StdVideoAV1MatrixCoefficients(8);
372pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_NCL: StdVideoAV1MatrixCoefficients =
373    StdVideoAV1MatrixCoefficients(9);
374pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_BT_2020_CL: StdVideoAV1MatrixCoefficients =
375    StdVideoAV1MatrixCoefficients(10);
376pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_SMPTE_2085: StdVideoAV1MatrixCoefficients =
377    StdVideoAV1MatrixCoefficients(11);
378pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_NCL: StdVideoAV1MatrixCoefficients =
379    StdVideoAV1MatrixCoefficients(12);
380pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_CHROMAT_CL: StdVideoAV1MatrixCoefficients =
381    StdVideoAV1MatrixCoefficients(13);
382pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_ICTCP: StdVideoAV1MatrixCoefficients =
383    StdVideoAV1MatrixCoefficients(14);
384pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_INVALID: StdVideoAV1MatrixCoefficients =
385    StdVideoAV1MatrixCoefficients(2147483647);
386pub const STD_VIDEO_AV1_MATRIX_COEFFICIENTS_MAX_ENUM: StdVideoAV1MatrixCoefficients =
387    StdVideoAV1MatrixCoefficients(2147483647);
388#[repr(transparent)]
389#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
390pub struct StdVideoAV1MatrixCoefficients(pub ::core::ffi::c_int);
391pub const STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_UNKNOWN: StdVideoAV1ChromaSamplePosition =
392    StdVideoAV1ChromaSamplePosition(0);
393pub const STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_VERTICAL: StdVideoAV1ChromaSamplePosition =
394    StdVideoAV1ChromaSamplePosition(1);
395pub const STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_COLOCATED: StdVideoAV1ChromaSamplePosition =
396    StdVideoAV1ChromaSamplePosition(2);
397pub const STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_RESERVED: StdVideoAV1ChromaSamplePosition =
398    StdVideoAV1ChromaSamplePosition(3);
399pub const STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_INVALID: StdVideoAV1ChromaSamplePosition =
400    StdVideoAV1ChromaSamplePosition(2147483647);
401pub const STD_VIDEO_AV1_CHROMA_SAMPLE_POSITION_MAX_ENUM: StdVideoAV1ChromaSamplePosition =
402    StdVideoAV1ChromaSamplePosition(2147483647);
403#[repr(transparent)]
404#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
405pub struct StdVideoAV1ChromaSamplePosition(pub ::core::ffi::c_int);
406#[repr(C)]
407#[repr(align(4))]
408#[derive(Debug, Copy, Clone)]
409pub struct StdVideoAV1ColorConfigFlags {
410    pub _bitfield_align_1: [u32; 0],
411    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
412}
413impl StdVideoAV1ColorConfigFlags {
414    #[inline]
415    pub fn mono_chrome(&self) -> u32 {
416        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
417    }
418    #[inline]
419    pub fn set_mono_chrome(&mut self, val: u32) {
420        unsafe {
421            let val: u32 = ::core::mem::transmute(val);
422            self._bitfield_1.set(0usize, 1u8, val as u64)
423        }
424    }
425    #[inline]
426    pub fn color_range(&self) -> u32 {
427        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
428    }
429    #[inline]
430    pub fn set_color_range(&mut self, val: u32) {
431        unsafe {
432            let val: u32 = ::core::mem::transmute(val);
433            self._bitfield_1.set(1usize, 1u8, val as u64)
434        }
435    }
436    #[inline]
437    pub fn separate_uv_delta_q(&self) -> u32 {
438        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
439    }
440    #[inline]
441    pub fn set_separate_uv_delta_q(&mut self, val: u32) {
442        unsafe {
443            let val: u32 = ::core::mem::transmute(val);
444            self._bitfield_1.set(2usize, 1u8, val as u64)
445        }
446    }
447    #[inline]
448    pub fn color_description_present_flag(&self) -> u32 {
449        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
450    }
451    #[inline]
452    pub fn set_color_description_present_flag(&mut self, val: u32) {
453        unsafe {
454            let val: u32 = ::core::mem::transmute(val);
455            self._bitfield_1.set(3usize, 1u8, val as u64)
456        }
457    }
458    #[inline]
459    pub fn reserved(&self) -> u32 {
460        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
461    }
462    #[inline]
463    pub fn set_reserved(&mut self, val: u32) {
464        unsafe {
465            let val: u32 = ::core::mem::transmute(val);
466            self._bitfield_1.set(4usize, 28u8, val as u64)
467        }
468    }
469    #[inline]
470    pub fn new_bitfield_1(
471        mono_chrome: u32,
472        color_range: u32,
473        separate_uv_delta_q: u32,
474        color_description_present_flag: u32,
475        reserved: u32,
476    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
477        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
478        __bindgen_bitfield_unit.set(0usize, 1u8, {
479            let mono_chrome: u32 = unsafe { ::core::mem::transmute(mono_chrome) };
480            mono_chrome as u64
481        });
482        __bindgen_bitfield_unit.set(1usize, 1u8, {
483            let color_range: u32 = unsafe { ::core::mem::transmute(color_range) };
484            color_range as u64
485        });
486        __bindgen_bitfield_unit.set(2usize, 1u8, {
487            let separate_uv_delta_q: u32 = unsafe { ::core::mem::transmute(separate_uv_delta_q) };
488            separate_uv_delta_q as u64
489        });
490        __bindgen_bitfield_unit.set(3usize, 1u8, {
491            let color_description_present_flag: u32 =
492                unsafe { ::core::mem::transmute(color_description_present_flag) };
493            color_description_present_flag as u64
494        });
495        __bindgen_bitfield_unit.set(4usize, 28u8, {
496            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
497            reserved as u64
498        });
499        __bindgen_bitfield_unit
500    }
501}
502#[repr(C)]
503#[derive(Debug, Copy, Clone)]
504pub struct StdVideoAV1ColorConfig {
505    pub flags: StdVideoAV1ColorConfigFlags,
506    pub BitDepth: u8,
507    pub subsampling_x: u8,
508    pub subsampling_y: u8,
509    pub reserved1: u8,
510    pub color_primaries: StdVideoAV1ColorPrimaries,
511    pub transfer_characteristics: StdVideoAV1TransferCharacteristics,
512    pub matrix_coefficients: StdVideoAV1MatrixCoefficients,
513    pub chroma_sample_position: StdVideoAV1ChromaSamplePosition,
514}
515#[repr(C)]
516#[repr(align(4))]
517#[derive(Debug, Copy, Clone)]
518pub struct StdVideoAV1TimingInfoFlags {
519    pub _bitfield_align_1: [u32; 0],
520    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
521}
522impl StdVideoAV1TimingInfoFlags {
523    #[inline]
524    pub fn equal_picture_interval(&self) -> u32 {
525        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
526    }
527    #[inline]
528    pub fn set_equal_picture_interval(&mut self, val: u32) {
529        unsafe {
530            let val: u32 = ::core::mem::transmute(val);
531            self._bitfield_1.set(0usize, 1u8, val as u64)
532        }
533    }
534    #[inline]
535    pub fn reserved(&self) -> u32 {
536        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
537    }
538    #[inline]
539    pub fn set_reserved(&mut self, val: u32) {
540        unsafe {
541            let val: u32 = ::core::mem::transmute(val);
542            self._bitfield_1.set(1usize, 31u8, val as u64)
543        }
544    }
545    #[inline]
546    pub fn new_bitfield_1(
547        equal_picture_interval: u32,
548        reserved: u32,
549    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
550        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
551        __bindgen_bitfield_unit.set(0usize, 1u8, {
552            let equal_picture_interval: u32 =
553                unsafe { ::core::mem::transmute(equal_picture_interval) };
554            equal_picture_interval as u64
555        });
556        __bindgen_bitfield_unit.set(1usize, 31u8, {
557            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
558            reserved as u64
559        });
560        __bindgen_bitfield_unit
561    }
562}
563#[repr(C)]
564#[derive(Debug, Copy, Clone)]
565pub struct StdVideoAV1TimingInfo {
566    pub flags: StdVideoAV1TimingInfoFlags,
567    pub num_units_in_display_tick: u32,
568    pub time_scale: u32,
569    pub num_ticks_per_picture_minus_1: u32,
570}
571#[repr(C)]
572#[repr(align(4))]
573#[derive(Debug, Copy, Clone)]
574pub struct StdVideoAV1LoopFilterFlags {
575    pub _bitfield_align_1: [u32; 0],
576    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
577}
578impl StdVideoAV1LoopFilterFlags {
579    #[inline]
580    pub fn loop_filter_delta_enabled(&self) -> u32 {
581        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
582    }
583    #[inline]
584    pub fn set_loop_filter_delta_enabled(&mut self, val: u32) {
585        unsafe {
586            let val: u32 = ::core::mem::transmute(val);
587            self._bitfield_1.set(0usize, 1u8, val as u64)
588        }
589    }
590    #[inline]
591    pub fn loop_filter_delta_update(&self) -> u32 {
592        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
593    }
594    #[inline]
595    pub fn set_loop_filter_delta_update(&mut self, val: u32) {
596        unsafe {
597            let val: u32 = ::core::mem::transmute(val);
598            self._bitfield_1.set(1usize, 1u8, val as u64)
599        }
600    }
601    #[inline]
602    pub fn reserved(&self) -> u32 {
603        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
604    }
605    #[inline]
606    pub fn set_reserved(&mut self, val: u32) {
607        unsafe {
608            let val: u32 = ::core::mem::transmute(val);
609            self._bitfield_1.set(2usize, 30u8, val as u64)
610        }
611    }
612    #[inline]
613    pub fn new_bitfield_1(
614        loop_filter_delta_enabled: u32,
615        loop_filter_delta_update: u32,
616        reserved: u32,
617    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
618        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
619        __bindgen_bitfield_unit.set(0usize, 1u8, {
620            let loop_filter_delta_enabled: u32 =
621                unsafe { ::core::mem::transmute(loop_filter_delta_enabled) };
622            loop_filter_delta_enabled as u64
623        });
624        __bindgen_bitfield_unit.set(1usize, 1u8, {
625            let loop_filter_delta_update: u32 =
626                unsafe { ::core::mem::transmute(loop_filter_delta_update) };
627            loop_filter_delta_update as u64
628        });
629        __bindgen_bitfield_unit.set(2usize, 30u8, {
630            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
631            reserved as u64
632        });
633        __bindgen_bitfield_unit
634    }
635}
636#[repr(C)]
637#[derive(Debug, Copy, Clone)]
638pub struct StdVideoAV1LoopFilter {
639    pub flags: StdVideoAV1LoopFilterFlags,
640    pub loop_filter_level: [u8; 4usize],
641    pub loop_filter_sharpness: u8,
642    pub update_ref_delta: u8,
643    pub loop_filter_ref_deltas: [i8; 8usize],
644    pub update_mode_delta: u8,
645    pub loop_filter_mode_deltas: [i8; 2usize],
646}
647#[repr(C)]
648#[repr(align(4))]
649#[derive(Debug, Copy, Clone)]
650pub struct StdVideoAV1QuantizationFlags {
651    pub _bitfield_align_1: [u32; 0],
652    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
653}
654impl StdVideoAV1QuantizationFlags {
655    #[inline]
656    pub fn using_qmatrix(&self) -> u32 {
657        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
658    }
659    #[inline]
660    pub fn set_using_qmatrix(&mut self, val: u32) {
661        unsafe {
662            let val: u32 = ::core::mem::transmute(val);
663            self._bitfield_1.set(0usize, 1u8, val as u64)
664        }
665    }
666    #[inline]
667    pub fn diff_uv_delta(&self) -> u32 {
668        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
669    }
670    #[inline]
671    pub fn set_diff_uv_delta(&mut self, val: u32) {
672        unsafe {
673            let val: u32 = ::core::mem::transmute(val);
674            self._bitfield_1.set(1usize, 1u8, val as u64)
675        }
676    }
677    #[inline]
678    pub fn reserved(&self) -> u32 {
679        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
680    }
681    #[inline]
682    pub fn set_reserved(&mut self, val: u32) {
683        unsafe {
684            let val: u32 = ::core::mem::transmute(val);
685            self._bitfield_1.set(2usize, 30u8, val as u64)
686        }
687    }
688    #[inline]
689    pub fn new_bitfield_1(
690        using_qmatrix: u32,
691        diff_uv_delta: u32,
692        reserved: u32,
693    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
694        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
695        __bindgen_bitfield_unit.set(0usize, 1u8, {
696            let using_qmatrix: u32 = unsafe { ::core::mem::transmute(using_qmatrix) };
697            using_qmatrix as u64
698        });
699        __bindgen_bitfield_unit.set(1usize, 1u8, {
700            let diff_uv_delta: u32 = unsafe { ::core::mem::transmute(diff_uv_delta) };
701            diff_uv_delta as u64
702        });
703        __bindgen_bitfield_unit.set(2usize, 30u8, {
704            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
705            reserved as u64
706        });
707        __bindgen_bitfield_unit
708    }
709}
710#[repr(C)]
711#[derive(Debug, Copy, Clone)]
712pub struct StdVideoAV1Quantization {
713    pub flags: StdVideoAV1QuantizationFlags,
714    pub base_q_idx: u8,
715    pub DeltaQYDc: i8,
716    pub DeltaQUDc: i8,
717    pub DeltaQUAc: i8,
718    pub DeltaQVDc: i8,
719    pub DeltaQVAc: i8,
720    pub qm_y: u8,
721    pub qm_u: u8,
722    pub qm_v: u8,
723}
724#[repr(C)]
725#[derive(Debug, Copy, Clone)]
726pub struct StdVideoAV1Segmentation {
727    pub FeatureEnabled: [u8; 8usize],
728    pub FeatureData: [[i16; 8usize]; 8usize],
729}
730#[repr(C)]
731#[repr(align(4))]
732#[derive(Debug, Copy, Clone)]
733pub struct StdVideoAV1TileInfoFlags {
734    pub _bitfield_align_1: [u32; 0],
735    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
736}
737impl StdVideoAV1TileInfoFlags {
738    #[inline]
739    pub fn uniform_tile_spacing_flag(&self) -> u32 {
740        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
741    }
742    #[inline]
743    pub fn set_uniform_tile_spacing_flag(&mut self, val: u32) {
744        unsafe {
745            let val: u32 = ::core::mem::transmute(val);
746            self._bitfield_1.set(0usize, 1u8, val as u64)
747        }
748    }
749    #[inline]
750    pub fn reserved(&self) -> u32 {
751        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
752    }
753    #[inline]
754    pub fn set_reserved(&mut self, val: u32) {
755        unsafe {
756            let val: u32 = ::core::mem::transmute(val);
757            self._bitfield_1.set(1usize, 31u8, val as u64)
758        }
759    }
760    #[inline]
761    pub fn new_bitfield_1(
762        uniform_tile_spacing_flag: u32,
763        reserved: u32,
764    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
765        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
766        __bindgen_bitfield_unit.set(0usize, 1u8, {
767            let uniform_tile_spacing_flag: u32 =
768                unsafe { ::core::mem::transmute(uniform_tile_spacing_flag) };
769            uniform_tile_spacing_flag as u64
770        });
771        __bindgen_bitfield_unit.set(1usize, 31u8, {
772            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
773            reserved as u64
774        });
775        __bindgen_bitfield_unit
776    }
777}
778#[repr(C)]
779#[derive(Debug, Copy, Clone)]
780pub struct StdVideoAV1TileInfo {
781    pub flags: StdVideoAV1TileInfoFlags,
782    pub TileCols: u8,
783    pub TileRows: u8,
784    pub context_update_tile_id: u16,
785    pub tile_size_bytes_minus_1: u8,
786    pub reserved1: [u8; 7usize],
787    pub pMiColStarts: *const u16,
788    pub pMiRowStarts: *const u16,
789    pub pWidthInSbsMinus1: *const u16,
790    pub pHeightInSbsMinus1: *const u16,
791}
792#[repr(C)]
793#[derive(Debug, Copy, Clone)]
794pub struct StdVideoAV1CDEF {
795    pub cdef_damping_minus_3: u8,
796    pub cdef_bits: u8,
797    pub cdef_y_pri_strength: [u8; 8usize],
798    pub cdef_y_sec_strength: [u8; 8usize],
799    pub cdef_uv_pri_strength: [u8; 8usize],
800    pub cdef_uv_sec_strength: [u8; 8usize],
801}
802#[repr(C)]
803#[derive(Debug, Copy, Clone)]
804pub struct StdVideoAV1LoopRestoration {
805    pub FrameRestorationType: [StdVideoAV1FrameRestorationType; 3usize],
806    pub LoopRestorationSize: [u16; 3usize],
807}
808#[repr(C)]
809#[derive(Debug, Copy, Clone)]
810pub struct StdVideoAV1GlobalMotion {
811    pub GmType: [u8; 8usize],
812    pub gm_params: [[i32; 6usize]; 8usize],
813}
814#[repr(C)]
815#[repr(align(4))]
816#[derive(Debug, Copy, Clone)]
817pub struct StdVideoAV1FilmGrainFlags {
818    pub _bitfield_align_1: [u32; 0],
819    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
820}
821impl StdVideoAV1FilmGrainFlags {
822    #[inline]
823    pub fn chroma_scaling_from_luma(&self) -> u32 {
824        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
825    }
826    #[inline]
827    pub fn set_chroma_scaling_from_luma(&mut self, val: u32) {
828        unsafe {
829            let val: u32 = ::core::mem::transmute(val);
830            self._bitfield_1.set(0usize, 1u8, val as u64)
831        }
832    }
833    #[inline]
834    pub fn overlap_flag(&self) -> u32 {
835        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
836    }
837    #[inline]
838    pub fn set_overlap_flag(&mut self, val: u32) {
839        unsafe {
840            let val: u32 = ::core::mem::transmute(val);
841            self._bitfield_1.set(1usize, 1u8, val as u64)
842        }
843    }
844    #[inline]
845    pub fn clip_to_restricted_range(&self) -> u32 {
846        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
847    }
848    #[inline]
849    pub fn set_clip_to_restricted_range(&mut self, val: u32) {
850        unsafe {
851            let val: u32 = ::core::mem::transmute(val);
852            self._bitfield_1.set(2usize, 1u8, val as u64)
853        }
854    }
855    #[inline]
856    pub fn update_grain(&self) -> u32 {
857        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
858    }
859    #[inline]
860    pub fn set_update_grain(&mut self, val: u32) {
861        unsafe {
862            let val: u32 = ::core::mem::transmute(val);
863            self._bitfield_1.set(3usize, 1u8, val as u64)
864        }
865    }
866    #[inline]
867    pub fn reserved(&self) -> u32 {
868        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
869    }
870    #[inline]
871    pub fn set_reserved(&mut self, val: u32) {
872        unsafe {
873            let val: u32 = ::core::mem::transmute(val);
874            self._bitfield_1.set(4usize, 28u8, val as u64)
875        }
876    }
877    #[inline]
878    pub fn new_bitfield_1(
879        chroma_scaling_from_luma: u32,
880        overlap_flag: u32,
881        clip_to_restricted_range: u32,
882        update_grain: u32,
883        reserved: u32,
884    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
885        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
886        __bindgen_bitfield_unit.set(0usize, 1u8, {
887            let chroma_scaling_from_luma: u32 =
888                unsafe { ::core::mem::transmute(chroma_scaling_from_luma) };
889            chroma_scaling_from_luma as u64
890        });
891        __bindgen_bitfield_unit.set(1usize, 1u8, {
892            let overlap_flag: u32 = unsafe { ::core::mem::transmute(overlap_flag) };
893            overlap_flag as u64
894        });
895        __bindgen_bitfield_unit.set(2usize, 1u8, {
896            let clip_to_restricted_range: u32 =
897                unsafe { ::core::mem::transmute(clip_to_restricted_range) };
898            clip_to_restricted_range as u64
899        });
900        __bindgen_bitfield_unit.set(3usize, 1u8, {
901            let update_grain: u32 = unsafe { ::core::mem::transmute(update_grain) };
902            update_grain as u64
903        });
904        __bindgen_bitfield_unit.set(4usize, 28u8, {
905            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
906            reserved as u64
907        });
908        __bindgen_bitfield_unit
909    }
910}
911#[repr(C)]
912#[derive(Debug, Copy, Clone)]
913pub struct StdVideoAV1FilmGrain {
914    pub flags: StdVideoAV1FilmGrainFlags,
915    pub grain_scaling_minus_8: u8,
916    pub ar_coeff_lag: u8,
917    pub ar_coeff_shift_minus_6: u8,
918    pub grain_scale_shift: u8,
919    pub grain_seed: u16,
920    pub film_grain_params_ref_idx: u8,
921    pub num_y_points: u8,
922    pub point_y_value: [u8; 14usize],
923    pub point_y_scaling: [u8; 14usize],
924    pub num_cb_points: u8,
925    pub point_cb_value: [u8; 10usize],
926    pub point_cb_scaling: [u8; 10usize],
927    pub num_cr_points: u8,
928    pub point_cr_value: [u8; 10usize],
929    pub point_cr_scaling: [u8; 10usize],
930    pub ar_coeffs_y_plus_128: [i8; 24usize],
931    pub ar_coeffs_cb_plus_128: [i8; 25usize],
932    pub ar_coeffs_cr_plus_128: [i8; 25usize],
933    pub cb_mult: u8,
934    pub cb_luma_mult: u8,
935    pub cb_offset: u16,
936    pub cr_mult: u8,
937    pub cr_luma_mult: u8,
938    pub cr_offset: u16,
939}
940#[repr(C)]
941#[repr(align(4))]
942#[derive(Debug, Copy, Clone)]
943pub struct StdVideoAV1SequenceHeaderFlags {
944    pub _bitfield_align_1: [u16; 0],
945    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
946}
947impl StdVideoAV1SequenceHeaderFlags {
948    #[inline]
949    pub fn still_picture(&self) -> u32 {
950        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
951    }
952    #[inline]
953    pub fn set_still_picture(&mut self, val: u32) {
954        unsafe {
955            let val: u32 = ::core::mem::transmute(val);
956            self._bitfield_1.set(0usize, 1u8, val as u64)
957        }
958    }
959    #[inline]
960    pub fn reduced_still_picture_header(&self) -> u32 {
961        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
962    }
963    #[inline]
964    pub fn set_reduced_still_picture_header(&mut self, val: u32) {
965        unsafe {
966            let val: u32 = ::core::mem::transmute(val);
967            self._bitfield_1.set(1usize, 1u8, val as u64)
968        }
969    }
970    #[inline]
971    pub fn use_128x128_superblock(&self) -> u32 {
972        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
973    }
974    #[inline]
975    pub fn set_use_128x128_superblock(&mut self, val: u32) {
976        unsafe {
977            let val: u32 = ::core::mem::transmute(val);
978            self._bitfield_1.set(2usize, 1u8, val as u64)
979        }
980    }
981    #[inline]
982    pub fn enable_filter_intra(&self) -> u32 {
983        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
984    }
985    #[inline]
986    pub fn set_enable_filter_intra(&mut self, val: u32) {
987        unsafe {
988            let val: u32 = ::core::mem::transmute(val);
989            self._bitfield_1.set(3usize, 1u8, val as u64)
990        }
991    }
992    #[inline]
993    pub fn enable_intra_edge_filter(&self) -> u32 {
994        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
995    }
996    #[inline]
997    pub fn set_enable_intra_edge_filter(&mut self, val: u32) {
998        unsafe {
999            let val: u32 = ::core::mem::transmute(val);
1000            self._bitfield_1.set(4usize, 1u8, val as u64)
1001        }
1002    }
1003    #[inline]
1004    pub fn enable_interintra_compound(&self) -> u32 {
1005        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
1006    }
1007    #[inline]
1008    pub fn set_enable_interintra_compound(&mut self, val: u32) {
1009        unsafe {
1010            let val: u32 = ::core::mem::transmute(val);
1011            self._bitfield_1.set(5usize, 1u8, val as u64)
1012        }
1013    }
1014    #[inline]
1015    pub fn enable_masked_compound(&self) -> u32 {
1016        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
1017    }
1018    #[inline]
1019    pub fn set_enable_masked_compound(&mut self, val: u32) {
1020        unsafe {
1021            let val: u32 = ::core::mem::transmute(val);
1022            self._bitfield_1.set(6usize, 1u8, val as u64)
1023        }
1024    }
1025    #[inline]
1026    pub fn enable_warped_motion(&self) -> u32 {
1027        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
1028    }
1029    #[inline]
1030    pub fn set_enable_warped_motion(&mut self, val: u32) {
1031        unsafe {
1032            let val: u32 = ::core::mem::transmute(val);
1033            self._bitfield_1.set(7usize, 1u8, val as u64)
1034        }
1035    }
1036    #[inline]
1037    pub fn enable_dual_filter(&self) -> u32 {
1038        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
1039    }
1040    #[inline]
1041    pub fn set_enable_dual_filter(&mut self, val: u32) {
1042        unsafe {
1043            let val: u32 = ::core::mem::transmute(val);
1044            self._bitfield_1.set(8usize, 1u8, val as u64)
1045        }
1046    }
1047    #[inline]
1048    pub fn enable_order_hint(&self) -> u32 {
1049        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
1050    }
1051    #[inline]
1052    pub fn set_enable_order_hint(&mut self, val: u32) {
1053        unsafe {
1054            let val: u32 = ::core::mem::transmute(val);
1055            self._bitfield_1.set(9usize, 1u8, val as u64)
1056        }
1057    }
1058    #[inline]
1059    pub fn enable_jnt_comp(&self) -> u32 {
1060        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
1061    }
1062    #[inline]
1063    pub fn set_enable_jnt_comp(&mut self, val: u32) {
1064        unsafe {
1065            let val: u32 = ::core::mem::transmute(val);
1066            self._bitfield_1.set(10usize, 1u8, val as u64)
1067        }
1068    }
1069    #[inline]
1070    pub fn enable_ref_frame_mvs(&self) -> u32 {
1071        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
1072    }
1073    #[inline]
1074    pub fn set_enable_ref_frame_mvs(&mut self, val: u32) {
1075        unsafe {
1076            let val: u32 = ::core::mem::transmute(val);
1077            self._bitfield_1.set(11usize, 1u8, val as u64)
1078        }
1079    }
1080    #[inline]
1081    pub fn frame_id_numbers_present_flag(&self) -> u32 {
1082        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
1083    }
1084    #[inline]
1085    pub fn set_frame_id_numbers_present_flag(&mut self, val: u32) {
1086        unsafe {
1087            let val: u32 = ::core::mem::transmute(val);
1088            self._bitfield_1.set(12usize, 1u8, val as u64)
1089        }
1090    }
1091    #[inline]
1092    pub fn enable_superres(&self) -> u32 {
1093        unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
1094    }
1095    #[inline]
1096    pub fn set_enable_superres(&mut self, val: u32) {
1097        unsafe {
1098            let val: u32 = ::core::mem::transmute(val);
1099            self._bitfield_1.set(13usize, 1u8, val as u64)
1100        }
1101    }
1102    #[inline]
1103    pub fn enable_cdef(&self) -> u32 {
1104        unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
1105    }
1106    #[inline]
1107    pub fn set_enable_cdef(&mut self, val: u32) {
1108        unsafe {
1109            let val: u32 = ::core::mem::transmute(val);
1110            self._bitfield_1.set(14usize, 1u8, val as u64)
1111        }
1112    }
1113    #[inline]
1114    pub fn enable_restoration(&self) -> u32 {
1115        unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
1116    }
1117    #[inline]
1118    pub fn set_enable_restoration(&mut self, val: u32) {
1119        unsafe {
1120            let val: u32 = ::core::mem::transmute(val);
1121            self._bitfield_1.set(15usize, 1u8, val as u64)
1122        }
1123    }
1124    #[inline]
1125    pub fn film_grain_params_present(&self) -> u32 {
1126        unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
1127    }
1128    #[inline]
1129    pub fn set_film_grain_params_present(&mut self, val: u32) {
1130        unsafe {
1131            let val: u32 = ::core::mem::transmute(val);
1132            self._bitfield_1.set(16usize, 1u8, val as u64)
1133        }
1134    }
1135    #[inline]
1136    pub fn timing_info_present_flag(&self) -> u32 {
1137        unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
1138    }
1139    #[inline]
1140    pub fn set_timing_info_present_flag(&mut self, val: u32) {
1141        unsafe {
1142            let val: u32 = ::core::mem::transmute(val);
1143            self._bitfield_1.set(17usize, 1u8, val as u64)
1144        }
1145    }
1146    #[inline]
1147    pub fn initial_display_delay_present_flag(&self) -> u32 {
1148        unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
1149    }
1150    #[inline]
1151    pub fn set_initial_display_delay_present_flag(&mut self, val: u32) {
1152        unsafe {
1153            let val: u32 = ::core::mem::transmute(val);
1154            self._bitfield_1.set(18usize, 1u8, val as u64)
1155        }
1156    }
1157    #[inline]
1158    pub fn reserved(&self) -> u32 {
1159        unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 13u8) as u32) }
1160    }
1161    #[inline]
1162    pub fn set_reserved(&mut self, val: u32) {
1163        unsafe {
1164            let val: u32 = ::core::mem::transmute(val);
1165            self._bitfield_1.set(19usize, 13u8, val as u64)
1166        }
1167    }
1168    #[inline]
1169    pub fn new_bitfield_1(
1170        still_picture: u32,
1171        reduced_still_picture_header: u32,
1172        use_128x128_superblock: u32,
1173        enable_filter_intra: u32,
1174        enable_intra_edge_filter: u32,
1175        enable_interintra_compound: u32,
1176        enable_masked_compound: u32,
1177        enable_warped_motion: u32,
1178        enable_dual_filter: u32,
1179        enable_order_hint: u32,
1180        enable_jnt_comp: u32,
1181        enable_ref_frame_mvs: u32,
1182        frame_id_numbers_present_flag: u32,
1183        enable_superres: u32,
1184        enable_cdef: u32,
1185        enable_restoration: u32,
1186        film_grain_params_present: u32,
1187        timing_info_present_flag: u32,
1188        initial_display_delay_present_flag: u32,
1189        reserved: u32,
1190    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1191        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1192        __bindgen_bitfield_unit.set(0usize, 1u8, {
1193            let still_picture: u32 = unsafe { ::core::mem::transmute(still_picture) };
1194            still_picture as u64
1195        });
1196        __bindgen_bitfield_unit.set(1usize, 1u8, {
1197            let reduced_still_picture_header: u32 =
1198                unsafe { ::core::mem::transmute(reduced_still_picture_header) };
1199            reduced_still_picture_header as u64
1200        });
1201        __bindgen_bitfield_unit.set(2usize, 1u8, {
1202            let use_128x128_superblock: u32 =
1203                unsafe { ::core::mem::transmute(use_128x128_superblock) };
1204            use_128x128_superblock as u64
1205        });
1206        __bindgen_bitfield_unit.set(3usize, 1u8, {
1207            let enable_filter_intra: u32 = unsafe { ::core::mem::transmute(enable_filter_intra) };
1208            enable_filter_intra as u64
1209        });
1210        __bindgen_bitfield_unit.set(4usize, 1u8, {
1211            let enable_intra_edge_filter: u32 =
1212                unsafe { ::core::mem::transmute(enable_intra_edge_filter) };
1213            enable_intra_edge_filter as u64
1214        });
1215        __bindgen_bitfield_unit.set(5usize, 1u8, {
1216            let enable_interintra_compound: u32 =
1217                unsafe { ::core::mem::transmute(enable_interintra_compound) };
1218            enable_interintra_compound as u64
1219        });
1220        __bindgen_bitfield_unit.set(6usize, 1u8, {
1221            let enable_masked_compound: u32 =
1222                unsafe { ::core::mem::transmute(enable_masked_compound) };
1223            enable_masked_compound as u64
1224        });
1225        __bindgen_bitfield_unit.set(7usize, 1u8, {
1226            let enable_warped_motion: u32 = unsafe { ::core::mem::transmute(enable_warped_motion) };
1227            enable_warped_motion as u64
1228        });
1229        __bindgen_bitfield_unit.set(8usize, 1u8, {
1230            let enable_dual_filter: u32 = unsafe { ::core::mem::transmute(enable_dual_filter) };
1231            enable_dual_filter as u64
1232        });
1233        __bindgen_bitfield_unit.set(9usize, 1u8, {
1234            let enable_order_hint: u32 = unsafe { ::core::mem::transmute(enable_order_hint) };
1235            enable_order_hint as u64
1236        });
1237        __bindgen_bitfield_unit.set(10usize, 1u8, {
1238            let enable_jnt_comp: u32 = unsafe { ::core::mem::transmute(enable_jnt_comp) };
1239            enable_jnt_comp as u64
1240        });
1241        __bindgen_bitfield_unit.set(11usize, 1u8, {
1242            let enable_ref_frame_mvs: u32 = unsafe { ::core::mem::transmute(enable_ref_frame_mvs) };
1243            enable_ref_frame_mvs as u64
1244        });
1245        __bindgen_bitfield_unit.set(12usize, 1u8, {
1246            let frame_id_numbers_present_flag: u32 =
1247                unsafe { ::core::mem::transmute(frame_id_numbers_present_flag) };
1248            frame_id_numbers_present_flag as u64
1249        });
1250        __bindgen_bitfield_unit.set(13usize, 1u8, {
1251            let enable_superres: u32 = unsafe { ::core::mem::transmute(enable_superres) };
1252            enable_superres as u64
1253        });
1254        __bindgen_bitfield_unit.set(14usize, 1u8, {
1255            let enable_cdef: u32 = unsafe { ::core::mem::transmute(enable_cdef) };
1256            enable_cdef as u64
1257        });
1258        __bindgen_bitfield_unit.set(15usize, 1u8, {
1259            let enable_restoration: u32 = unsafe { ::core::mem::transmute(enable_restoration) };
1260            enable_restoration as u64
1261        });
1262        __bindgen_bitfield_unit.set(16usize, 1u8, {
1263            let film_grain_params_present: u32 =
1264                unsafe { ::core::mem::transmute(film_grain_params_present) };
1265            film_grain_params_present as u64
1266        });
1267        __bindgen_bitfield_unit.set(17usize, 1u8, {
1268            let timing_info_present_flag: u32 =
1269                unsafe { ::core::mem::transmute(timing_info_present_flag) };
1270            timing_info_present_flag as u64
1271        });
1272        __bindgen_bitfield_unit.set(18usize, 1u8, {
1273            let initial_display_delay_present_flag: u32 =
1274                unsafe { ::core::mem::transmute(initial_display_delay_present_flag) };
1275            initial_display_delay_present_flag as u64
1276        });
1277        __bindgen_bitfield_unit.set(19usize, 13u8, {
1278            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
1279            reserved as u64
1280        });
1281        __bindgen_bitfield_unit
1282    }
1283}
1284#[repr(C)]
1285#[derive(Debug, Copy, Clone)]
1286pub struct StdVideoAV1SequenceHeader {
1287    pub flags: StdVideoAV1SequenceHeaderFlags,
1288    pub seq_profile: StdVideoAV1Profile,
1289    pub frame_width_bits_minus_1: u8,
1290    pub frame_height_bits_minus_1: u8,
1291    pub max_frame_width_minus_1: u16,
1292    pub max_frame_height_minus_1: u16,
1293    pub delta_frame_id_length_minus_2: u8,
1294    pub additional_frame_id_length_minus_1: u8,
1295    pub order_hint_bits_minus_1: u8,
1296    pub seq_force_integer_mv: u8,
1297    pub seq_force_screen_content_tools: u8,
1298    pub reserved1: [u8; 5usize],
1299    pub pColorConfig: *const StdVideoAV1ColorConfig,
1300    pub pTimingInfo: *const StdVideoAV1TimingInfo,
1301}
1302#[repr(C)]
1303#[repr(align(4))]
1304#[derive(Debug, Copy, Clone)]
1305pub struct StdVideoDecodeAV1PictureInfoFlags {
1306    pub _bitfield_align_1: [u8; 0],
1307    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1308}
1309impl StdVideoDecodeAV1PictureInfoFlags {
1310    #[inline]
1311    pub fn error_resilient_mode(&self) -> u32 {
1312        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1313    }
1314    #[inline]
1315    pub fn set_error_resilient_mode(&mut self, val: u32) {
1316        unsafe {
1317            let val: u32 = ::core::mem::transmute(val);
1318            self._bitfield_1.set(0usize, 1u8, val as u64)
1319        }
1320    }
1321    #[inline]
1322    pub fn disable_cdf_update(&self) -> u32 {
1323        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
1324    }
1325    #[inline]
1326    pub fn set_disable_cdf_update(&mut self, val: u32) {
1327        unsafe {
1328            let val: u32 = ::core::mem::transmute(val);
1329            self._bitfield_1.set(1usize, 1u8, val as u64)
1330        }
1331    }
1332    #[inline]
1333    pub fn use_superres(&self) -> u32 {
1334        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
1335    }
1336    #[inline]
1337    pub fn set_use_superres(&mut self, val: u32) {
1338        unsafe {
1339            let val: u32 = ::core::mem::transmute(val);
1340            self._bitfield_1.set(2usize, 1u8, val as u64)
1341        }
1342    }
1343    #[inline]
1344    pub fn render_and_frame_size_different(&self) -> u32 {
1345        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
1346    }
1347    #[inline]
1348    pub fn set_render_and_frame_size_different(&mut self, val: u32) {
1349        unsafe {
1350            let val: u32 = ::core::mem::transmute(val);
1351            self._bitfield_1.set(3usize, 1u8, val as u64)
1352        }
1353    }
1354    #[inline]
1355    pub fn allow_screen_content_tools(&self) -> u32 {
1356        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
1357    }
1358    #[inline]
1359    pub fn set_allow_screen_content_tools(&mut self, val: u32) {
1360        unsafe {
1361            let val: u32 = ::core::mem::transmute(val);
1362            self._bitfield_1.set(4usize, 1u8, val as u64)
1363        }
1364    }
1365    #[inline]
1366    pub fn is_filter_switchable(&self) -> u32 {
1367        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
1368    }
1369    #[inline]
1370    pub fn set_is_filter_switchable(&mut self, val: u32) {
1371        unsafe {
1372            let val: u32 = ::core::mem::transmute(val);
1373            self._bitfield_1.set(5usize, 1u8, val as u64)
1374        }
1375    }
1376    #[inline]
1377    pub fn force_integer_mv(&self) -> u32 {
1378        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
1379    }
1380    #[inline]
1381    pub fn set_force_integer_mv(&mut self, val: u32) {
1382        unsafe {
1383            let val: u32 = ::core::mem::transmute(val);
1384            self._bitfield_1.set(6usize, 1u8, val as u64)
1385        }
1386    }
1387    #[inline]
1388    pub fn frame_size_override_flag(&self) -> u32 {
1389        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
1390    }
1391    #[inline]
1392    pub fn set_frame_size_override_flag(&mut self, val: u32) {
1393        unsafe {
1394            let val: u32 = ::core::mem::transmute(val);
1395            self._bitfield_1.set(7usize, 1u8, val as u64)
1396        }
1397    }
1398    #[inline]
1399    pub fn buffer_removal_time_present_flag(&self) -> u32 {
1400        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
1401    }
1402    #[inline]
1403    pub fn set_buffer_removal_time_present_flag(&mut self, val: u32) {
1404        unsafe {
1405            let val: u32 = ::core::mem::transmute(val);
1406            self._bitfield_1.set(8usize, 1u8, val as u64)
1407        }
1408    }
1409    #[inline]
1410    pub fn allow_intrabc(&self) -> u32 {
1411        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
1412    }
1413    #[inline]
1414    pub fn set_allow_intrabc(&mut self, val: u32) {
1415        unsafe {
1416            let val: u32 = ::core::mem::transmute(val);
1417            self._bitfield_1.set(9usize, 1u8, val as u64)
1418        }
1419    }
1420    #[inline]
1421    pub fn frame_refs_short_signaling(&self) -> u32 {
1422        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
1423    }
1424    #[inline]
1425    pub fn set_frame_refs_short_signaling(&mut self, val: u32) {
1426        unsafe {
1427            let val: u32 = ::core::mem::transmute(val);
1428            self._bitfield_1.set(10usize, 1u8, val as u64)
1429        }
1430    }
1431    #[inline]
1432    pub fn allow_high_precision_mv(&self) -> u32 {
1433        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
1434    }
1435    #[inline]
1436    pub fn set_allow_high_precision_mv(&mut self, val: u32) {
1437        unsafe {
1438            let val: u32 = ::core::mem::transmute(val);
1439            self._bitfield_1.set(11usize, 1u8, val as u64)
1440        }
1441    }
1442    #[inline]
1443    pub fn is_motion_mode_switchable(&self) -> u32 {
1444        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
1445    }
1446    #[inline]
1447    pub fn set_is_motion_mode_switchable(&mut self, val: u32) {
1448        unsafe {
1449            let val: u32 = ::core::mem::transmute(val);
1450            self._bitfield_1.set(12usize, 1u8, val as u64)
1451        }
1452    }
1453    #[inline]
1454    pub fn use_ref_frame_mvs(&self) -> u32 {
1455        unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
1456    }
1457    #[inline]
1458    pub fn set_use_ref_frame_mvs(&mut self, val: u32) {
1459        unsafe {
1460            let val: u32 = ::core::mem::transmute(val);
1461            self._bitfield_1.set(13usize, 1u8, val as u64)
1462        }
1463    }
1464    #[inline]
1465    pub fn disable_frame_end_update_cdf(&self) -> u32 {
1466        unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
1467    }
1468    #[inline]
1469    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
1470        unsafe {
1471            let val: u32 = ::core::mem::transmute(val);
1472            self._bitfield_1.set(14usize, 1u8, val as u64)
1473        }
1474    }
1475    #[inline]
1476    pub fn allow_warped_motion(&self) -> u32 {
1477        unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
1478    }
1479    #[inline]
1480    pub fn set_allow_warped_motion(&mut self, val: u32) {
1481        unsafe {
1482            let val: u32 = ::core::mem::transmute(val);
1483            self._bitfield_1.set(15usize, 1u8, val as u64)
1484        }
1485    }
1486    #[inline]
1487    pub fn reduced_tx_set(&self) -> u32 {
1488        unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
1489    }
1490    #[inline]
1491    pub fn set_reduced_tx_set(&mut self, val: u32) {
1492        unsafe {
1493            let val: u32 = ::core::mem::transmute(val);
1494            self._bitfield_1.set(16usize, 1u8, val as u64)
1495        }
1496    }
1497    #[inline]
1498    pub fn reference_select(&self) -> u32 {
1499        unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
1500    }
1501    #[inline]
1502    pub fn set_reference_select(&mut self, val: u32) {
1503        unsafe {
1504            let val: u32 = ::core::mem::transmute(val);
1505            self._bitfield_1.set(17usize, 1u8, val as u64)
1506        }
1507    }
1508    #[inline]
1509    pub fn skip_mode_present(&self) -> u32 {
1510        unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
1511    }
1512    #[inline]
1513    pub fn set_skip_mode_present(&mut self, val: u32) {
1514        unsafe {
1515            let val: u32 = ::core::mem::transmute(val);
1516            self._bitfield_1.set(18usize, 1u8, val as u64)
1517        }
1518    }
1519    #[inline]
1520    pub fn delta_q_present(&self) -> u32 {
1521        unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
1522    }
1523    #[inline]
1524    pub fn set_delta_q_present(&mut self, val: u32) {
1525        unsafe {
1526            let val: u32 = ::core::mem::transmute(val);
1527            self._bitfield_1.set(19usize, 1u8, val as u64)
1528        }
1529    }
1530    #[inline]
1531    pub fn delta_lf_present(&self) -> u32 {
1532        unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
1533    }
1534    #[inline]
1535    pub fn set_delta_lf_present(&mut self, val: u32) {
1536        unsafe {
1537            let val: u32 = ::core::mem::transmute(val);
1538            self._bitfield_1.set(20usize, 1u8, val as u64)
1539        }
1540    }
1541    #[inline]
1542    pub fn delta_lf_multi(&self) -> u32 {
1543        unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
1544    }
1545    #[inline]
1546    pub fn set_delta_lf_multi(&mut self, val: u32) {
1547        unsafe {
1548            let val: u32 = ::core::mem::transmute(val);
1549            self._bitfield_1.set(21usize, 1u8, val as u64)
1550        }
1551    }
1552    #[inline]
1553    pub fn segmentation_enabled(&self) -> u32 {
1554        unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
1555    }
1556    #[inline]
1557    pub fn set_segmentation_enabled(&mut self, val: u32) {
1558        unsafe {
1559            let val: u32 = ::core::mem::transmute(val);
1560            self._bitfield_1.set(22usize, 1u8, val as u64)
1561        }
1562    }
1563    #[inline]
1564    pub fn segmentation_update_map(&self) -> u32 {
1565        unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
1566    }
1567    #[inline]
1568    pub fn set_segmentation_update_map(&mut self, val: u32) {
1569        unsafe {
1570            let val: u32 = ::core::mem::transmute(val);
1571            self._bitfield_1.set(23usize, 1u8, val as u64)
1572        }
1573    }
1574    #[inline]
1575    pub fn segmentation_temporal_update(&self) -> u32 {
1576        unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
1577    }
1578    #[inline]
1579    pub fn set_segmentation_temporal_update(&mut self, val: u32) {
1580        unsafe {
1581            let val: u32 = ::core::mem::transmute(val);
1582            self._bitfield_1.set(24usize, 1u8, val as u64)
1583        }
1584    }
1585    #[inline]
1586    pub fn segmentation_update_data(&self) -> u32 {
1587        unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
1588    }
1589    #[inline]
1590    pub fn set_segmentation_update_data(&mut self, val: u32) {
1591        unsafe {
1592            let val: u32 = ::core::mem::transmute(val);
1593            self._bitfield_1.set(25usize, 1u8, val as u64)
1594        }
1595    }
1596    #[inline]
1597    pub fn UsesLr(&self) -> u32 {
1598        unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
1599    }
1600    #[inline]
1601    pub fn set_UsesLr(&mut self, val: u32) {
1602        unsafe {
1603            let val: u32 = ::core::mem::transmute(val);
1604            self._bitfield_1.set(26usize, 1u8, val as u64)
1605        }
1606    }
1607    #[inline]
1608    pub fn usesChromaLr(&self) -> u32 {
1609        unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
1610    }
1611    #[inline]
1612    pub fn set_usesChromaLr(&mut self, val: u32) {
1613        unsafe {
1614            let val: u32 = ::core::mem::transmute(val);
1615            self._bitfield_1.set(27usize, 1u8, val as u64)
1616        }
1617    }
1618    #[inline]
1619    pub fn apply_grain(&self) -> u32 {
1620        unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
1621    }
1622    #[inline]
1623    pub fn set_apply_grain(&mut self, val: u32) {
1624        unsafe {
1625            let val: u32 = ::core::mem::transmute(val);
1626            self._bitfield_1.set(28usize, 1u8, val as u64)
1627        }
1628    }
1629    #[inline]
1630    pub fn reserved(&self) -> u32 {
1631        unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 3u8) as u32) }
1632    }
1633    #[inline]
1634    pub fn set_reserved(&mut self, val: u32) {
1635        unsafe {
1636            let val: u32 = ::core::mem::transmute(val);
1637            self._bitfield_1.set(29usize, 3u8, val as u64)
1638        }
1639    }
1640    #[inline]
1641    pub fn new_bitfield_1(
1642        error_resilient_mode: u32,
1643        disable_cdf_update: u32,
1644        use_superres: u32,
1645        render_and_frame_size_different: u32,
1646        allow_screen_content_tools: u32,
1647        is_filter_switchable: u32,
1648        force_integer_mv: u32,
1649        frame_size_override_flag: u32,
1650        buffer_removal_time_present_flag: u32,
1651        allow_intrabc: u32,
1652        frame_refs_short_signaling: u32,
1653        allow_high_precision_mv: u32,
1654        is_motion_mode_switchable: u32,
1655        use_ref_frame_mvs: u32,
1656        disable_frame_end_update_cdf: u32,
1657        allow_warped_motion: u32,
1658        reduced_tx_set: u32,
1659        reference_select: u32,
1660        skip_mode_present: u32,
1661        delta_q_present: u32,
1662        delta_lf_present: u32,
1663        delta_lf_multi: u32,
1664        segmentation_enabled: u32,
1665        segmentation_update_map: u32,
1666        segmentation_temporal_update: u32,
1667        segmentation_update_data: u32,
1668        UsesLr: u32,
1669        usesChromaLr: u32,
1670        apply_grain: u32,
1671        reserved: u32,
1672    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1673        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1674        __bindgen_bitfield_unit.set(0usize, 1u8, {
1675            let error_resilient_mode: u32 = unsafe { ::core::mem::transmute(error_resilient_mode) };
1676            error_resilient_mode as u64
1677        });
1678        __bindgen_bitfield_unit.set(1usize, 1u8, {
1679            let disable_cdf_update: u32 = unsafe { ::core::mem::transmute(disable_cdf_update) };
1680            disable_cdf_update as u64
1681        });
1682        __bindgen_bitfield_unit.set(2usize, 1u8, {
1683            let use_superres: u32 = unsafe { ::core::mem::transmute(use_superres) };
1684            use_superres as u64
1685        });
1686        __bindgen_bitfield_unit.set(3usize, 1u8, {
1687            let render_and_frame_size_different: u32 =
1688                unsafe { ::core::mem::transmute(render_and_frame_size_different) };
1689            render_and_frame_size_different as u64
1690        });
1691        __bindgen_bitfield_unit.set(4usize, 1u8, {
1692            let allow_screen_content_tools: u32 =
1693                unsafe { ::core::mem::transmute(allow_screen_content_tools) };
1694            allow_screen_content_tools as u64
1695        });
1696        __bindgen_bitfield_unit.set(5usize, 1u8, {
1697            let is_filter_switchable: u32 = unsafe { ::core::mem::transmute(is_filter_switchable) };
1698            is_filter_switchable as u64
1699        });
1700        __bindgen_bitfield_unit.set(6usize, 1u8, {
1701            let force_integer_mv: u32 = unsafe { ::core::mem::transmute(force_integer_mv) };
1702            force_integer_mv as u64
1703        });
1704        __bindgen_bitfield_unit.set(7usize, 1u8, {
1705            let frame_size_override_flag: u32 =
1706                unsafe { ::core::mem::transmute(frame_size_override_flag) };
1707            frame_size_override_flag as u64
1708        });
1709        __bindgen_bitfield_unit.set(8usize, 1u8, {
1710            let buffer_removal_time_present_flag: u32 =
1711                unsafe { ::core::mem::transmute(buffer_removal_time_present_flag) };
1712            buffer_removal_time_present_flag as u64
1713        });
1714        __bindgen_bitfield_unit.set(9usize, 1u8, {
1715            let allow_intrabc: u32 = unsafe { ::core::mem::transmute(allow_intrabc) };
1716            allow_intrabc as u64
1717        });
1718        __bindgen_bitfield_unit.set(10usize, 1u8, {
1719            let frame_refs_short_signaling: u32 =
1720                unsafe { ::core::mem::transmute(frame_refs_short_signaling) };
1721            frame_refs_short_signaling as u64
1722        });
1723        __bindgen_bitfield_unit.set(11usize, 1u8, {
1724            let allow_high_precision_mv: u32 =
1725                unsafe { ::core::mem::transmute(allow_high_precision_mv) };
1726            allow_high_precision_mv as u64
1727        });
1728        __bindgen_bitfield_unit.set(12usize, 1u8, {
1729            let is_motion_mode_switchable: u32 =
1730                unsafe { ::core::mem::transmute(is_motion_mode_switchable) };
1731            is_motion_mode_switchable as u64
1732        });
1733        __bindgen_bitfield_unit.set(13usize, 1u8, {
1734            let use_ref_frame_mvs: u32 = unsafe { ::core::mem::transmute(use_ref_frame_mvs) };
1735            use_ref_frame_mvs as u64
1736        });
1737        __bindgen_bitfield_unit.set(14usize, 1u8, {
1738            let disable_frame_end_update_cdf: u32 =
1739                unsafe { ::core::mem::transmute(disable_frame_end_update_cdf) };
1740            disable_frame_end_update_cdf as u64
1741        });
1742        __bindgen_bitfield_unit.set(15usize, 1u8, {
1743            let allow_warped_motion: u32 = unsafe { ::core::mem::transmute(allow_warped_motion) };
1744            allow_warped_motion as u64
1745        });
1746        __bindgen_bitfield_unit.set(16usize, 1u8, {
1747            let reduced_tx_set: u32 = unsafe { ::core::mem::transmute(reduced_tx_set) };
1748            reduced_tx_set as u64
1749        });
1750        __bindgen_bitfield_unit.set(17usize, 1u8, {
1751            let reference_select: u32 = unsafe { ::core::mem::transmute(reference_select) };
1752            reference_select as u64
1753        });
1754        __bindgen_bitfield_unit.set(18usize, 1u8, {
1755            let skip_mode_present: u32 = unsafe { ::core::mem::transmute(skip_mode_present) };
1756            skip_mode_present as u64
1757        });
1758        __bindgen_bitfield_unit.set(19usize, 1u8, {
1759            let delta_q_present: u32 = unsafe { ::core::mem::transmute(delta_q_present) };
1760            delta_q_present as u64
1761        });
1762        __bindgen_bitfield_unit.set(20usize, 1u8, {
1763            let delta_lf_present: u32 = unsafe { ::core::mem::transmute(delta_lf_present) };
1764            delta_lf_present as u64
1765        });
1766        __bindgen_bitfield_unit.set(21usize, 1u8, {
1767            let delta_lf_multi: u32 = unsafe { ::core::mem::transmute(delta_lf_multi) };
1768            delta_lf_multi as u64
1769        });
1770        __bindgen_bitfield_unit.set(22usize, 1u8, {
1771            let segmentation_enabled: u32 = unsafe { ::core::mem::transmute(segmentation_enabled) };
1772            segmentation_enabled as u64
1773        });
1774        __bindgen_bitfield_unit.set(23usize, 1u8, {
1775            let segmentation_update_map: u32 =
1776                unsafe { ::core::mem::transmute(segmentation_update_map) };
1777            segmentation_update_map as u64
1778        });
1779        __bindgen_bitfield_unit.set(24usize, 1u8, {
1780            let segmentation_temporal_update: u32 =
1781                unsafe { ::core::mem::transmute(segmentation_temporal_update) };
1782            segmentation_temporal_update as u64
1783        });
1784        __bindgen_bitfield_unit.set(25usize, 1u8, {
1785            let segmentation_update_data: u32 =
1786                unsafe { ::core::mem::transmute(segmentation_update_data) };
1787            segmentation_update_data as u64
1788        });
1789        __bindgen_bitfield_unit.set(26usize, 1u8, {
1790            let UsesLr: u32 = unsafe { ::core::mem::transmute(UsesLr) };
1791            UsesLr as u64
1792        });
1793        __bindgen_bitfield_unit.set(27usize, 1u8, {
1794            let usesChromaLr: u32 = unsafe { ::core::mem::transmute(usesChromaLr) };
1795            usesChromaLr as u64
1796        });
1797        __bindgen_bitfield_unit.set(28usize, 1u8, {
1798            let apply_grain: u32 = unsafe { ::core::mem::transmute(apply_grain) };
1799            apply_grain as u64
1800        });
1801        __bindgen_bitfield_unit.set(29usize, 3u8, {
1802            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
1803            reserved as u64
1804        });
1805        __bindgen_bitfield_unit
1806    }
1807}
1808#[repr(C)]
1809#[derive(Debug, Copy, Clone)]
1810pub struct StdVideoDecodeAV1PictureInfo {
1811    pub flags: StdVideoDecodeAV1PictureInfoFlags,
1812    pub frame_type: StdVideoAV1FrameType,
1813    pub current_frame_id: u32,
1814    pub OrderHint: u8,
1815    pub primary_ref_frame: u8,
1816    pub refresh_frame_flags: u8,
1817    pub reserved1: u8,
1818    pub interpolation_filter: StdVideoAV1InterpolationFilter,
1819    pub TxMode: StdVideoAV1TxMode,
1820    pub delta_q_res: u8,
1821    pub delta_lf_res: u8,
1822    pub SkipModeFrame: [u8; 2usize],
1823    pub coded_denom: u8,
1824    pub reserved2: [u8; 3usize],
1825    pub OrderHints: [u8; 8usize],
1826    pub expectedFrameId: [u32; 8usize],
1827    pub pTileInfo: *const StdVideoAV1TileInfo,
1828    pub pQuantization: *const StdVideoAV1Quantization,
1829    pub pSegmentation: *const StdVideoAV1Segmentation,
1830    pub pLoopFilter: *const StdVideoAV1LoopFilter,
1831    pub pCDEF: *const StdVideoAV1CDEF,
1832    pub pLoopRestoration: *const StdVideoAV1LoopRestoration,
1833    pub pGlobalMotion: *const StdVideoAV1GlobalMotion,
1834    pub pFilmGrain: *const StdVideoAV1FilmGrain,
1835}
1836#[repr(C)]
1837#[repr(align(4))]
1838#[derive(Debug, Copy, Clone)]
1839pub struct StdVideoDecodeAV1ReferenceInfoFlags {
1840    pub _bitfield_align_1: [u32; 0],
1841    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1842}
1843impl StdVideoDecodeAV1ReferenceInfoFlags {
1844    #[inline]
1845    pub fn disable_frame_end_update_cdf(&self) -> u32 {
1846        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1847    }
1848    #[inline]
1849    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
1850        unsafe {
1851            let val: u32 = ::core::mem::transmute(val);
1852            self._bitfield_1.set(0usize, 1u8, val as u64)
1853        }
1854    }
1855    #[inline]
1856    pub fn segmentation_enabled(&self) -> u32 {
1857        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
1858    }
1859    #[inline]
1860    pub fn set_segmentation_enabled(&mut self, val: u32) {
1861        unsafe {
1862            let val: u32 = ::core::mem::transmute(val);
1863            self._bitfield_1.set(1usize, 1u8, val as u64)
1864        }
1865    }
1866    #[inline]
1867    pub fn reserved(&self) -> u32 {
1868        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
1869    }
1870    #[inline]
1871    pub fn set_reserved(&mut self, val: u32) {
1872        unsafe {
1873            let val: u32 = ::core::mem::transmute(val);
1874            self._bitfield_1.set(2usize, 30u8, val as u64)
1875        }
1876    }
1877    #[inline]
1878    pub fn new_bitfield_1(
1879        disable_frame_end_update_cdf: u32,
1880        segmentation_enabled: u32,
1881        reserved: u32,
1882    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1883        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1884        __bindgen_bitfield_unit.set(0usize, 1u8, {
1885            let disable_frame_end_update_cdf: u32 =
1886                unsafe { ::core::mem::transmute(disable_frame_end_update_cdf) };
1887            disable_frame_end_update_cdf as u64
1888        });
1889        __bindgen_bitfield_unit.set(1usize, 1u8, {
1890            let segmentation_enabled: u32 = unsafe { ::core::mem::transmute(segmentation_enabled) };
1891            segmentation_enabled as u64
1892        });
1893        __bindgen_bitfield_unit.set(2usize, 30u8, {
1894            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
1895            reserved as u64
1896        });
1897        __bindgen_bitfield_unit
1898    }
1899}
1900#[repr(C)]
1901#[derive(Debug, Copy, Clone)]
1902pub struct StdVideoDecodeAV1ReferenceInfo {
1903    pub flags: StdVideoDecodeAV1ReferenceInfoFlags,
1904    pub frame_type: u8,
1905    pub RefFrameSignBias: u8,
1906    pub OrderHint: u8,
1907    pub SavedOrderHints: [u8; 8usize],
1908}
1909#[repr(C)]
1910#[derive(Debug, Copy, Clone)]
1911pub struct StdVideoEncodeAV1DecoderModelInfo {
1912    pub buffer_delay_length_minus_1: u8,
1913    pub buffer_removal_time_length_minus_1: u8,
1914    pub frame_presentation_time_length_minus_1: u8,
1915    pub reserved1: u8,
1916    pub num_units_in_decoding_tick: u32,
1917}
1918#[repr(C)]
1919#[derive(Debug, Copy, Clone)]
1920pub struct StdVideoEncodeAV1ExtensionHeader {
1921    pub temporal_id: u8,
1922    pub spatial_id: u8,
1923}
1924#[repr(C)]
1925#[repr(align(4))]
1926#[derive(Debug, Copy, Clone)]
1927pub struct StdVideoEncodeAV1OperatingPointInfoFlags {
1928    pub _bitfield_align_1: [u32; 0],
1929    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1930}
1931impl StdVideoEncodeAV1OperatingPointInfoFlags {
1932    #[inline]
1933    pub fn decoder_model_present_for_this_op(&self) -> u32 {
1934        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1935    }
1936    #[inline]
1937    pub fn set_decoder_model_present_for_this_op(&mut self, val: u32) {
1938        unsafe {
1939            let val: u32 = ::core::mem::transmute(val);
1940            self._bitfield_1.set(0usize, 1u8, val as u64)
1941        }
1942    }
1943    #[inline]
1944    pub fn low_delay_mode_flag(&self) -> u32 {
1945        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
1946    }
1947    #[inline]
1948    pub fn set_low_delay_mode_flag(&mut self, val: u32) {
1949        unsafe {
1950            let val: u32 = ::core::mem::transmute(val);
1951            self._bitfield_1.set(1usize, 1u8, val as u64)
1952        }
1953    }
1954    #[inline]
1955    pub fn initial_display_delay_present_for_this_op(&self) -> u32 {
1956        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
1957    }
1958    #[inline]
1959    pub fn set_initial_display_delay_present_for_this_op(&mut self, val: u32) {
1960        unsafe {
1961            let val: u32 = ::core::mem::transmute(val);
1962            self._bitfield_1.set(2usize, 1u8, val as u64)
1963        }
1964    }
1965    #[inline]
1966    pub fn reserved(&self) -> u32 {
1967        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
1968    }
1969    #[inline]
1970    pub fn set_reserved(&mut self, val: u32) {
1971        unsafe {
1972            let val: u32 = ::core::mem::transmute(val);
1973            self._bitfield_1.set(3usize, 29u8, val as u64)
1974        }
1975    }
1976    #[inline]
1977    pub fn new_bitfield_1(
1978        decoder_model_present_for_this_op: u32,
1979        low_delay_mode_flag: u32,
1980        initial_display_delay_present_for_this_op: u32,
1981        reserved: u32,
1982    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1983        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1984        __bindgen_bitfield_unit.set(0usize, 1u8, {
1985            let decoder_model_present_for_this_op: u32 =
1986                unsafe { ::core::mem::transmute(decoder_model_present_for_this_op) };
1987            decoder_model_present_for_this_op as u64
1988        });
1989        __bindgen_bitfield_unit.set(1usize, 1u8, {
1990            let low_delay_mode_flag: u32 = unsafe { ::core::mem::transmute(low_delay_mode_flag) };
1991            low_delay_mode_flag as u64
1992        });
1993        __bindgen_bitfield_unit.set(2usize, 1u8, {
1994            let initial_display_delay_present_for_this_op: u32 =
1995                unsafe { ::core::mem::transmute(initial_display_delay_present_for_this_op) };
1996            initial_display_delay_present_for_this_op as u64
1997        });
1998        __bindgen_bitfield_unit.set(3usize, 29u8, {
1999            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
2000            reserved as u64
2001        });
2002        __bindgen_bitfield_unit
2003    }
2004}
2005#[repr(C)]
2006#[derive(Debug, Copy, Clone)]
2007pub struct StdVideoEncodeAV1OperatingPointInfo {
2008    pub flags: StdVideoEncodeAV1OperatingPointInfoFlags,
2009    pub operating_point_idc: u16,
2010    pub seq_level_idx: u8,
2011    pub seq_tier: u8,
2012    pub decoder_buffer_delay: u32,
2013    pub encoder_buffer_delay: u32,
2014    pub initial_display_delay_minus_1: u8,
2015}
2016#[repr(C)]
2017#[repr(align(4))]
2018#[derive(Debug, Copy, Clone)]
2019pub struct StdVideoEncodeAV1PictureInfoFlags {
2020    pub _bitfield_align_1: [u8; 0],
2021    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2022}
2023impl StdVideoEncodeAV1PictureInfoFlags {
2024    #[inline]
2025    pub fn error_resilient_mode(&self) -> u32 {
2026        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2027    }
2028    #[inline]
2029    pub fn set_error_resilient_mode(&mut self, val: u32) {
2030        unsafe {
2031            let val: u32 = ::core::mem::transmute(val);
2032            self._bitfield_1.set(0usize, 1u8, val as u64)
2033        }
2034    }
2035    #[inline]
2036    pub fn disable_cdf_update(&self) -> u32 {
2037        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
2038    }
2039    #[inline]
2040    pub fn set_disable_cdf_update(&mut self, val: u32) {
2041        unsafe {
2042            let val: u32 = ::core::mem::transmute(val);
2043            self._bitfield_1.set(1usize, 1u8, val as u64)
2044        }
2045    }
2046    #[inline]
2047    pub fn use_superres(&self) -> u32 {
2048        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
2049    }
2050    #[inline]
2051    pub fn set_use_superres(&mut self, val: u32) {
2052        unsafe {
2053            let val: u32 = ::core::mem::transmute(val);
2054            self._bitfield_1.set(2usize, 1u8, val as u64)
2055        }
2056    }
2057    #[inline]
2058    pub fn render_and_frame_size_different(&self) -> u32 {
2059        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
2060    }
2061    #[inline]
2062    pub fn set_render_and_frame_size_different(&mut self, val: u32) {
2063        unsafe {
2064            let val: u32 = ::core::mem::transmute(val);
2065            self._bitfield_1.set(3usize, 1u8, val as u64)
2066        }
2067    }
2068    #[inline]
2069    pub fn allow_screen_content_tools(&self) -> u32 {
2070        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
2071    }
2072    #[inline]
2073    pub fn set_allow_screen_content_tools(&mut self, val: u32) {
2074        unsafe {
2075            let val: u32 = ::core::mem::transmute(val);
2076            self._bitfield_1.set(4usize, 1u8, val as u64)
2077        }
2078    }
2079    #[inline]
2080    pub fn is_filter_switchable(&self) -> u32 {
2081        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
2082    }
2083    #[inline]
2084    pub fn set_is_filter_switchable(&mut self, val: u32) {
2085        unsafe {
2086            let val: u32 = ::core::mem::transmute(val);
2087            self._bitfield_1.set(5usize, 1u8, val as u64)
2088        }
2089    }
2090    #[inline]
2091    pub fn force_integer_mv(&self) -> u32 {
2092        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
2093    }
2094    #[inline]
2095    pub fn set_force_integer_mv(&mut self, val: u32) {
2096        unsafe {
2097            let val: u32 = ::core::mem::transmute(val);
2098            self._bitfield_1.set(6usize, 1u8, val as u64)
2099        }
2100    }
2101    #[inline]
2102    pub fn frame_size_override_flag(&self) -> u32 {
2103        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
2104    }
2105    #[inline]
2106    pub fn set_frame_size_override_flag(&mut self, val: u32) {
2107        unsafe {
2108            let val: u32 = ::core::mem::transmute(val);
2109            self._bitfield_1.set(7usize, 1u8, val as u64)
2110        }
2111    }
2112    #[inline]
2113    pub fn buffer_removal_time_present_flag(&self) -> u32 {
2114        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
2115    }
2116    #[inline]
2117    pub fn set_buffer_removal_time_present_flag(&mut self, val: u32) {
2118        unsafe {
2119            let val: u32 = ::core::mem::transmute(val);
2120            self._bitfield_1.set(8usize, 1u8, val as u64)
2121        }
2122    }
2123    #[inline]
2124    pub fn allow_intrabc(&self) -> u32 {
2125        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
2126    }
2127    #[inline]
2128    pub fn set_allow_intrabc(&mut self, val: u32) {
2129        unsafe {
2130            let val: u32 = ::core::mem::transmute(val);
2131            self._bitfield_1.set(9usize, 1u8, val as u64)
2132        }
2133    }
2134    #[inline]
2135    pub fn frame_refs_short_signaling(&self) -> u32 {
2136        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
2137    }
2138    #[inline]
2139    pub fn set_frame_refs_short_signaling(&mut self, val: u32) {
2140        unsafe {
2141            let val: u32 = ::core::mem::transmute(val);
2142            self._bitfield_1.set(10usize, 1u8, val as u64)
2143        }
2144    }
2145    #[inline]
2146    pub fn allow_high_precision_mv(&self) -> u32 {
2147        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
2148    }
2149    #[inline]
2150    pub fn set_allow_high_precision_mv(&mut self, val: u32) {
2151        unsafe {
2152            let val: u32 = ::core::mem::transmute(val);
2153            self._bitfield_1.set(11usize, 1u8, val as u64)
2154        }
2155    }
2156    #[inline]
2157    pub fn is_motion_mode_switchable(&self) -> u32 {
2158        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
2159    }
2160    #[inline]
2161    pub fn set_is_motion_mode_switchable(&mut self, val: u32) {
2162        unsafe {
2163            let val: u32 = ::core::mem::transmute(val);
2164            self._bitfield_1.set(12usize, 1u8, val as u64)
2165        }
2166    }
2167    #[inline]
2168    pub fn use_ref_frame_mvs(&self) -> u32 {
2169        unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
2170    }
2171    #[inline]
2172    pub fn set_use_ref_frame_mvs(&mut self, val: u32) {
2173        unsafe {
2174            let val: u32 = ::core::mem::transmute(val);
2175            self._bitfield_1.set(13usize, 1u8, val as u64)
2176        }
2177    }
2178    #[inline]
2179    pub fn disable_frame_end_update_cdf(&self) -> u32 {
2180        unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
2181    }
2182    #[inline]
2183    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
2184        unsafe {
2185            let val: u32 = ::core::mem::transmute(val);
2186            self._bitfield_1.set(14usize, 1u8, val as u64)
2187        }
2188    }
2189    #[inline]
2190    pub fn allow_warped_motion(&self) -> u32 {
2191        unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
2192    }
2193    #[inline]
2194    pub fn set_allow_warped_motion(&mut self, val: u32) {
2195        unsafe {
2196            let val: u32 = ::core::mem::transmute(val);
2197            self._bitfield_1.set(15usize, 1u8, val as u64)
2198        }
2199    }
2200    #[inline]
2201    pub fn reduced_tx_set(&self) -> u32 {
2202        unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
2203    }
2204    #[inline]
2205    pub fn set_reduced_tx_set(&mut self, val: u32) {
2206        unsafe {
2207            let val: u32 = ::core::mem::transmute(val);
2208            self._bitfield_1.set(16usize, 1u8, val as u64)
2209        }
2210    }
2211    #[inline]
2212    pub fn skip_mode_present(&self) -> u32 {
2213        unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
2214    }
2215    #[inline]
2216    pub fn set_skip_mode_present(&mut self, val: u32) {
2217        unsafe {
2218            let val: u32 = ::core::mem::transmute(val);
2219            self._bitfield_1.set(17usize, 1u8, val as u64)
2220        }
2221    }
2222    #[inline]
2223    pub fn delta_q_present(&self) -> u32 {
2224        unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
2225    }
2226    #[inline]
2227    pub fn set_delta_q_present(&mut self, val: u32) {
2228        unsafe {
2229            let val: u32 = ::core::mem::transmute(val);
2230            self._bitfield_1.set(18usize, 1u8, val as u64)
2231        }
2232    }
2233    #[inline]
2234    pub fn delta_lf_present(&self) -> u32 {
2235        unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
2236    }
2237    #[inline]
2238    pub fn set_delta_lf_present(&mut self, val: u32) {
2239        unsafe {
2240            let val: u32 = ::core::mem::transmute(val);
2241            self._bitfield_1.set(19usize, 1u8, val as u64)
2242        }
2243    }
2244    #[inline]
2245    pub fn delta_lf_multi(&self) -> u32 {
2246        unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
2247    }
2248    #[inline]
2249    pub fn set_delta_lf_multi(&mut self, val: u32) {
2250        unsafe {
2251            let val: u32 = ::core::mem::transmute(val);
2252            self._bitfield_1.set(20usize, 1u8, val as u64)
2253        }
2254    }
2255    #[inline]
2256    pub fn segmentation_enabled(&self) -> u32 {
2257        unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
2258    }
2259    #[inline]
2260    pub fn set_segmentation_enabled(&mut self, val: u32) {
2261        unsafe {
2262            let val: u32 = ::core::mem::transmute(val);
2263            self._bitfield_1.set(21usize, 1u8, val as u64)
2264        }
2265    }
2266    #[inline]
2267    pub fn segmentation_update_map(&self) -> u32 {
2268        unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
2269    }
2270    #[inline]
2271    pub fn set_segmentation_update_map(&mut self, val: u32) {
2272        unsafe {
2273            let val: u32 = ::core::mem::transmute(val);
2274            self._bitfield_1.set(22usize, 1u8, val as u64)
2275        }
2276    }
2277    #[inline]
2278    pub fn segmentation_temporal_update(&self) -> u32 {
2279        unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
2280    }
2281    #[inline]
2282    pub fn set_segmentation_temporal_update(&mut self, val: u32) {
2283        unsafe {
2284            let val: u32 = ::core::mem::transmute(val);
2285            self._bitfield_1.set(23usize, 1u8, val as u64)
2286        }
2287    }
2288    #[inline]
2289    pub fn segmentation_update_data(&self) -> u32 {
2290        unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
2291    }
2292    #[inline]
2293    pub fn set_segmentation_update_data(&mut self, val: u32) {
2294        unsafe {
2295            let val: u32 = ::core::mem::transmute(val);
2296            self._bitfield_1.set(24usize, 1u8, val as u64)
2297        }
2298    }
2299    #[inline]
2300    pub fn UsesLr(&self) -> u32 {
2301        unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
2302    }
2303    #[inline]
2304    pub fn set_UsesLr(&mut self, val: u32) {
2305        unsafe {
2306            let val: u32 = ::core::mem::transmute(val);
2307            self._bitfield_1.set(25usize, 1u8, val as u64)
2308        }
2309    }
2310    #[inline]
2311    pub fn usesChromaLr(&self) -> u32 {
2312        unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
2313    }
2314    #[inline]
2315    pub fn set_usesChromaLr(&mut self, val: u32) {
2316        unsafe {
2317            let val: u32 = ::core::mem::transmute(val);
2318            self._bitfield_1.set(26usize, 1u8, val as u64)
2319        }
2320    }
2321    #[inline]
2322    pub fn show_frame(&self) -> u32 {
2323        unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
2324    }
2325    #[inline]
2326    pub fn set_show_frame(&mut self, val: u32) {
2327        unsafe {
2328            let val: u32 = ::core::mem::transmute(val);
2329            self._bitfield_1.set(27usize, 1u8, val as u64)
2330        }
2331    }
2332    #[inline]
2333    pub fn showable_frame(&self) -> u32 {
2334        unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
2335    }
2336    #[inline]
2337    pub fn set_showable_frame(&mut self, val: u32) {
2338        unsafe {
2339            let val: u32 = ::core::mem::transmute(val);
2340            self._bitfield_1.set(28usize, 1u8, val as u64)
2341        }
2342    }
2343    #[inline]
2344    pub fn reserved(&self) -> u32 {
2345        unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 3u8) as u32) }
2346    }
2347    #[inline]
2348    pub fn set_reserved(&mut self, val: u32) {
2349        unsafe {
2350            let val: u32 = ::core::mem::transmute(val);
2351            self._bitfield_1.set(29usize, 3u8, val as u64)
2352        }
2353    }
2354    #[inline]
2355    pub fn new_bitfield_1(
2356        error_resilient_mode: u32,
2357        disable_cdf_update: u32,
2358        use_superres: u32,
2359        render_and_frame_size_different: u32,
2360        allow_screen_content_tools: u32,
2361        is_filter_switchable: u32,
2362        force_integer_mv: u32,
2363        frame_size_override_flag: u32,
2364        buffer_removal_time_present_flag: u32,
2365        allow_intrabc: u32,
2366        frame_refs_short_signaling: u32,
2367        allow_high_precision_mv: u32,
2368        is_motion_mode_switchable: u32,
2369        use_ref_frame_mvs: u32,
2370        disable_frame_end_update_cdf: u32,
2371        allow_warped_motion: u32,
2372        reduced_tx_set: u32,
2373        skip_mode_present: u32,
2374        delta_q_present: u32,
2375        delta_lf_present: u32,
2376        delta_lf_multi: u32,
2377        segmentation_enabled: u32,
2378        segmentation_update_map: u32,
2379        segmentation_temporal_update: u32,
2380        segmentation_update_data: u32,
2381        UsesLr: u32,
2382        usesChromaLr: u32,
2383        show_frame: u32,
2384        showable_frame: u32,
2385        reserved: u32,
2386    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
2387        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2388        __bindgen_bitfield_unit.set(0usize, 1u8, {
2389            let error_resilient_mode: u32 = unsafe { ::core::mem::transmute(error_resilient_mode) };
2390            error_resilient_mode as u64
2391        });
2392        __bindgen_bitfield_unit.set(1usize, 1u8, {
2393            let disable_cdf_update: u32 = unsafe { ::core::mem::transmute(disable_cdf_update) };
2394            disable_cdf_update as u64
2395        });
2396        __bindgen_bitfield_unit.set(2usize, 1u8, {
2397            let use_superres: u32 = unsafe { ::core::mem::transmute(use_superres) };
2398            use_superres as u64
2399        });
2400        __bindgen_bitfield_unit.set(3usize, 1u8, {
2401            let render_and_frame_size_different: u32 =
2402                unsafe { ::core::mem::transmute(render_and_frame_size_different) };
2403            render_and_frame_size_different as u64
2404        });
2405        __bindgen_bitfield_unit.set(4usize, 1u8, {
2406            let allow_screen_content_tools: u32 =
2407                unsafe { ::core::mem::transmute(allow_screen_content_tools) };
2408            allow_screen_content_tools as u64
2409        });
2410        __bindgen_bitfield_unit.set(5usize, 1u8, {
2411            let is_filter_switchable: u32 = unsafe { ::core::mem::transmute(is_filter_switchable) };
2412            is_filter_switchable as u64
2413        });
2414        __bindgen_bitfield_unit.set(6usize, 1u8, {
2415            let force_integer_mv: u32 = unsafe { ::core::mem::transmute(force_integer_mv) };
2416            force_integer_mv as u64
2417        });
2418        __bindgen_bitfield_unit.set(7usize, 1u8, {
2419            let frame_size_override_flag: u32 =
2420                unsafe { ::core::mem::transmute(frame_size_override_flag) };
2421            frame_size_override_flag as u64
2422        });
2423        __bindgen_bitfield_unit.set(8usize, 1u8, {
2424            let buffer_removal_time_present_flag: u32 =
2425                unsafe { ::core::mem::transmute(buffer_removal_time_present_flag) };
2426            buffer_removal_time_present_flag as u64
2427        });
2428        __bindgen_bitfield_unit.set(9usize, 1u8, {
2429            let allow_intrabc: u32 = unsafe { ::core::mem::transmute(allow_intrabc) };
2430            allow_intrabc as u64
2431        });
2432        __bindgen_bitfield_unit.set(10usize, 1u8, {
2433            let frame_refs_short_signaling: u32 =
2434                unsafe { ::core::mem::transmute(frame_refs_short_signaling) };
2435            frame_refs_short_signaling as u64
2436        });
2437        __bindgen_bitfield_unit.set(11usize, 1u8, {
2438            let allow_high_precision_mv: u32 =
2439                unsafe { ::core::mem::transmute(allow_high_precision_mv) };
2440            allow_high_precision_mv as u64
2441        });
2442        __bindgen_bitfield_unit.set(12usize, 1u8, {
2443            let is_motion_mode_switchable: u32 =
2444                unsafe { ::core::mem::transmute(is_motion_mode_switchable) };
2445            is_motion_mode_switchable as u64
2446        });
2447        __bindgen_bitfield_unit.set(13usize, 1u8, {
2448            let use_ref_frame_mvs: u32 = unsafe { ::core::mem::transmute(use_ref_frame_mvs) };
2449            use_ref_frame_mvs as u64
2450        });
2451        __bindgen_bitfield_unit.set(14usize, 1u8, {
2452            let disable_frame_end_update_cdf: u32 =
2453                unsafe { ::core::mem::transmute(disable_frame_end_update_cdf) };
2454            disable_frame_end_update_cdf as u64
2455        });
2456        __bindgen_bitfield_unit.set(15usize, 1u8, {
2457            let allow_warped_motion: u32 = unsafe { ::core::mem::transmute(allow_warped_motion) };
2458            allow_warped_motion as u64
2459        });
2460        __bindgen_bitfield_unit.set(16usize, 1u8, {
2461            let reduced_tx_set: u32 = unsafe { ::core::mem::transmute(reduced_tx_set) };
2462            reduced_tx_set as u64
2463        });
2464        __bindgen_bitfield_unit.set(17usize, 1u8, {
2465            let skip_mode_present: u32 = unsafe { ::core::mem::transmute(skip_mode_present) };
2466            skip_mode_present as u64
2467        });
2468        __bindgen_bitfield_unit.set(18usize, 1u8, {
2469            let delta_q_present: u32 = unsafe { ::core::mem::transmute(delta_q_present) };
2470            delta_q_present as u64
2471        });
2472        __bindgen_bitfield_unit.set(19usize, 1u8, {
2473            let delta_lf_present: u32 = unsafe { ::core::mem::transmute(delta_lf_present) };
2474            delta_lf_present as u64
2475        });
2476        __bindgen_bitfield_unit.set(20usize, 1u8, {
2477            let delta_lf_multi: u32 = unsafe { ::core::mem::transmute(delta_lf_multi) };
2478            delta_lf_multi as u64
2479        });
2480        __bindgen_bitfield_unit.set(21usize, 1u8, {
2481            let segmentation_enabled: u32 = unsafe { ::core::mem::transmute(segmentation_enabled) };
2482            segmentation_enabled as u64
2483        });
2484        __bindgen_bitfield_unit.set(22usize, 1u8, {
2485            let segmentation_update_map: u32 =
2486                unsafe { ::core::mem::transmute(segmentation_update_map) };
2487            segmentation_update_map as u64
2488        });
2489        __bindgen_bitfield_unit.set(23usize, 1u8, {
2490            let segmentation_temporal_update: u32 =
2491                unsafe { ::core::mem::transmute(segmentation_temporal_update) };
2492            segmentation_temporal_update as u64
2493        });
2494        __bindgen_bitfield_unit.set(24usize, 1u8, {
2495            let segmentation_update_data: u32 =
2496                unsafe { ::core::mem::transmute(segmentation_update_data) };
2497            segmentation_update_data as u64
2498        });
2499        __bindgen_bitfield_unit.set(25usize, 1u8, {
2500            let UsesLr: u32 = unsafe { ::core::mem::transmute(UsesLr) };
2501            UsesLr as u64
2502        });
2503        __bindgen_bitfield_unit.set(26usize, 1u8, {
2504            let usesChromaLr: u32 = unsafe { ::core::mem::transmute(usesChromaLr) };
2505            usesChromaLr as u64
2506        });
2507        __bindgen_bitfield_unit.set(27usize, 1u8, {
2508            let show_frame: u32 = unsafe { ::core::mem::transmute(show_frame) };
2509            show_frame as u64
2510        });
2511        __bindgen_bitfield_unit.set(28usize, 1u8, {
2512            let showable_frame: u32 = unsafe { ::core::mem::transmute(showable_frame) };
2513            showable_frame as u64
2514        });
2515        __bindgen_bitfield_unit.set(29usize, 3u8, {
2516            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
2517            reserved as u64
2518        });
2519        __bindgen_bitfield_unit
2520    }
2521}
2522#[repr(C)]
2523#[derive(Debug, Copy, Clone)]
2524pub struct StdVideoEncodeAV1PictureInfo {
2525    pub flags: StdVideoEncodeAV1PictureInfoFlags,
2526    pub frame_type: StdVideoAV1FrameType,
2527    pub frame_presentation_time: u32,
2528    pub current_frame_id: u32,
2529    pub order_hint: u8,
2530    pub primary_ref_frame: u8,
2531    pub refresh_frame_flags: u8,
2532    pub coded_denom: u8,
2533    pub render_width_minus_1: u16,
2534    pub render_height_minus_1: u16,
2535    pub interpolation_filter: StdVideoAV1InterpolationFilter,
2536    pub TxMode: StdVideoAV1TxMode,
2537    pub delta_q_res: u8,
2538    pub delta_lf_res: u8,
2539    pub ref_order_hint: [u8; 8usize],
2540    pub ref_frame_idx: [i8; 7usize],
2541    pub reserved1: [u8; 3usize],
2542    pub delta_frame_id_minus_1: [u32; 7usize],
2543    pub pTileInfo: *const StdVideoAV1TileInfo,
2544    pub pQuantization: *const StdVideoAV1Quantization,
2545    pub pSegmentation: *const StdVideoAV1Segmentation,
2546    pub pLoopFilter: *const StdVideoAV1LoopFilter,
2547    pub pCDEF: *const StdVideoAV1CDEF,
2548    pub pLoopRestoration: *const StdVideoAV1LoopRestoration,
2549    pub pGlobalMotion: *const StdVideoAV1GlobalMotion,
2550    pub pExtensionHeader: *const StdVideoEncodeAV1ExtensionHeader,
2551    pub pBufferRemovalTimes: *const u32,
2552}
2553#[repr(C)]
2554#[repr(align(4))]
2555#[derive(Debug, Copy, Clone)]
2556pub struct StdVideoEncodeAV1ReferenceInfoFlags {
2557    pub _bitfield_align_1: [u32; 0],
2558    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2559}
2560impl StdVideoEncodeAV1ReferenceInfoFlags {
2561    #[inline]
2562    pub fn disable_frame_end_update_cdf(&self) -> u32 {
2563        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2564    }
2565    #[inline]
2566    pub fn set_disable_frame_end_update_cdf(&mut self, val: u32) {
2567        unsafe {
2568            let val: u32 = ::core::mem::transmute(val);
2569            self._bitfield_1.set(0usize, 1u8, val as u64)
2570        }
2571    }
2572    #[inline]
2573    pub fn segmentation_enabled(&self) -> u32 {
2574        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
2575    }
2576    #[inline]
2577    pub fn set_segmentation_enabled(&mut self, val: u32) {
2578        unsafe {
2579            let val: u32 = ::core::mem::transmute(val);
2580            self._bitfield_1.set(1usize, 1u8, val as u64)
2581        }
2582    }
2583    #[inline]
2584    pub fn reserved(&self) -> u32 {
2585        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
2586    }
2587    #[inline]
2588    pub fn set_reserved(&mut self, val: u32) {
2589        unsafe {
2590            let val: u32 = ::core::mem::transmute(val);
2591            self._bitfield_1.set(2usize, 30u8, val as u64)
2592        }
2593    }
2594    #[inline]
2595    pub fn new_bitfield_1(
2596        disable_frame_end_update_cdf: u32,
2597        segmentation_enabled: u32,
2598        reserved: u32,
2599    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
2600        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2601        __bindgen_bitfield_unit.set(0usize, 1u8, {
2602            let disable_frame_end_update_cdf: u32 =
2603                unsafe { ::core::mem::transmute(disable_frame_end_update_cdf) };
2604            disable_frame_end_update_cdf as u64
2605        });
2606        __bindgen_bitfield_unit.set(1usize, 1u8, {
2607            let segmentation_enabled: u32 = unsafe { ::core::mem::transmute(segmentation_enabled) };
2608            segmentation_enabled as u64
2609        });
2610        __bindgen_bitfield_unit.set(2usize, 30u8, {
2611            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
2612            reserved as u64
2613        });
2614        __bindgen_bitfield_unit
2615    }
2616}
2617#[repr(C)]
2618#[derive(Debug, Copy, Clone)]
2619pub struct StdVideoEncodeAV1ReferenceInfo {
2620    pub flags: StdVideoEncodeAV1ReferenceInfoFlags,
2621    pub RefFrameId: u32,
2622    pub frame_type: StdVideoAV1FrameType,
2623    pub OrderHint: u8,
2624    pub reserved1: [u8; 3usize],
2625    pub pExtensionHeader: *const StdVideoEncodeAV1ExtensionHeader,
2626}
2627pub const STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME: StdVideoH264ChromaFormatIdc =
2628    StdVideoH264ChromaFormatIdc(0);
2629pub const STD_VIDEO_H264_CHROMA_FORMAT_IDC_420: StdVideoH264ChromaFormatIdc =
2630    StdVideoH264ChromaFormatIdc(1);
2631pub const STD_VIDEO_H264_CHROMA_FORMAT_IDC_422: StdVideoH264ChromaFormatIdc =
2632    StdVideoH264ChromaFormatIdc(2);
2633pub const STD_VIDEO_H264_CHROMA_FORMAT_IDC_444: StdVideoH264ChromaFormatIdc =
2634    StdVideoH264ChromaFormatIdc(3);
2635pub const STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID: StdVideoH264ChromaFormatIdc =
2636    StdVideoH264ChromaFormatIdc(2147483647);
2637pub const STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM: StdVideoH264ChromaFormatIdc =
2638    StdVideoH264ChromaFormatIdc(2147483647);
2639#[repr(transparent)]
2640#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2641pub struct StdVideoH264ChromaFormatIdc(pub ::core::ffi::c_int);
2642pub const STD_VIDEO_H264_PROFILE_IDC_BASELINE: StdVideoH264ProfileIdc = StdVideoH264ProfileIdc(66);
2643pub const STD_VIDEO_H264_PROFILE_IDC_MAIN: StdVideoH264ProfileIdc = StdVideoH264ProfileIdc(77);
2644pub const STD_VIDEO_H264_PROFILE_IDC_HIGH: StdVideoH264ProfileIdc = StdVideoH264ProfileIdc(100);
2645pub const STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE: StdVideoH264ProfileIdc =
2646    StdVideoH264ProfileIdc(244);
2647pub const STD_VIDEO_H264_PROFILE_IDC_INVALID: StdVideoH264ProfileIdc =
2648    StdVideoH264ProfileIdc(2147483647);
2649pub const STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM: StdVideoH264ProfileIdc =
2650    StdVideoH264ProfileIdc(2147483647);
2651#[repr(transparent)]
2652#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2653pub struct StdVideoH264ProfileIdc(pub ::core::ffi::c_int);
2654pub const STD_VIDEO_H264_LEVEL_IDC_1_0: StdVideoH264LevelIdc = StdVideoH264LevelIdc(0);
2655pub const STD_VIDEO_H264_LEVEL_IDC_1_1: StdVideoH264LevelIdc = StdVideoH264LevelIdc(1);
2656pub const STD_VIDEO_H264_LEVEL_IDC_1_2: StdVideoH264LevelIdc = StdVideoH264LevelIdc(2);
2657pub const STD_VIDEO_H264_LEVEL_IDC_1_3: StdVideoH264LevelIdc = StdVideoH264LevelIdc(3);
2658pub const STD_VIDEO_H264_LEVEL_IDC_2_0: StdVideoH264LevelIdc = StdVideoH264LevelIdc(4);
2659pub const STD_VIDEO_H264_LEVEL_IDC_2_1: StdVideoH264LevelIdc = StdVideoH264LevelIdc(5);
2660pub const STD_VIDEO_H264_LEVEL_IDC_2_2: StdVideoH264LevelIdc = StdVideoH264LevelIdc(6);
2661pub const STD_VIDEO_H264_LEVEL_IDC_3_0: StdVideoH264LevelIdc = StdVideoH264LevelIdc(7);
2662pub const STD_VIDEO_H264_LEVEL_IDC_3_1: StdVideoH264LevelIdc = StdVideoH264LevelIdc(8);
2663pub const STD_VIDEO_H264_LEVEL_IDC_3_2: StdVideoH264LevelIdc = StdVideoH264LevelIdc(9);
2664pub const STD_VIDEO_H264_LEVEL_IDC_4_0: StdVideoH264LevelIdc = StdVideoH264LevelIdc(10);
2665pub const STD_VIDEO_H264_LEVEL_IDC_4_1: StdVideoH264LevelIdc = StdVideoH264LevelIdc(11);
2666pub const STD_VIDEO_H264_LEVEL_IDC_4_2: StdVideoH264LevelIdc = StdVideoH264LevelIdc(12);
2667pub const STD_VIDEO_H264_LEVEL_IDC_5_0: StdVideoH264LevelIdc = StdVideoH264LevelIdc(13);
2668pub const STD_VIDEO_H264_LEVEL_IDC_5_1: StdVideoH264LevelIdc = StdVideoH264LevelIdc(14);
2669pub const STD_VIDEO_H264_LEVEL_IDC_5_2: StdVideoH264LevelIdc = StdVideoH264LevelIdc(15);
2670pub const STD_VIDEO_H264_LEVEL_IDC_6_0: StdVideoH264LevelIdc = StdVideoH264LevelIdc(16);
2671pub const STD_VIDEO_H264_LEVEL_IDC_6_1: StdVideoH264LevelIdc = StdVideoH264LevelIdc(17);
2672pub const STD_VIDEO_H264_LEVEL_IDC_6_2: StdVideoH264LevelIdc = StdVideoH264LevelIdc(18);
2673pub const STD_VIDEO_H264_LEVEL_IDC_INVALID: StdVideoH264LevelIdc = StdVideoH264LevelIdc(2147483647);
2674pub const STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM: StdVideoH264LevelIdc =
2675    StdVideoH264LevelIdc(2147483647);
2676#[repr(transparent)]
2677#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2678pub struct StdVideoH264LevelIdc(pub ::core::ffi::c_int);
2679pub const STD_VIDEO_H264_POC_TYPE_0: StdVideoH264PocType = StdVideoH264PocType(0);
2680pub const STD_VIDEO_H264_POC_TYPE_1: StdVideoH264PocType = StdVideoH264PocType(1);
2681pub const STD_VIDEO_H264_POC_TYPE_2: StdVideoH264PocType = StdVideoH264PocType(2);
2682pub const STD_VIDEO_H264_POC_TYPE_INVALID: StdVideoH264PocType = StdVideoH264PocType(2147483647);
2683pub const STD_VIDEO_H264_POC_TYPE_MAX_ENUM: StdVideoH264PocType = StdVideoH264PocType(2147483647);
2684#[repr(transparent)]
2685#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2686pub struct StdVideoH264PocType(pub ::core::ffi::c_int);
2687pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED: StdVideoH264AspectRatioIdc =
2688    StdVideoH264AspectRatioIdc(0);
2689pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE: StdVideoH264AspectRatioIdc =
2690    StdVideoH264AspectRatioIdc(1);
2691pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11: StdVideoH264AspectRatioIdc =
2692    StdVideoH264AspectRatioIdc(2);
2693pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11: StdVideoH264AspectRatioIdc =
2694    StdVideoH264AspectRatioIdc(3);
2695pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11: StdVideoH264AspectRatioIdc =
2696    StdVideoH264AspectRatioIdc(4);
2697pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33: StdVideoH264AspectRatioIdc =
2698    StdVideoH264AspectRatioIdc(5);
2699pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11: StdVideoH264AspectRatioIdc =
2700    StdVideoH264AspectRatioIdc(6);
2701pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11: StdVideoH264AspectRatioIdc =
2702    StdVideoH264AspectRatioIdc(7);
2703pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11: StdVideoH264AspectRatioIdc =
2704    StdVideoH264AspectRatioIdc(8);
2705pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33: StdVideoH264AspectRatioIdc =
2706    StdVideoH264AspectRatioIdc(9);
2707pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11: StdVideoH264AspectRatioIdc =
2708    StdVideoH264AspectRatioIdc(10);
2709pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11: StdVideoH264AspectRatioIdc =
2710    StdVideoH264AspectRatioIdc(11);
2711pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33: StdVideoH264AspectRatioIdc =
2712    StdVideoH264AspectRatioIdc(12);
2713pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99: StdVideoH264AspectRatioIdc =
2714    StdVideoH264AspectRatioIdc(13);
2715pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3: StdVideoH264AspectRatioIdc =
2716    StdVideoH264AspectRatioIdc(14);
2717pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2: StdVideoH264AspectRatioIdc =
2718    StdVideoH264AspectRatioIdc(15);
2719pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1: StdVideoH264AspectRatioIdc =
2720    StdVideoH264AspectRatioIdc(16);
2721pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR: StdVideoH264AspectRatioIdc =
2722    StdVideoH264AspectRatioIdc(255);
2723pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID: StdVideoH264AspectRatioIdc =
2724    StdVideoH264AspectRatioIdc(2147483647);
2725pub const STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM: StdVideoH264AspectRatioIdc =
2726    StdVideoH264AspectRatioIdc(2147483647);
2727#[repr(transparent)]
2728#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2729pub struct StdVideoH264AspectRatioIdc(pub ::core::ffi::c_int);
2730pub const STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT: StdVideoH264WeightedBipredIdc =
2731    StdVideoH264WeightedBipredIdc(0);
2732pub const STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT: StdVideoH264WeightedBipredIdc =
2733    StdVideoH264WeightedBipredIdc(1);
2734pub const STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT: StdVideoH264WeightedBipredIdc =
2735    StdVideoH264WeightedBipredIdc(2);
2736pub const STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID: StdVideoH264WeightedBipredIdc =
2737    StdVideoH264WeightedBipredIdc(2147483647);
2738pub const STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM: StdVideoH264WeightedBipredIdc =
2739    StdVideoH264WeightedBipredIdc(2147483647);
2740#[repr(transparent)]
2741#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2742pub struct StdVideoH264WeightedBipredIdc(pub ::core::ffi::c_int);
2743pub const STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT:
2744    StdVideoH264ModificationOfPicNumsIdc = StdVideoH264ModificationOfPicNumsIdc(0);
2745pub const STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD:
2746    StdVideoH264ModificationOfPicNumsIdc = StdVideoH264ModificationOfPicNumsIdc(1);
2747pub const STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM:
2748    StdVideoH264ModificationOfPicNumsIdc = StdVideoH264ModificationOfPicNumsIdc(2);
2749pub const STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END: StdVideoH264ModificationOfPicNumsIdc =
2750    StdVideoH264ModificationOfPicNumsIdc(3);
2751pub const STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID:
2752    StdVideoH264ModificationOfPicNumsIdc = StdVideoH264ModificationOfPicNumsIdc(2147483647);
2753pub const STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM:
2754    StdVideoH264ModificationOfPicNumsIdc = StdVideoH264ModificationOfPicNumsIdc(2147483647);
2755#[repr(transparent)]
2756#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2757pub struct StdVideoH264ModificationOfPicNumsIdc(pub ::core::ffi::c_int);
2758pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END: StdVideoH264MemMgmtControlOp =
2759    StdVideoH264MemMgmtControlOp(0);
2760pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM: StdVideoH264MemMgmtControlOp =
2761    StdVideoH264MemMgmtControlOp(1);
2762pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM: StdVideoH264MemMgmtControlOp =
2763    StdVideoH264MemMgmtControlOp(2);
2764pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM: StdVideoH264MemMgmtControlOp =
2765    StdVideoH264MemMgmtControlOp(3);
2766pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX: StdVideoH264MemMgmtControlOp =
2767    StdVideoH264MemMgmtControlOp(4);
2768pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL: StdVideoH264MemMgmtControlOp =
2769    StdVideoH264MemMgmtControlOp(5);
2770pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM:
2771    StdVideoH264MemMgmtControlOp = StdVideoH264MemMgmtControlOp(6);
2772pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID: StdVideoH264MemMgmtControlOp =
2773    StdVideoH264MemMgmtControlOp(2147483647);
2774pub const STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM: StdVideoH264MemMgmtControlOp =
2775    StdVideoH264MemMgmtControlOp(2147483647);
2776#[repr(transparent)]
2777#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2778pub struct StdVideoH264MemMgmtControlOp(pub ::core::ffi::c_int);
2779pub const STD_VIDEO_H264_CABAC_INIT_IDC_0: StdVideoH264CabacInitIdc = StdVideoH264CabacInitIdc(0);
2780pub const STD_VIDEO_H264_CABAC_INIT_IDC_1: StdVideoH264CabacInitIdc = StdVideoH264CabacInitIdc(1);
2781pub const STD_VIDEO_H264_CABAC_INIT_IDC_2: StdVideoH264CabacInitIdc = StdVideoH264CabacInitIdc(2);
2782pub const STD_VIDEO_H264_CABAC_INIT_IDC_INVALID: StdVideoH264CabacInitIdc =
2783    StdVideoH264CabacInitIdc(2147483647);
2784pub const STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM: StdVideoH264CabacInitIdc =
2785    StdVideoH264CabacInitIdc(2147483647);
2786#[repr(transparent)]
2787#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2788pub struct StdVideoH264CabacInitIdc(pub ::core::ffi::c_int);
2789pub const STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED:
2790    StdVideoH264DisableDeblockingFilterIdc = StdVideoH264DisableDeblockingFilterIdc(0);
2791pub const STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED:
2792    StdVideoH264DisableDeblockingFilterIdc = StdVideoH264DisableDeblockingFilterIdc(1);
2793pub const STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL:
2794    StdVideoH264DisableDeblockingFilterIdc = StdVideoH264DisableDeblockingFilterIdc(2);
2795pub const STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID:
2796    StdVideoH264DisableDeblockingFilterIdc = StdVideoH264DisableDeblockingFilterIdc(2147483647);
2797pub const STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM:
2798    StdVideoH264DisableDeblockingFilterIdc = StdVideoH264DisableDeblockingFilterIdc(2147483647);
2799#[repr(transparent)]
2800#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2801pub struct StdVideoH264DisableDeblockingFilterIdc(pub ::core::ffi::c_int);
2802pub const STD_VIDEO_H264_SLICE_TYPE_P: StdVideoH264SliceType = StdVideoH264SliceType(0);
2803pub const STD_VIDEO_H264_SLICE_TYPE_B: StdVideoH264SliceType = StdVideoH264SliceType(1);
2804pub const STD_VIDEO_H264_SLICE_TYPE_I: StdVideoH264SliceType = StdVideoH264SliceType(2);
2805pub const STD_VIDEO_H264_SLICE_TYPE_INVALID: StdVideoH264SliceType =
2806    StdVideoH264SliceType(2147483647);
2807pub const STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM: StdVideoH264SliceType =
2808    StdVideoH264SliceType(2147483647);
2809#[repr(transparent)]
2810#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2811pub struct StdVideoH264SliceType(pub ::core::ffi::c_int);
2812pub const STD_VIDEO_H264_PICTURE_TYPE_P: StdVideoH264PictureType = StdVideoH264PictureType(0);
2813pub const STD_VIDEO_H264_PICTURE_TYPE_B: StdVideoH264PictureType = StdVideoH264PictureType(1);
2814pub const STD_VIDEO_H264_PICTURE_TYPE_I: StdVideoH264PictureType = StdVideoH264PictureType(2);
2815pub const STD_VIDEO_H264_PICTURE_TYPE_IDR: StdVideoH264PictureType = StdVideoH264PictureType(5);
2816pub const STD_VIDEO_H264_PICTURE_TYPE_INVALID: StdVideoH264PictureType =
2817    StdVideoH264PictureType(2147483647);
2818pub const STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM: StdVideoH264PictureType =
2819    StdVideoH264PictureType(2147483647);
2820#[repr(transparent)]
2821#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2822pub struct StdVideoH264PictureType(pub ::core::ffi::c_int);
2823pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS: StdVideoH264NonVclNaluType =
2824    StdVideoH264NonVclNaluType(0);
2825pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS: StdVideoH264NonVclNaluType =
2826    StdVideoH264NonVclNaluType(1);
2827pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD: StdVideoH264NonVclNaluType =
2828    StdVideoH264NonVclNaluType(2);
2829pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX: StdVideoH264NonVclNaluType =
2830    StdVideoH264NonVclNaluType(3);
2831pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE: StdVideoH264NonVclNaluType =
2832    StdVideoH264NonVclNaluType(4);
2833pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM: StdVideoH264NonVclNaluType =
2834    StdVideoH264NonVclNaluType(5);
2835pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED: StdVideoH264NonVclNaluType =
2836    StdVideoH264NonVclNaluType(6);
2837pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID: StdVideoH264NonVclNaluType =
2838    StdVideoH264NonVclNaluType(2147483647);
2839pub const STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM: StdVideoH264NonVclNaluType =
2840    StdVideoH264NonVclNaluType(2147483647);
2841#[repr(transparent)]
2842#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
2843pub struct StdVideoH264NonVclNaluType(pub ::core::ffi::c_int);
2844#[repr(C)]
2845#[repr(align(4))]
2846#[derive(Debug, Copy, Clone)]
2847pub struct StdVideoH264SpsVuiFlags {
2848    pub _bitfield_align_1: [u8; 0],
2849    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
2850    pub __bindgen_padding_0: u16,
2851}
2852impl StdVideoH264SpsVuiFlags {
2853    #[inline]
2854    pub fn aspect_ratio_info_present_flag(&self) -> u32 {
2855        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2856    }
2857    #[inline]
2858    pub fn set_aspect_ratio_info_present_flag(&mut self, val: u32) {
2859        unsafe {
2860            let val: u32 = ::core::mem::transmute(val);
2861            self._bitfield_1.set(0usize, 1u8, val as u64)
2862        }
2863    }
2864    #[inline]
2865    pub fn overscan_info_present_flag(&self) -> u32 {
2866        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
2867    }
2868    #[inline]
2869    pub fn set_overscan_info_present_flag(&mut self, val: u32) {
2870        unsafe {
2871            let val: u32 = ::core::mem::transmute(val);
2872            self._bitfield_1.set(1usize, 1u8, val as u64)
2873        }
2874    }
2875    #[inline]
2876    pub fn overscan_appropriate_flag(&self) -> u32 {
2877        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
2878    }
2879    #[inline]
2880    pub fn set_overscan_appropriate_flag(&mut self, val: u32) {
2881        unsafe {
2882            let val: u32 = ::core::mem::transmute(val);
2883            self._bitfield_1.set(2usize, 1u8, val as u64)
2884        }
2885    }
2886    #[inline]
2887    pub fn video_signal_type_present_flag(&self) -> u32 {
2888        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
2889    }
2890    #[inline]
2891    pub fn set_video_signal_type_present_flag(&mut self, val: u32) {
2892        unsafe {
2893            let val: u32 = ::core::mem::transmute(val);
2894            self._bitfield_1.set(3usize, 1u8, val as u64)
2895        }
2896    }
2897    #[inline]
2898    pub fn video_full_range_flag(&self) -> u32 {
2899        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
2900    }
2901    #[inline]
2902    pub fn set_video_full_range_flag(&mut self, val: u32) {
2903        unsafe {
2904            let val: u32 = ::core::mem::transmute(val);
2905            self._bitfield_1.set(4usize, 1u8, val as u64)
2906        }
2907    }
2908    #[inline]
2909    pub fn color_description_present_flag(&self) -> u32 {
2910        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
2911    }
2912    #[inline]
2913    pub fn set_color_description_present_flag(&mut self, val: u32) {
2914        unsafe {
2915            let val: u32 = ::core::mem::transmute(val);
2916            self._bitfield_1.set(5usize, 1u8, val as u64)
2917        }
2918    }
2919    #[inline]
2920    pub fn chroma_loc_info_present_flag(&self) -> u32 {
2921        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
2922    }
2923    #[inline]
2924    pub fn set_chroma_loc_info_present_flag(&mut self, val: u32) {
2925        unsafe {
2926            let val: u32 = ::core::mem::transmute(val);
2927            self._bitfield_1.set(6usize, 1u8, val as u64)
2928        }
2929    }
2930    #[inline]
2931    pub fn timing_info_present_flag(&self) -> u32 {
2932        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
2933    }
2934    #[inline]
2935    pub fn set_timing_info_present_flag(&mut self, val: u32) {
2936        unsafe {
2937            let val: u32 = ::core::mem::transmute(val);
2938            self._bitfield_1.set(7usize, 1u8, val as u64)
2939        }
2940    }
2941    #[inline]
2942    pub fn fixed_frame_rate_flag(&self) -> u32 {
2943        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
2944    }
2945    #[inline]
2946    pub fn set_fixed_frame_rate_flag(&mut self, val: u32) {
2947        unsafe {
2948            let val: u32 = ::core::mem::transmute(val);
2949            self._bitfield_1.set(8usize, 1u8, val as u64)
2950        }
2951    }
2952    #[inline]
2953    pub fn bitstream_restriction_flag(&self) -> u32 {
2954        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
2955    }
2956    #[inline]
2957    pub fn set_bitstream_restriction_flag(&mut self, val: u32) {
2958        unsafe {
2959            let val: u32 = ::core::mem::transmute(val);
2960            self._bitfield_1.set(9usize, 1u8, val as u64)
2961        }
2962    }
2963    #[inline]
2964    pub fn nal_hrd_parameters_present_flag(&self) -> u32 {
2965        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
2966    }
2967    #[inline]
2968    pub fn set_nal_hrd_parameters_present_flag(&mut self, val: u32) {
2969        unsafe {
2970            let val: u32 = ::core::mem::transmute(val);
2971            self._bitfield_1.set(10usize, 1u8, val as u64)
2972        }
2973    }
2974    #[inline]
2975    pub fn vcl_hrd_parameters_present_flag(&self) -> u32 {
2976        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
2977    }
2978    #[inline]
2979    pub fn set_vcl_hrd_parameters_present_flag(&mut self, val: u32) {
2980        unsafe {
2981            let val: u32 = ::core::mem::transmute(val);
2982            self._bitfield_1.set(11usize, 1u8, val as u64)
2983        }
2984    }
2985    #[inline]
2986    pub fn new_bitfield_1(
2987        aspect_ratio_info_present_flag: u32,
2988        overscan_info_present_flag: u32,
2989        overscan_appropriate_flag: u32,
2990        video_signal_type_present_flag: u32,
2991        video_full_range_flag: u32,
2992        color_description_present_flag: u32,
2993        chroma_loc_info_present_flag: u32,
2994        timing_info_present_flag: u32,
2995        fixed_frame_rate_flag: u32,
2996        bitstream_restriction_flag: u32,
2997        nal_hrd_parameters_present_flag: u32,
2998        vcl_hrd_parameters_present_flag: u32,
2999    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
3000        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
3001        __bindgen_bitfield_unit.set(0usize, 1u8, {
3002            let aspect_ratio_info_present_flag: u32 =
3003                unsafe { ::core::mem::transmute(aspect_ratio_info_present_flag) };
3004            aspect_ratio_info_present_flag as u64
3005        });
3006        __bindgen_bitfield_unit.set(1usize, 1u8, {
3007            let overscan_info_present_flag: u32 =
3008                unsafe { ::core::mem::transmute(overscan_info_present_flag) };
3009            overscan_info_present_flag as u64
3010        });
3011        __bindgen_bitfield_unit.set(2usize, 1u8, {
3012            let overscan_appropriate_flag: u32 =
3013                unsafe { ::core::mem::transmute(overscan_appropriate_flag) };
3014            overscan_appropriate_flag as u64
3015        });
3016        __bindgen_bitfield_unit.set(3usize, 1u8, {
3017            let video_signal_type_present_flag: u32 =
3018                unsafe { ::core::mem::transmute(video_signal_type_present_flag) };
3019            video_signal_type_present_flag as u64
3020        });
3021        __bindgen_bitfield_unit.set(4usize, 1u8, {
3022            let video_full_range_flag: u32 =
3023                unsafe { ::core::mem::transmute(video_full_range_flag) };
3024            video_full_range_flag as u64
3025        });
3026        __bindgen_bitfield_unit.set(5usize, 1u8, {
3027            let color_description_present_flag: u32 =
3028                unsafe { ::core::mem::transmute(color_description_present_flag) };
3029            color_description_present_flag as u64
3030        });
3031        __bindgen_bitfield_unit.set(6usize, 1u8, {
3032            let chroma_loc_info_present_flag: u32 =
3033                unsafe { ::core::mem::transmute(chroma_loc_info_present_flag) };
3034            chroma_loc_info_present_flag as u64
3035        });
3036        __bindgen_bitfield_unit.set(7usize, 1u8, {
3037            let timing_info_present_flag: u32 =
3038                unsafe { ::core::mem::transmute(timing_info_present_flag) };
3039            timing_info_present_flag as u64
3040        });
3041        __bindgen_bitfield_unit.set(8usize, 1u8, {
3042            let fixed_frame_rate_flag: u32 =
3043                unsafe { ::core::mem::transmute(fixed_frame_rate_flag) };
3044            fixed_frame_rate_flag as u64
3045        });
3046        __bindgen_bitfield_unit.set(9usize, 1u8, {
3047            let bitstream_restriction_flag: u32 =
3048                unsafe { ::core::mem::transmute(bitstream_restriction_flag) };
3049            bitstream_restriction_flag as u64
3050        });
3051        __bindgen_bitfield_unit.set(10usize, 1u8, {
3052            let nal_hrd_parameters_present_flag: u32 =
3053                unsafe { ::core::mem::transmute(nal_hrd_parameters_present_flag) };
3054            nal_hrd_parameters_present_flag as u64
3055        });
3056        __bindgen_bitfield_unit.set(11usize, 1u8, {
3057            let vcl_hrd_parameters_present_flag: u32 =
3058                unsafe { ::core::mem::transmute(vcl_hrd_parameters_present_flag) };
3059            vcl_hrd_parameters_present_flag as u64
3060        });
3061        __bindgen_bitfield_unit
3062    }
3063}
3064#[repr(C)]
3065#[derive(Debug, Copy, Clone)]
3066pub struct StdVideoH264HrdParameters {
3067    pub cpb_cnt_minus1: u8,
3068    pub bit_rate_scale: u8,
3069    pub cpb_size_scale: u8,
3070    pub reserved1: u8,
3071    pub bit_rate_value_minus1: [u32; 32usize],
3072    pub cpb_size_value_minus1: [u32; 32usize],
3073    pub cbr_flag: [u8; 32usize],
3074    pub initial_cpb_removal_delay_length_minus1: u32,
3075    pub cpb_removal_delay_length_minus1: u32,
3076    pub dpb_output_delay_length_minus1: u32,
3077    pub time_offset_length: u32,
3078}
3079#[repr(C)]
3080#[derive(Debug, Copy, Clone)]
3081pub struct StdVideoH264SequenceParameterSetVui {
3082    pub flags: StdVideoH264SpsVuiFlags,
3083    pub aspect_ratio_idc: StdVideoH264AspectRatioIdc,
3084    pub sar_width: u16,
3085    pub sar_height: u16,
3086    pub video_format: u8,
3087    pub colour_primaries: u8,
3088    pub transfer_characteristics: u8,
3089    pub matrix_coefficients: u8,
3090    pub num_units_in_tick: u32,
3091    pub time_scale: u32,
3092    pub max_num_reorder_frames: u8,
3093    pub max_dec_frame_buffering: u8,
3094    pub chroma_sample_loc_type_top_field: u8,
3095    pub chroma_sample_loc_type_bottom_field: u8,
3096    pub reserved1: u32,
3097    pub pHrdParameters: *const StdVideoH264HrdParameters,
3098}
3099#[repr(C)]
3100#[repr(align(4))]
3101#[derive(Debug, Copy, Clone)]
3102pub struct StdVideoH264SpsFlags {
3103    pub _bitfield_align_1: [u8; 0],
3104    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
3105    pub __bindgen_padding_0: u16,
3106}
3107impl StdVideoH264SpsFlags {
3108    #[inline]
3109    pub fn constraint_set0_flag(&self) -> u32 {
3110        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3111    }
3112    #[inline]
3113    pub fn set_constraint_set0_flag(&mut self, val: u32) {
3114        unsafe {
3115            let val: u32 = ::core::mem::transmute(val);
3116            self._bitfield_1.set(0usize, 1u8, val as u64)
3117        }
3118    }
3119    #[inline]
3120    pub fn constraint_set1_flag(&self) -> u32 {
3121        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3122    }
3123    #[inline]
3124    pub fn set_constraint_set1_flag(&mut self, val: u32) {
3125        unsafe {
3126            let val: u32 = ::core::mem::transmute(val);
3127            self._bitfield_1.set(1usize, 1u8, val as u64)
3128        }
3129    }
3130    #[inline]
3131    pub fn constraint_set2_flag(&self) -> u32 {
3132        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3133    }
3134    #[inline]
3135    pub fn set_constraint_set2_flag(&mut self, val: u32) {
3136        unsafe {
3137            let val: u32 = ::core::mem::transmute(val);
3138            self._bitfield_1.set(2usize, 1u8, val as u64)
3139        }
3140    }
3141    #[inline]
3142    pub fn constraint_set3_flag(&self) -> u32 {
3143        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
3144    }
3145    #[inline]
3146    pub fn set_constraint_set3_flag(&mut self, val: u32) {
3147        unsafe {
3148            let val: u32 = ::core::mem::transmute(val);
3149            self._bitfield_1.set(3usize, 1u8, val as u64)
3150        }
3151    }
3152    #[inline]
3153    pub fn constraint_set4_flag(&self) -> u32 {
3154        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
3155    }
3156    #[inline]
3157    pub fn set_constraint_set4_flag(&mut self, val: u32) {
3158        unsafe {
3159            let val: u32 = ::core::mem::transmute(val);
3160            self._bitfield_1.set(4usize, 1u8, val as u64)
3161        }
3162    }
3163    #[inline]
3164    pub fn constraint_set5_flag(&self) -> u32 {
3165        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
3166    }
3167    #[inline]
3168    pub fn set_constraint_set5_flag(&mut self, val: u32) {
3169        unsafe {
3170            let val: u32 = ::core::mem::transmute(val);
3171            self._bitfield_1.set(5usize, 1u8, val as u64)
3172        }
3173    }
3174    #[inline]
3175    pub fn direct_8x8_inference_flag(&self) -> u32 {
3176        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
3177    }
3178    #[inline]
3179    pub fn set_direct_8x8_inference_flag(&mut self, val: u32) {
3180        unsafe {
3181            let val: u32 = ::core::mem::transmute(val);
3182            self._bitfield_1.set(6usize, 1u8, val as u64)
3183        }
3184    }
3185    #[inline]
3186    pub fn mb_adaptive_frame_field_flag(&self) -> u32 {
3187        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
3188    }
3189    #[inline]
3190    pub fn set_mb_adaptive_frame_field_flag(&mut self, val: u32) {
3191        unsafe {
3192            let val: u32 = ::core::mem::transmute(val);
3193            self._bitfield_1.set(7usize, 1u8, val as u64)
3194        }
3195    }
3196    #[inline]
3197    pub fn frame_mbs_only_flag(&self) -> u32 {
3198        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
3199    }
3200    #[inline]
3201    pub fn set_frame_mbs_only_flag(&mut self, val: u32) {
3202        unsafe {
3203            let val: u32 = ::core::mem::transmute(val);
3204            self._bitfield_1.set(8usize, 1u8, val as u64)
3205        }
3206    }
3207    #[inline]
3208    pub fn delta_pic_order_always_zero_flag(&self) -> u32 {
3209        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
3210    }
3211    #[inline]
3212    pub fn set_delta_pic_order_always_zero_flag(&mut self, val: u32) {
3213        unsafe {
3214            let val: u32 = ::core::mem::transmute(val);
3215            self._bitfield_1.set(9usize, 1u8, val as u64)
3216        }
3217    }
3218    #[inline]
3219    pub fn separate_colour_plane_flag(&self) -> u32 {
3220        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
3221    }
3222    #[inline]
3223    pub fn set_separate_colour_plane_flag(&mut self, val: u32) {
3224        unsafe {
3225            let val: u32 = ::core::mem::transmute(val);
3226            self._bitfield_1.set(10usize, 1u8, val as u64)
3227        }
3228    }
3229    #[inline]
3230    pub fn gaps_in_frame_num_value_allowed_flag(&self) -> u32 {
3231        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
3232    }
3233    #[inline]
3234    pub fn set_gaps_in_frame_num_value_allowed_flag(&mut self, val: u32) {
3235        unsafe {
3236            let val: u32 = ::core::mem::transmute(val);
3237            self._bitfield_1.set(11usize, 1u8, val as u64)
3238        }
3239    }
3240    #[inline]
3241    pub fn qpprime_y_zero_transform_bypass_flag(&self) -> u32 {
3242        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
3243    }
3244    #[inline]
3245    pub fn set_qpprime_y_zero_transform_bypass_flag(&mut self, val: u32) {
3246        unsafe {
3247            let val: u32 = ::core::mem::transmute(val);
3248            self._bitfield_1.set(12usize, 1u8, val as u64)
3249        }
3250    }
3251    #[inline]
3252    pub fn frame_cropping_flag(&self) -> u32 {
3253        unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
3254    }
3255    #[inline]
3256    pub fn set_frame_cropping_flag(&mut self, val: u32) {
3257        unsafe {
3258            let val: u32 = ::core::mem::transmute(val);
3259            self._bitfield_1.set(13usize, 1u8, val as u64)
3260        }
3261    }
3262    #[inline]
3263    pub fn seq_scaling_matrix_present_flag(&self) -> u32 {
3264        unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
3265    }
3266    #[inline]
3267    pub fn set_seq_scaling_matrix_present_flag(&mut self, val: u32) {
3268        unsafe {
3269            let val: u32 = ::core::mem::transmute(val);
3270            self._bitfield_1.set(14usize, 1u8, val as u64)
3271        }
3272    }
3273    #[inline]
3274    pub fn vui_parameters_present_flag(&self) -> u32 {
3275        unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
3276    }
3277    #[inline]
3278    pub fn set_vui_parameters_present_flag(&mut self, val: u32) {
3279        unsafe {
3280            let val: u32 = ::core::mem::transmute(val);
3281            self._bitfield_1.set(15usize, 1u8, val as u64)
3282        }
3283    }
3284    #[inline]
3285    pub fn new_bitfield_1(
3286        constraint_set0_flag: u32,
3287        constraint_set1_flag: u32,
3288        constraint_set2_flag: u32,
3289        constraint_set3_flag: u32,
3290        constraint_set4_flag: u32,
3291        constraint_set5_flag: u32,
3292        direct_8x8_inference_flag: u32,
3293        mb_adaptive_frame_field_flag: u32,
3294        frame_mbs_only_flag: u32,
3295        delta_pic_order_always_zero_flag: u32,
3296        separate_colour_plane_flag: u32,
3297        gaps_in_frame_num_value_allowed_flag: u32,
3298        qpprime_y_zero_transform_bypass_flag: u32,
3299        frame_cropping_flag: u32,
3300        seq_scaling_matrix_present_flag: u32,
3301        vui_parameters_present_flag: u32,
3302    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
3303        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
3304        __bindgen_bitfield_unit.set(0usize, 1u8, {
3305            let constraint_set0_flag: u32 = unsafe { ::core::mem::transmute(constraint_set0_flag) };
3306            constraint_set0_flag as u64
3307        });
3308        __bindgen_bitfield_unit.set(1usize, 1u8, {
3309            let constraint_set1_flag: u32 = unsafe { ::core::mem::transmute(constraint_set1_flag) };
3310            constraint_set1_flag as u64
3311        });
3312        __bindgen_bitfield_unit.set(2usize, 1u8, {
3313            let constraint_set2_flag: u32 = unsafe { ::core::mem::transmute(constraint_set2_flag) };
3314            constraint_set2_flag as u64
3315        });
3316        __bindgen_bitfield_unit.set(3usize, 1u8, {
3317            let constraint_set3_flag: u32 = unsafe { ::core::mem::transmute(constraint_set3_flag) };
3318            constraint_set3_flag as u64
3319        });
3320        __bindgen_bitfield_unit.set(4usize, 1u8, {
3321            let constraint_set4_flag: u32 = unsafe { ::core::mem::transmute(constraint_set4_flag) };
3322            constraint_set4_flag as u64
3323        });
3324        __bindgen_bitfield_unit.set(5usize, 1u8, {
3325            let constraint_set5_flag: u32 = unsafe { ::core::mem::transmute(constraint_set5_flag) };
3326            constraint_set5_flag as u64
3327        });
3328        __bindgen_bitfield_unit.set(6usize, 1u8, {
3329            let direct_8x8_inference_flag: u32 =
3330                unsafe { ::core::mem::transmute(direct_8x8_inference_flag) };
3331            direct_8x8_inference_flag as u64
3332        });
3333        __bindgen_bitfield_unit.set(7usize, 1u8, {
3334            let mb_adaptive_frame_field_flag: u32 =
3335                unsafe { ::core::mem::transmute(mb_adaptive_frame_field_flag) };
3336            mb_adaptive_frame_field_flag as u64
3337        });
3338        __bindgen_bitfield_unit.set(8usize, 1u8, {
3339            let frame_mbs_only_flag: u32 = unsafe { ::core::mem::transmute(frame_mbs_only_flag) };
3340            frame_mbs_only_flag as u64
3341        });
3342        __bindgen_bitfield_unit.set(9usize, 1u8, {
3343            let delta_pic_order_always_zero_flag: u32 =
3344                unsafe { ::core::mem::transmute(delta_pic_order_always_zero_flag) };
3345            delta_pic_order_always_zero_flag as u64
3346        });
3347        __bindgen_bitfield_unit.set(10usize, 1u8, {
3348            let separate_colour_plane_flag: u32 =
3349                unsafe { ::core::mem::transmute(separate_colour_plane_flag) };
3350            separate_colour_plane_flag as u64
3351        });
3352        __bindgen_bitfield_unit.set(11usize, 1u8, {
3353            let gaps_in_frame_num_value_allowed_flag: u32 =
3354                unsafe { ::core::mem::transmute(gaps_in_frame_num_value_allowed_flag) };
3355            gaps_in_frame_num_value_allowed_flag as u64
3356        });
3357        __bindgen_bitfield_unit.set(12usize, 1u8, {
3358            let qpprime_y_zero_transform_bypass_flag: u32 =
3359                unsafe { ::core::mem::transmute(qpprime_y_zero_transform_bypass_flag) };
3360            qpprime_y_zero_transform_bypass_flag as u64
3361        });
3362        __bindgen_bitfield_unit.set(13usize, 1u8, {
3363            let frame_cropping_flag: u32 = unsafe { ::core::mem::transmute(frame_cropping_flag) };
3364            frame_cropping_flag as u64
3365        });
3366        __bindgen_bitfield_unit.set(14usize, 1u8, {
3367            let seq_scaling_matrix_present_flag: u32 =
3368                unsafe { ::core::mem::transmute(seq_scaling_matrix_present_flag) };
3369            seq_scaling_matrix_present_flag as u64
3370        });
3371        __bindgen_bitfield_unit.set(15usize, 1u8, {
3372            let vui_parameters_present_flag: u32 =
3373                unsafe { ::core::mem::transmute(vui_parameters_present_flag) };
3374            vui_parameters_present_flag as u64
3375        });
3376        __bindgen_bitfield_unit
3377    }
3378}
3379#[repr(C)]
3380#[derive(Debug, Copy, Clone)]
3381pub struct StdVideoH264ScalingLists {
3382    pub scaling_list_present_mask: u16,
3383    pub use_default_scaling_matrix_mask: u16,
3384    pub ScalingList4x4: [[u8; 16usize]; 6usize],
3385    pub ScalingList8x8: [[u8; 64usize]; 6usize],
3386}
3387#[repr(C)]
3388#[derive(Debug, Copy, Clone)]
3389pub struct StdVideoH264SequenceParameterSet {
3390    pub flags: StdVideoH264SpsFlags,
3391    pub profile_idc: StdVideoH264ProfileIdc,
3392    pub level_idc: StdVideoH264LevelIdc,
3393    pub chroma_format_idc: StdVideoH264ChromaFormatIdc,
3394    pub seq_parameter_set_id: u8,
3395    pub bit_depth_luma_minus8: u8,
3396    pub bit_depth_chroma_minus8: u8,
3397    pub log2_max_frame_num_minus4: u8,
3398    pub pic_order_cnt_type: StdVideoH264PocType,
3399    pub offset_for_non_ref_pic: i32,
3400    pub offset_for_top_to_bottom_field: i32,
3401    pub log2_max_pic_order_cnt_lsb_minus4: u8,
3402    pub num_ref_frames_in_pic_order_cnt_cycle: u8,
3403    pub max_num_ref_frames: u8,
3404    pub reserved1: u8,
3405    pub pic_width_in_mbs_minus1: u32,
3406    pub pic_height_in_map_units_minus1: u32,
3407    pub frame_crop_left_offset: u32,
3408    pub frame_crop_right_offset: u32,
3409    pub frame_crop_top_offset: u32,
3410    pub frame_crop_bottom_offset: u32,
3411    pub reserved2: u32,
3412    pub pOffsetForRefFrame: *const i32,
3413    pub pScalingLists: *const StdVideoH264ScalingLists,
3414    pub pSequenceParameterSetVui: *const StdVideoH264SequenceParameterSetVui,
3415}
3416#[repr(C)]
3417#[repr(align(4))]
3418#[derive(Debug, Copy, Clone)]
3419pub struct StdVideoH264PpsFlags {
3420    pub _bitfield_align_1: [u8; 0],
3421    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3422    pub __bindgen_padding_0: [u8; 3usize],
3423}
3424impl StdVideoH264PpsFlags {
3425    #[inline]
3426    pub fn transform_8x8_mode_flag(&self) -> u32 {
3427        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3428    }
3429    #[inline]
3430    pub fn set_transform_8x8_mode_flag(&mut self, val: u32) {
3431        unsafe {
3432            let val: u32 = ::core::mem::transmute(val);
3433            self._bitfield_1.set(0usize, 1u8, val as u64)
3434        }
3435    }
3436    #[inline]
3437    pub fn redundant_pic_cnt_present_flag(&self) -> u32 {
3438        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3439    }
3440    #[inline]
3441    pub fn set_redundant_pic_cnt_present_flag(&mut self, val: u32) {
3442        unsafe {
3443            let val: u32 = ::core::mem::transmute(val);
3444            self._bitfield_1.set(1usize, 1u8, val as u64)
3445        }
3446    }
3447    #[inline]
3448    pub fn constrained_intra_pred_flag(&self) -> u32 {
3449        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3450    }
3451    #[inline]
3452    pub fn set_constrained_intra_pred_flag(&mut self, val: u32) {
3453        unsafe {
3454            let val: u32 = ::core::mem::transmute(val);
3455            self._bitfield_1.set(2usize, 1u8, val as u64)
3456        }
3457    }
3458    #[inline]
3459    pub fn deblocking_filter_control_present_flag(&self) -> u32 {
3460        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
3461    }
3462    #[inline]
3463    pub fn set_deblocking_filter_control_present_flag(&mut self, val: u32) {
3464        unsafe {
3465            let val: u32 = ::core::mem::transmute(val);
3466            self._bitfield_1.set(3usize, 1u8, val as u64)
3467        }
3468    }
3469    #[inline]
3470    pub fn weighted_pred_flag(&self) -> u32 {
3471        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
3472    }
3473    #[inline]
3474    pub fn set_weighted_pred_flag(&mut self, val: u32) {
3475        unsafe {
3476            let val: u32 = ::core::mem::transmute(val);
3477            self._bitfield_1.set(4usize, 1u8, val as u64)
3478        }
3479    }
3480    #[inline]
3481    pub fn bottom_field_pic_order_in_frame_present_flag(&self) -> u32 {
3482        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
3483    }
3484    #[inline]
3485    pub fn set_bottom_field_pic_order_in_frame_present_flag(&mut self, val: u32) {
3486        unsafe {
3487            let val: u32 = ::core::mem::transmute(val);
3488            self._bitfield_1.set(5usize, 1u8, val as u64)
3489        }
3490    }
3491    #[inline]
3492    pub fn entropy_coding_mode_flag(&self) -> u32 {
3493        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
3494    }
3495    #[inline]
3496    pub fn set_entropy_coding_mode_flag(&mut self, val: u32) {
3497        unsafe {
3498            let val: u32 = ::core::mem::transmute(val);
3499            self._bitfield_1.set(6usize, 1u8, val as u64)
3500        }
3501    }
3502    #[inline]
3503    pub fn pic_scaling_matrix_present_flag(&self) -> u32 {
3504        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
3505    }
3506    #[inline]
3507    pub fn set_pic_scaling_matrix_present_flag(&mut self, val: u32) {
3508        unsafe {
3509            let val: u32 = ::core::mem::transmute(val);
3510            self._bitfield_1.set(7usize, 1u8, val as u64)
3511        }
3512    }
3513    #[inline]
3514    pub fn new_bitfield_1(
3515        transform_8x8_mode_flag: u32,
3516        redundant_pic_cnt_present_flag: u32,
3517        constrained_intra_pred_flag: u32,
3518        deblocking_filter_control_present_flag: u32,
3519        weighted_pred_flag: u32,
3520        bottom_field_pic_order_in_frame_present_flag: u32,
3521        entropy_coding_mode_flag: u32,
3522        pic_scaling_matrix_present_flag: u32,
3523    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3524        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3525        __bindgen_bitfield_unit.set(0usize, 1u8, {
3526            let transform_8x8_mode_flag: u32 =
3527                unsafe { ::core::mem::transmute(transform_8x8_mode_flag) };
3528            transform_8x8_mode_flag as u64
3529        });
3530        __bindgen_bitfield_unit.set(1usize, 1u8, {
3531            let redundant_pic_cnt_present_flag: u32 =
3532                unsafe { ::core::mem::transmute(redundant_pic_cnt_present_flag) };
3533            redundant_pic_cnt_present_flag as u64
3534        });
3535        __bindgen_bitfield_unit.set(2usize, 1u8, {
3536            let constrained_intra_pred_flag: u32 =
3537                unsafe { ::core::mem::transmute(constrained_intra_pred_flag) };
3538            constrained_intra_pred_flag as u64
3539        });
3540        __bindgen_bitfield_unit.set(3usize, 1u8, {
3541            let deblocking_filter_control_present_flag: u32 =
3542                unsafe { ::core::mem::transmute(deblocking_filter_control_present_flag) };
3543            deblocking_filter_control_present_flag as u64
3544        });
3545        __bindgen_bitfield_unit.set(4usize, 1u8, {
3546            let weighted_pred_flag: u32 = unsafe { ::core::mem::transmute(weighted_pred_flag) };
3547            weighted_pred_flag as u64
3548        });
3549        __bindgen_bitfield_unit.set(5usize, 1u8, {
3550            let bottom_field_pic_order_in_frame_present_flag: u32 =
3551                unsafe { ::core::mem::transmute(bottom_field_pic_order_in_frame_present_flag) };
3552            bottom_field_pic_order_in_frame_present_flag as u64
3553        });
3554        __bindgen_bitfield_unit.set(6usize, 1u8, {
3555            let entropy_coding_mode_flag: u32 =
3556                unsafe { ::core::mem::transmute(entropy_coding_mode_flag) };
3557            entropy_coding_mode_flag as u64
3558        });
3559        __bindgen_bitfield_unit.set(7usize, 1u8, {
3560            let pic_scaling_matrix_present_flag: u32 =
3561                unsafe { ::core::mem::transmute(pic_scaling_matrix_present_flag) };
3562            pic_scaling_matrix_present_flag as u64
3563        });
3564        __bindgen_bitfield_unit
3565    }
3566}
3567#[repr(C)]
3568#[derive(Debug, Copy, Clone)]
3569pub struct StdVideoH264PictureParameterSet {
3570    pub flags: StdVideoH264PpsFlags,
3571    pub seq_parameter_set_id: u8,
3572    pub pic_parameter_set_id: u8,
3573    pub num_ref_idx_l0_default_active_minus1: u8,
3574    pub num_ref_idx_l1_default_active_minus1: u8,
3575    pub weighted_bipred_idc: StdVideoH264WeightedBipredIdc,
3576    pub pic_init_qp_minus26: i8,
3577    pub pic_init_qs_minus26: i8,
3578    pub chroma_qp_index_offset: i8,
3579    pub second_chroma_qp_index_offset: i8,
3580    pub pScalingLists: *const StdVideoH264ScalingLists,
3581}
3582pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP: StdVideoDecodeH264FieldOrderCount =
3583    StdVideoDecodeH264FieldOrderCount(0);
3584pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM: StdVideoDecodeH264FieldOrderCount =
3585    StdVideoDecodeH264FieldOrderCount(1);
3586pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID: StdVideoDecodeH264FieldOrderCount =
3587    StdVideoDecodeH264FieldOrderCount(2147483647);
3588pub const STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM: StdVideoDecodeH264FieldOrderCount =
3589    StdVideoDecodeH264FieldOrderCount(2147483647);
3590#[repr(transparent)]
3591#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
3592pub struct StdVideoDecodeH264FieldOrderCount(pub ::core::ffi::c_int);
3593#[repr(C)]
3594#[repr(align(4))]
3595#[derive(Debug, Copy, Clone)]
3596pub struct StdVideoDecodeH264PictureInfoFlags {
3597    pub _bitfield_align_1: [u8; 0],
3598    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3599    pub __bindgen_padding_0: [u8; 3usize],
3600}
3601impl StdVideoDecodeH264PictureInfoFlags {
3602    #[inline]
3603    pub fn field_pic_flag(&self) -> u32 {
3604        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3605    }
3606    #[inline]
3607    pub fn set_field_pic_flag(&mut self, val: u32) {
3608        unsafe {
3609            let val: u32 = ::core::mem::transmute(val);
3610            self._bitfield_1.set(0usize, 1u8, val as u64)
3611        }
3612    }
3613    #[inline]
3614    pub fn is_intra(&self) -> u32 {
3615        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3616    }
3617    #[inline]
3618    pub fn set_is_intra(&mut self, val: u32) {
3619        unsafe {
3620            let val: u32 = ::core::mem::transmute(val);
3621            self._bitfield_1.set(1usize, 1u8, val as u64)
3622        }
3623    }
3624    #[inline]
3625    pub fn IdrPicFlag(&self) -> u32 {
3626        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3627    }
3628    #[inline]
3629    pub fn set_IdrPicFlag(&mut self, val: u32) {
3630        unsafe {
3631            let val: u32 = ::core::mem::transmute(val);
3632            self._bitfield_1.set(2usize, 1u8, val as u64)
3633        }
3634    }
3635    #[inline]
3636    pub fn bottom_field_flag(&self) -> u32 {
3637        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
3638    }
3639    #[inline]
3640    pub fn set_bottom_field_flag(&mut self, val: u32) {
3641        unsafe {
3642            let val: u32 = ::core::mem::transmute(val);
3643            self._bitfield_1.set(3usize, 1u8, val as u64)
3644        }
3645    }
3646    #[inline]
3647    pub fn is_reference(&self) -> u32 {
3648        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
3649    }
3650    #[inline]
3651    pub fn set_is_reference(&mut self, val: u32) {
3652        unsafe {
3653            let val: u32 = ::core::mem::transmute(val);
3654            self._bitfield_1.set(4usize, 1u8, val as u64)
3655        }
3656    }
3657    #[inline]
3658    pub fn complementary_field_pair(&self) -> u32 {
3659        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
3660    }
3661    #[inline]
3662    pub fn set_complementary_field_pair(&mut self, val: u32) {
3663        unsafe {
3664            let val: u32 = ::core::mem::transmute(val);
3665            self._bitfield_1.set(5usize, 1u8, val as u64)
3666        }
3667    }
3668    #[inline]
3669    pub fn new_bitfield_1(
3670        field_pic_flag: u32,
3671        is_intra: u32,
3672        IdrPicFlag: u32,
3673        bottom_field_flag: u32,
3674        is_reference: u32,
3675        complementary_field_pair: u32,
3676    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3677        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3678        __bindgen_bitfield_unit.set(0usize, 1u8, {
3679            let field_pic_flag: u32 = unsafe { ::core::mem::transmute(field_pic_flag) };
3680            field_pic_flag as u64
3681        });
3682        __bindgen_bitfield_unit.set(1usize, 1u8, {
3683            let is_intra: u32 = unsafe { ::core::mem::transmute(is_intra) };
3684            is_intra as u64
3685        });
3686        __bindgen_bitfield_unit.set(2usize, 1u8, {
3687            let IdrPicFlag: u32 = unsafe { ::core::mem::transmute(IdrPicFlag) };
3688            IdrPicFlag as u64
3689        });
3690        __bindgen_bitfield_unit.set(3usize, 1u8, {
3691            let bottom_field_flag: u32 = unsafe { ::core::mem::transmute(bottom_field_flag) };
3692            bottom_field_flag as u64
3693        });
3694        __bindgen_bitfield_unit.set(4usize, 1u8, {
3695            let is_reference: u32 = unsafe { ::core::mem::transmute(is_reference) };
3696            is_reference as u64
3697        });
3698        __bindgen_bitfield_unit.set(5usize, 1u8, {
3699            let complementary_field_pair: u32 =
3700                unsafe { ::core::mem::transmute(complementary_field_pair) };
3701            complementary_field_pair as u64
3702        });
3703        __bindgen_bitfield_unit
3704    }
3705}
3706#[repr(C)]
3707#[derive(Debug, Copy, Clone)]
3708pub struct StdVideoDecodeH264PictureInfo {
3709    pub flags: StdVideoDecodeH264PictureInfoFlags,
3710    pub seq_parameter_set_id: u8,
3711    pub pic_parameter_set_id: u8,
3712    pub reserved1: u8,
3713    pub reserved2: u8,
3714    pub frame_num: u16,
3715    pub idr_pic_id: u16,
3716    pub PicOrderCnt: [i32; 2usize],
3717}
3718#[repr(C)]
3719#[repr(align(4))]
3720#[derive(Debug, Copy, Clone)]
3721pub struct StdVideoDecodeH264ReferenceInfoFlags {
3722    pub _bitfield_align_1: [u8; 0],
3723    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3724    pub __bindgen_padding_0: [u8; 3usize],
3725}
3726impl StdVideoDecodeH264ReferenceInfoFlags {
3727    #[inline]
3728    pub fn top_field_flag(&self) -> u32 {
3729        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3730    }
3731    #[inline]
3732    pub fn set_top_field_flag(&mut self, val: u32) {
3733        unsafe {
3734            let val: u32 = ::core::mem::transmute(val);
3735            self._bitfield_1.set(0usize, 1u8, val as u64)
3736        }
3737    }
3738    #[inline]
3739    pub fn bottom_field_flag(&self) -> u32 {
3740        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3741    }
3742    #[inline]
3743    pub fn set_bottom_field_flag(&mut self, val: u32) {
3744        unsafe {
3745            let val: u32 = ::core::mem::transmute(val);
3746            self._bitfield_1.set(1usize, 1u8, val as u64)
3747        }
3748    }
3749    #[inline]
3750    pub fn used_for_long_term_reference(&self) -> u32 {
3751        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3752    }
3753    #[inline]
3754    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
3755        unsafe {
3756            let val: u32 = ::core::mem::transmute(val);
3757            self._bitfield_1.set(2usize, 1u8, val as u64)
3758        }
3759    }
3760    #[inline]
3761    pub fn is_non_existing(&self) -> u32 {
3762        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
3763    }
3764    #[inline]
3765    pub fn set_is_non_existing(&mut self, val: u32) {
3766        unsafe {
3767            let val: u32 = ::core::mem::transmute(val);
3768            self._bitfield_1.set(3usize, 1u8, val as u64)
3769        }
3770    }
3771    #[inline]
3772    pub fn new_bitfield_1(
3773        top_field_flag: u32,
3774        bottom_field_flag: u32,
3775        used_for_long_term_reference: u32,
3776        is_non_existing: u32,
3777    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3778        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3779        __bindgen_bitfield_unit.set(0usize, 1u8, {
3780            let top_field_flag: u32 = unsafe { ::core::mem::transmute(top_field_flag) };
3781            top_field_flag as u64
3782        });
3783        __bindgen_bitfield_unit.set(1usize, 1u8, {
3784            let bottom_field_flag: u32 = unsafe { ::core::mem::transmute(bottom_field_flag) };
3785            bottom_field_flag as u64
3786        });
3787        __bindgen_bitfield_unit.set(2usize, 1u8, {
3788            let used_for_long_term_reference: u32 =
3789                unsafe { ::core::mem::transmute(used_for_long_term_reference) };
3790            used_for_long_term_reference as u64
3791        });
3792        __bindgen_bitfield_unit.set(3usize, 1u8, {
3793            let is_non_existing: u32 = unsafe { ::core::mem::transmute(is_non_existing) };
3794            is_non_existing as u64
3795        });
3796        __bindgen_bitfield_unit
3797    }
3798}
3799#[repr(C)]
3800#[derive(Debug, Copy, Clone)]
3801pub struct StdVideoDecodeH264ReferenceInfo {
3802    pub flags: StdVideoDecodeH264ReferenceInfoFlags,
3803    pub FrameNum: u16,
3804    pub reserved: u16,
3805    pub PicOrderCnt: [i32; 2usize],
3806}
3807#[repr(C)]
3808#[derive(Debug, Copy, Clone)]
3809pub struct StdVideoEncodeH264WeightTableFlags {
3810    pub luma_weight_l0_flag: u32,
3811    pub chroma_weight_l0_flag: u32,
3812    pub luma_weight_l1_flag: u32,
3813    pub chroma_weight_l1_flag: u32,
3814}
3815#[repr(C)]
3816#[derive(Debug, Copy, Clone)]
3817pub struct StdVideoEncodeH264WeightTable {
3818    pub flags: StdVideoEncodeH264WeightTableFlags,
3819    pub luma_log2_weight_denom: u8,
3820    pub chroma_log2_weight_denom: u8,
3821    pub luma_weight_l0: [i8; 32usize],
3822    pub luma_offset_l0: [i8; 32usize],
3823    pub chroma_weight_l0: [[i8; 2usize]; 32usize],
3824    pub chroma_offset_l0: [[i8; 2usize]; 32usize],
3825    pub luma_weight_l1: [i8; 32usize],
3826    pub luma_offset_l1: [i8; 32usize],
3827    pub chroma_weight_l1: [[i8; 2usize]; 32usize],
3828    pub chroma_offset_l1: [[i8; 2usize]; 32usize],
3829}
3830#[repr(C)]
3831#[repr(align(4))]
3832#[derive(Debug, Copy, Clone)]
3833pub struct StdVideoEncodeH264SliceHeaderFlags {
3834    pub _bitfield_align_1: [u32; 0],
3835    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
3836}
3837impl StdVideoEncodeH264SliceHeaderFlags {
3838    #[inline]
3839    pub fn direct_spatial_mv_pred_flag(&self) -> u32 {
3840        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3841    }
3842    #[inline]
3843    pub fn set_direct_spatial_mv_pred_flag(&mut self, val: u32) {
3844        unsafe {
3845            let val: u32 = ::core::mem::transmute(val);
3846            self._bitfield_1.set(0usize, 1u8, val as u64)
3847        }
3848    }
3849    #[inline]
3850    pub fn num_ref_idx_active_override_flag(&self) -> u32 {
3851        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3852    }
3853    #[inline]
3854    pub fn set_num_ref_idx_active_override_flag(&mut self, val: u32) {
3855        unsafe {
3856            let val: u32 = ::core::mem::transmute(val);
3857            self._bitfield_1.set(1usize, 1u8, val as u64)
3858        }
3859    }
3860    #[inline]
3861    pub fn reserved(&self) -> u32 {
3862        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
3863    }
3864    #[inline]
3865    pub fn set_reserved(&mut self, val: u32) {
3866        unsafe {
3867            let val: u32 = ::core::mem::transmute(val);
3868            self._bitfield_1.set(2usize, 30u8, val as u64)
3869        }
3870    }
3871    #[inline]
3872    pub fn new_bitfield_1(
3873        direct_spatial_mv_pred_flag: u32,
3874        num_ref_idx_active_override_flag: u32,
3875        reserved: u32,
3876    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
3877        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
3878        __bindgen_bitfield_unit.set(0usize, 1u8, {
3879            let direct_spatial_mv_pred_flag: u32 =
3880                unsafe { ::core::mem::transmute(direct_spatial_mv_pred_flag) };
3881            direct_spatial_mv_pred_flag as u64
3882        });
3883        __bindgen_bitfield_unit.set(1usize, 1u8, {
3884            let num_ref_idx_active_override_flag: u32 =
3885                unsafe { ::core::mem::transmute(num_ref_idx_active_override_flag) };
3886            num_ref_idx_active_override_flag as u64
3887        });
3888        __bindgen_bitfield_unit.set(2usize, 30u8, {
3889            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
3890            reserved as u64
3891        });
3892        __bindgen_bitfield_unit
3893    }
3894}
3895#[repr(C)]
3896#[repr(align(4))]
3897#[derive(Debug, Copy, Clone)]
3898pub struct StdVideoEncodeH264PictureInfoFlags {
3899    pub _bitfield_align_1: [u32; 0],
3900    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
3901}
3902impl StdVideoEncodeH264PictureInfoFlags {
3903    #[inline]
3904    pub fn IdrPicFlag(&self) -> u32 {
3905        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3906    }
3907    #[inline]
3908    pub fn set_IdrPicFlag(&mut self, val: u32) {
3909        unsafe {
3910            let val: u32 = ::core::mem::transmute(val);
3911            self._bitfield_1.set(0usize, 1u8, val as u64)
3912        }
3913    }
3914    #[inline]
3915    pub fn is_reference(&self) -> u32 {
3916        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3917    }
3918    #[inline]
3919    pub fn set_is_reference(&mut self, val: u32) {
3920        unsafe {
3921            let val: u32 = ::core::mem::transmute(val);
3922            self._bitfield_1.set(1usize, 1u8, val as u64)
3923        }
3924    }
3925    #[inline]
3926    pub fn no_output_of_prior_pics_flag(&self) -> u32 {
3927        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3928    }
3929    #[inline]
3930    pub fn set_no_output_of_prior_pics_flag(&mut self, val: u32) {
3931        unsafe {
3932            let val: u32 = ::core::mem::transmute(val);
3933            self._bitfield_1.set(2usize, 1u8, val as u64)
3934        }
3935    }
3936    #[inline]
3937    pub fn long_term_reference_flag(&self) -> u32 {
3938        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
3939    }
3940    #[inline]
3941    pub fn set_long_term_reference_flag(&mut self, val: u32) {
3942        unsafe {
3943            let val: u32 = ::core::mem::transmute(val);
3944            self._bitfield_1.set(3usize, 1u8, val as u64)
3945        }
3946    }
3947    #[inline]
3948    pub fn adaptive_ref_pic_marking_mode_flag(&self) -> u32 {
3949        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
3950    }
3951    #[inline]
3952    pub fn set_adaptive_ref_pic_marking_mode_flag(&mut self, val: u32) {
3953        unsafe {
3954            let val: u32 = ::core::mem::transmute(val);
3955            self._bitfield_1.set(4usize, 1u8, val as u64)
3956        }
3957    }
3958    #[inline]
3959    pub fn reserved(&self) -> u32 {
3960        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) }
3961    }
3962    #[inline]
3963    pub fn set_reserved(&mut self, val: u32) {
3964        unsafe {
3965            let val: u32 = ::core::mem::transmute(val);
3966            self._bitfield_1.set(5usize, 27u8, val as u64)
3967        }
3968    }
3969    #[inline]
3970    pub fn new_bitfield_1(
3971        IdrPicFlag: u32,
3972        is_reference: u32,
3973        no_output_of_prior_pics_flag: u32,
3974        long_term_reference_flag: u32,
3975        adaptive_ref_pic_marking_mode_flag: u32,
3976        reserved: u32,
3977    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
3978        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
3979        __bindgen_bitfield_unit.set(0usize, 1u8, {
3980            let IdrPicFlag: u32 = unsafe { ::core::mem::transmute(IdrPicFlag) };
3981            IdrPicFlag as u64
3982        });
3983        __bindgen_bitfield_unit.set(1usize, 1u8, {
3984            let is_reference: u32 = unsafe { ::core::mem::transmute(is_reference) };
3985            is_reference as u64
3986        });
3987        __bindgen_bitfield_unit.set(2usize, 1u8, {
3988            let no_output_of_prior_pics_flag: u32 =
3989                unsafe { ::core::mem::transmute(no_output_of_prior_pics_flag) };
3990            no_output_of_prior_pics_flag as u64
3991        });
3992        __bindgen_bitfield_unit.set(3usize, 1u8, {
3993            let long_term_reference_flag: u32 =
3994                unsafe { ::core::mem::transmute(long_term_reference_flag) };
3995            long_term_reference_flag as u64
3996        });
3997        __bindgen_bitfield_unit.set(4usize, 1u8, {
3998            let adaptive_ref_pic_marking_mode_flag: u32 =
3999                unsafe { ::core::mem::transmute(adaptive_ref_pic_marking_mode_flag) };
4000            adaptive_ref_pic_marking_mode_flag as u64
4001        });
4002        __bindgen_bitfield_unit.set(5usize, 27u8, {
4003            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
4004            reserved as u64
4005        });
4006        __bindgen_bitfield_unit
4007    }
4008}
4009#[repr(C)]
4010#[repr(align(4))]
4011#[derive(Debug, Copy, Clone)]
4012pub struct StdVideoEncodeH264ReferenceInfoFlags {
4013    pub _bitfield_align_1: [u32; 0],
4014    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
4015}
4016impl StdVideoEncodeH264ReferenceInfoFlags {
4017    #[inline]
4018    pub fn used_for_long_term_reference(&self) -> u32 {
4019        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4020    }
4021    #[inline]
4022    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
4023        unsafe {
4024            let val: u32 = ::core::mem::transmute(val);
4025            self._bitfield_1.set(0usize, 1u8, val as u64)
4026        }
4027    }
4028    #[inline]
4029    pub fn reserved(&self) -> u32 {
4030        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
4031    }
4032    #[inline]
4033    pub fn set_reserved(&mut self, val: u32) {
4034        unsafe {
4035            let val: u32 = ::core::mem::transmute(val);
4036            self._bitfield_1.set(1usize, 31u8, val as u64)
4037        }
4038    }
4039    #[inline]
4040    pub fn new_bitfield_1(
4041        used_for_long_term_reference: u32,
4042        reserved: u32,
4043    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
4044        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
4045        __bindgen_bitfield_unit.set(0usize, 1u8, {
4046            let used_for_long_term_reference: u32 =
4047                unsafe { ::core::mem::transmute(used_for_long_term_reference) };
4048            used_for_long_term_reference as u64
4049        });
4050        __bindgen_bitfield_unit.set(1usize, 31u8, {
4051            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
4052            reserved as u64
4053        });
4054        __bindgen_bitfield_unit
4055    }
4056}
4057#[repr(C)]
4058#[repr(align(4))]
4059#[derive(Debug, Copy, Clone)]
4060pub struct StdVideoEncodeH264ReferenceListsInfoFlags {
4061    pub _bitfield_align_1: [u32; 0],
4062    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
4063}
4064impl StdVideoEncodeH264ReferenceListsInfoFlags {
4065    #[inline]
4066    pub fn ref_pic_list_modification_flag_l0(&self) -> u32 {
4067        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4068    }
4069    #[inline]
4070    pub fn set_ref_pic_list_modification_flag_l0(&mut self, val: u32) {
4071        unsafe {
4072            let val: u32 = ::core::mem::transmute(val);
4073            self._bitfield_1.set(0usize, 1u8, val as u64)
4074        }
4075    }
4076    #[inline]
4077    pub fn ref_pic_list_modification_flag_l1(&self) -> u32 {
4078        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4079    }
4080    #[inline]
4081    pub fn set_ref_pic_list_modification_flag_l1(&mut self, val: u32) {
4082        unsafe {
4083            let val: u32 = ::core::mem::transmute(val);
4084            self._bitfield_1.set(1usize, 1u8, val as u64)
4085        }
4086    }
4087    #[inline]
4088    pub fn reserved(&self) -> u32 {
4089        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
4090    }
4091    #[inline]
4092    pub fn set_reserved(&mut self, val: u32) {
4093        unsafe {
4094            let val: u32 = ::core::mem::transmute(val);
4095            self._bitfield_1.set(2usize, 30u8, val as u64)
4096        }
4097    }
4098    #[inline]
4099    pub fn new_bitfield_1(
4100        ref_pic_list_modification_flag_l0: u32,
4101        ref_pic_list_modification_flag_l1: u32,
4102        reserved: u32,
4103    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
4104        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
4105        __bindgen_bitfield_unit.set(0usize, 1u8, {
4106            let ref_pic_list_modification_flag_l0: u32 =
4107                unsafe { ::core::mem::transmute(ref_pic_list_modification_flag_l0) };
4108            ref_pic_list_modification_flag_l0 as u64
4109        });
4110        __bindgen_bitfield_unit.set(1usize, 1u8, {
4111            let ref_pic_list_modification_flag_l1: u32 =
4112                unsafe { ::core::mem::transmute(ref_pic_list_modification_flag_l1) };
4113            ref_pic_list_modification_flag_l1 as u64
4114        });
4115        __bindgen_bitfield_unit.set(2usize, 30u8, {
4116            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
4117            reserved as u64
4118        });
4119        __bindgen_bitfield_unit
4120    }
4121}
4122#[repr(C)]
4123#[derive(Debug, Copy, Clone)]
4124pub struct StdVideoEncodeH264RefListModEntry {
4125    pub modification_of_pic_nums_idc: StdVideoH264ModificationOfPicNumsIdc,
4126    pub abs_diff_pic_num_minus1: u16,
4127    pub long_term_pic_num: u16,
4128}
4129#[repr(C)]
4130#[derive(Debug, Copy, Clone)]
4131pub struct StdVideoEncodeH264RefPicMarkingEntry {
4132    pub memory_management_control_operation: StdVideoH264MemMgmtControlOp,
4133    pub difference_of_pic_nums_minus1: u16,
4134    pub long_term_pic_num: u16,
4135    pub long_term_frame_idx: u16,
4136    pub max_long_term_frame_idx_plus1: u16,
4137}
4138#[repr(C)]
4139#[derive(Debug, Copy, Clone)]
4140pub struct StdVideoEncodeH264ReferenceListsInfo {
4141    pub flags: StdVideoEncodeH264ReferenceListsInfoFlags,
4142    pub num_ref_idx_l0_active_minus1: u8,
4143    pub num_ref_idx_l1_active_minus1: u8,
4144    pub RefPicList0: [u8; 32usize],
4145    pub RefPicList1: [u8; 32usize],
4146    pub refList0ModOpCount: u8,
4147    pub refList1ModOpCount: u8,
4148    pub refPicMarkingOpCount: u8,
4149    pub reserved1: [u8; 7usize],
4150    pub pRefList0ModOperations: *const StdVideoEncodeH264RefListModEntry,
4151    pub pRefList1ModOperations: *const StdVideoEncodeH264RefListModEntry,
4152    pub pRefPicMarkingOperations: *const StdVideoEncodeH264RefPicMarkingEntry,
4153}
4154#[repr(C)]
4155#[derive(Debug, Copy, Clone)]
4156pub struct StdVideoEncodeH264PictureInfo {
4157    pub flags: StdVideoEncodeH264PictureInfoFlags,
4158    pub seq_parameter_set_id: u8,
4159    pub pic_parameter_set_id: u8,
4160    pub idr_pic_id: u16,
4161    pub primary_pic_type: StdVideoH264PictureType,
4162    pub frame_num: u32,
4163    pub PicOrderCnt: i32,
4164    pub temporal_id: u8,
4165    pub reserved1: [u8; 3usize],
4166    pub pRefLists: *const StdVideoEncodeH264ReferenceListsInfo,
4167}
4168#[repr(C)]
4169#[derive(Debug, Copy, Clone)]
4170pub struct StdVideoEncodeH264ReferenceInfo {
4171    pub flags: StdVideoEncodeH264ReferenceInfoFlags,
4172    pub primary_pic_type: StdVideoH264PictureType,
4173    pub FrameNum: u32,
4174    pub PicOrderCnt: i32,
4175    pub long_term_pic_num: u16,
4176    pub long_term_frame_idx: u16,
4177    pub temporal_id: u8,
4178}
4179#[repr(C)]
4180#[derive(Debug, Copy, Clone)]
4181pub struct StdVideoEncodeH264SliceHeader {
4182    pub flags: StdVideoEncodeH264SliceHeaderFlags,
4183    pub first_mb_in_slice: u32,
4184    pub slice_type: StdVideoH264SliceType,
4185    pub slice_alpha_c0_offset_div2: i8,
4186    pub slice_beta_offset_div2: i8,
4187    pub slice_qp_delta: i8,
4188    pub reserved1: u8,
4189    pub cabac_init_idc: StdVideoH264CabacInitIdc,
4190    pub disable_deblocking_filter_idc: StdVideoH264DisableDeblockingFilterIdc,
4191    pub pWeightTable: *const StdVideoEncodeH264WeightTable,
4192}
4193pub const STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME: StdVideoH265ChromaFormatIdc =
4194    StdVideoH265ChromaFormatIdc(0);
4195pub const STD_VIDEO_H265_CHROMA_FORMAT_IDC_420: StdVideoH265ChromaFormatIdc =
4196    StdVideoH265ChromaFormatIdc(1);
4197pub const STD_VIDEO_H265_CHROMA_FORMAT_IDC_422: StdVideoH265ChromaFormatIdc =
4198    StdVideoH265ChromaFormatIdc(2);
4199pub const STD_VIDEO_H265_CHROMA_FORMAT_IDC_444: StdVideoH265ChromaFormatIdc =
4200    StdVideoH265ChromaFormatIdc(3);
4201pub const STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID: StdVideoH265ChromaFormatIdc =
4202    StdVideoH265ChromaFormatIdc(2147483647);
4203pub const STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM: StdVideoH265ChromaFormatIdc =
4204    StdVideoH265ChromaFormatIdc(2147483647);
4205#[repr(transparent)]
4206#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
4207pub struct StdVideoH265ChromaFormatIdc(pub ::core::ffi::c_int);
4208pub const STD_VIDEO_H265_PROFILE_IDC_MAIN: StdVideoH265ProfileIdc = StdVideoH265ProfileIdc(1);
4209pub const STD_VIDEO_H265_PROFILE_IDC_MAIN_10: StdVideoH265ProfileIdc = StdVideoH265ProfileIdc(2);
4210pub const STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE: StdVideoH265ProfileIdc =
4211    StdVideoH265ProfileIdc(3);
4212pub const STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS: StdVideoH265ProfileIdc =
4213    StdVideoH265ProfileIdc(4);
4214pub const STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS: StdVideoH265ProfileIdc =
4215    StdVideoH265ProfileIdc(9);
4216pub const STD_VIDEO_H265_PROFILE_IDC_INVALID: StdVideoH265ProfileIdc =
4217    StdVideoH265ProfileIdc(2147483647);
4218pub const STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM: StdVideoH265ProfileIdc =
4219    StdVideoH265ProfileIdc(2147483647);
4220#[repr(transparent)]
4221#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
4222pub struct StdVideoH265ProfileIdc(pub ::core::ffi::c_int);
4223pub const STD_VIDEO_H265_LEVEL_IDC_1_0: StdVideoH265LevelIdc = StdVideoH265LevelIdc(0);
4224pub const STD_VIDEO_H265_LEVEL_IDC_2_0: StdVideoH265LevelIdc = StdVideoH265LevelIdc(1);
4225pub const STD_VIDEO_H265_LEVEL_IDC_2_1: StdVideoH265LevelIdc = StdVideoH265LevelIdc(2);
4226pub const STD_VIDEO_H265_LEVEL_IDC_3_0: StdVideoH265LevelIdc = StdVideoH265LevelIdc(3);
4227pub const STD_VIDEO_H265_LEVEL_IDC_3_1: StdVideoH265LevelIdc = StdVideoH265LevelIdc(4);
4228pub const STD_VIDEO_H265_LEVEL_IDC_4_0: StdVideoH265LevelIdc = StdVideoH265LevelIdc(5);
4229pub const STD_VIDEO_H265_LEVEL_IDC_4_1: StdVideoH265LevelIdc = StdVideoH265LevelIdc(6);
4230pub const STD_VIDEO_H265_LEVEL_IDC_5_0: StdVideoH265LevelIdc = StdVideoH265LevelIdc(7);
4231pub const STD_VIDEO_H265_LEVEL_IDC_5_1: StdVideoH265LevelIdc = StdVideoH265LevelIdc(8);
4232pub const STD_VIDEO_H265_LEVEL_IDC_5_2: StdVideoH265LevelIdc = StdVideoH265LevelIdc(9);
4233pub const STD_VIDEO_H265_LEVEL_IDC_6_0: StdVideoH265LevelIdc = StdVideoH265LevelIdc(10);
4234pub const STD_VIDEO_H265_LEVEL_IDC_6_1: StdVideoH265LevelIdc = StdVideoH265LevelIdc(11);
4235pub const STD_VIDEO_H265_LEVEL_IDC_6_2: StdVideoH265LevelIdc = StdVideoH265LevelIdc(12);
4236pub const STD_VIDEO_H265_LEVEL_IDC_INVALID: StdVideoH265LevelIdc = StdVideoH265LevelIdc(2147483647);
4237pub const STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM: StdVideoH265LevelIdc =
4238    StdVideoH265LevelIdc(2147483647);
4239#[repr(transparent)]
4240#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
4241pub struct StdVideoH265LevelIdc(pub ::core::ffi::c_int);
4242pub const STD_VIDEO_H265_SLICE_TYPE_B: StdVideoH265SliceType = StdVideoH265SliceType(0);
4243pub const STD_VIDEO_H265_SLICE_TYPE_P: StdVideoH265SliceType = StdVideoH265SliceType(1);
4244pub const STD_VIDEO_H265_SLICE_TYPE_I: StdVideoH265SliceType = StdVideoH265SliceType(2);
4245pub const STD_VIDEO_H265_SLICE_TYPE_INVALID: StdVideoH265SliceType =
4246    StdVideoH265SliceType(2147483647);
4247pub const STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM: StdVideoH265SliceType =
4248    StdVideoH265SliceType(2147483647);
4249#[repr(transparent)]
4250#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
4251pub struct StdVideoH265SliceType(pub ::core::ffi::c_int);
4252pub const STD_VIDEO_H265_PICTURE_TYPE_P: StdVideoH265PictureType = StdVideoH265PictureType(0);
4253pub const STD_VIDEO_H265_PICTURE_TYPE_B: StdVideoH265PictureType = StdVideoH265PictureType(1);
4254pub const STD_VIDEO_H265_PICTURE_TYPE_I: StdVideoH265PictureType = StdVideoH265PictureType(2);
4255pub const STD_VIDEO_H265_PICTURE_TYPE_IDR: StdVideoH265PictureType = StdVideoH265PictureType(3);
4256pub const STD_VIDEO_H265_PICTURE_TYPE_INVALID: StdVideoH265PictureType =
4257    StdVideoH265PictureType(2147483647);
4258pub const STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM: StdVideoH265PictureType =
4259    StdVideoH265PictureType(2147483647);
4260#[repr(transparent)]
4261#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
4262pub struct StdVideoH265PictureType(pub ::core::ffi::c_int);
4263pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED: StdVideoH265AspectRatioIdc =
4264    StdVideoH265AspectRatioIdc(0);
4265pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE: StdVideoH265AspectRatioIdc =
4266    StdVideoH265AspectRatioIdc(1);
4267pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11: StdVideoH265AspectRatioIdc =
4268    StdVideoH265AspectRatioIdc(2);
4269pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11: StdVideoH265AspectRatioIdc =
4270    StdVideoH265AspectRatioIdc(3);
4271pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11: StdVideoH265AspectRatioIdc =
4272    StdVideoH265AspectRatioIdc(4);
4273pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33: StdVideoH265AspectRatioIdc =
4274    StdVideoH265AspectRatioIdc(5);
4275pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11: StdVideoH265AspectRatioIdc =
4276    StdVideoH265AspectRatioIdc(6);
4277pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11: StdVideoH265AspectRatioIdc =
4278    StdVideoH265AspectRatioIdc(7);
4279pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11: StdVideoH265AspectRatioIdc =
4280    StdVideoH265AspectRatioIdc(8);
4281pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33: StdVideoH265AspectRatioIdc =
4282    StdVideoH265AspectRatioIdc(9);
4283pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11: StdVideoH265AspectRatioIdc =
4284    StdVideoH265AspectRatioIdc(10);
4285pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11: StdVideoH265AspectRatioIdc =
4286    StdVideoH265AspectRatioIdc(11);
4287pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33: StdVideoH265AspectRatioIdc =
4288    StdVideoH265AspectRatioIdc(12);
4289pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99: StdVideoH265AspectRatioIdc =
4290    StdVideoH265AspectRatioIdc(13);
4291pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3: StdVideoH265AspectRatioIdc =
4292    StdVideoH265AspectRatioIdc(14);
4293pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2: StdVideoH265AspectRatioIdc =
4294    StdVideoH265AspectRatioIdc(15);
4295pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1: StdVideoH265AspectRatioIdc =
4296    StdVideoH265AspectRatioIdc(16);
4297pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR: StdVideoH265AspectRatioIdc =
4298    StdVideoH265AspectRatioIdc(255);
4299pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID: StdVideoH265AspectRatioIdc =
4300    StdVideoH265AspectRatioIdc(2147483647);
4301pub const STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM: StdVideoH265AspectRatioIdc =
4302    StdVideoH265AspectRatioIdc(2147483647);
4303#[repr(transparent)]
4304#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
4305pub struct StdVideoH265AspectRatioIdc(pub ::core::ffi::c_int);
4306#[repr(C)]
4307#[derive(Debug, Copy, Clone)]
4308pub struct StdVideoH265DecPicBufMgr {
4309    pub max_latency_increase_plus1: [u32; 7usize],
4310    pub max_dec_pic_buffering_minus1: [u8; 7usize],
4311    pub max_num_reorder_pics: [u8; 7usize],
4312}
4313#[repr(C)]
4314#[derive(Debug, Copy, Clone)]
4315pub struct StdVideoH265SubLayerHrdParameters {
4316    pub bit_rate_value_minus1: [u32; 32usize],
4317    pub cpb_size_value_minus1: [u32; 32usize],
4318    pub cpb_size_du_value_minus1: [u32; 32usize],
4319    pub bit_rate_du_value_minus1: [u32; 32usize],
4320    pub cbr_flag: u32,
4321}
4322#[repr(C)]
4323#[repr(align(4))]
4324#[derive(Debug, Copy, Clone)]
4325pub struct StdVideoH265HrdFlags {
4326    pub _bitfield_align_1: [u8; 0],
4327    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
4328}
4329impl StdVideoH265HrdFlags {
4330    #[inline]
4331    pub fn nal_hrd_parameters_present_flag(&self) -> u32 {
4332        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4333    }
4334    #[inline]
4335    pub fn set_nal_hrd_parameters_present_flag(&mut self, val: u32) {
4336        unsafe {
4337            let val: u32 = ::core::mem::transmute(val);
4338            self._bitfield_1.set(0usize, 1u8, val as u64)
4339        }
4340    }
4341    #[inline]
4342    pub fn vcl_hrd_parameters_present_flag(&self) -> u32 {
4343        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4344    }
4345    #[inline]
4346    pub fn set_vcl_hrd_parameters_present_flag(&mut self, val: u32) {
4347        unsafe {
4348            let val: u32 = ::core::mem::transmute(val);
4349            self._bitfield_1.set(1usize, 1u8, val as u64)
4350        }
4351    }
4352    #[inline]
4353    pub fn sub_pic_hrd_params_present_flag(&self) -> u32 {
4354        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4355    }
4356    #[inline]
4357    pub fn set_sub_pic_hrd_params_present_flag(&mut self, val: u32) {
4358        unsafe {
4359            let val: u32 = ::core::mem::transmute(val);
4360            self._bitfield_1.set(2usize, 1u8, val as u64)
4361        }
4362    }
4363    #[inline]
4364    pub fn sub_pic_cpb_params_in_pic_timing_sei_flag(&self) -> u32 {
4365        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
4366    }
4367    #[inline]
4368    pub fn set_sub_pic_cpb_params_in_pic_timing_sei_flag(&mut self, val: u32) {
4369        unsafe {
4370            let val: u32 = ::core::mem::transmute(val);
4371            self._bitfield_1.set(3usize, 1u8, val as u64)
4372        }
4373    }
4374    #[inline]
4375    pub fn fixed_pic_rate_general_flag(&self) -> u32 {
4376        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 8u8) as u32) }
4377    }
4378    #[inline]
4379    pub fn set_fixed_pic_rate_general_flag(&mut self, val: u32) {
4380        unsafe {
4381            let val: u32 = ::core::mem::transmute(val);
4382            self._bitfield_1.set(4usize, 8u8, val as u64)
4383        }
4384    }
4385    #[inline]
4386    pub fn fixed_pic_rate_within_cvs_flag(&self) -> u32 {
4387        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 8u8) as u32) }
4388    }
4389    #[inline]
4390    pub fn set_fixed_pic_rate_within_cvs_flag(&mut self, val: u32) {
4391        unsafe {
4392            let val: u32 = ::core::mem::transmute(val);
4393            self._bitfield_1.set(12usize, 8u8, val as u64)
4394        }
4395    }
4396    #[inline]
4397    pub fn low_delay_hrd_flag(&self) -> u32 {
4398        unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 8u8) as u32) }
4399    }
4400    #[inline]
4401    pub fn set_low_delay_hrd_flag(&mut self, val: u32) {
4402        unsafe {
4403            let val: u32 = ::core::mem::transmute(val);
4404            self._bitfield_1.set(20usize, 8u8, val as u64)
4405        }
4406    }
4407    #[inline]
4408    pub fn new_bitfield_1(
4409        nal_hrd_parameters_present_flag: u32,
4410        vcl_hrd_parameters_present_flag: u32,
4411        sub_pic_hrd_params_present_flag: u32,
4412        sub_pic_cpb_params_in_pic_timing_sei_flag: u32,
4413        fixed_pic_rate_general_flag: u32,
4414        fixed_pic_rate_within_cvs_flag: u32,
4415        low_delay_hrd_flag: u32,
4416    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
4417        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
4418        __bindgen_bitfield_unit.set(0usize, 1u8, {
4419            let nal_hrd_parameters_present_flag: u32 =
4420                unsafe { ::core::mem::transmute(nal_hrd_parameters_present_flag) };
4421            nal_hrd_parameters_present_flag as u64
4422        });
4423        __bindgen_bitfield_unit.set(1usize, 1u8, {
4424            let vcl_hrd_parameters_present_flag: u32 =
4425                unsafe { ::core::mem::transmute(vcl_hrd_parameters_present_flag) };
4426            vcl_hrd_parameters_present_flag as u64
4427        });
4428        __bindgen_bitfield_unit.set(2usize, 1u8, {
4429            let sub_pic_hrd_params_present_flag: u32 =
4430                unsafe { ::core::mem::transmute(sub_pic_hrd_params_present_flag) };
4431            sub_pic_hrd_params_present_flag as u64
4432        });
4433        __bindgen_bitfield_unit.set(3usize, 1u8, {
4434            let sub_pic_cpb_params_in_pic_timing_sei_flag: u32 =
4435                unsafe { ::core::mem::transmute(sub_pic_cpb_params_in_pic_timing_sei_flag) };
4436            sub_pic_cpb_params_in_pic_timing_sei_flag as u64
4437        });
4438        __bindgen_bitfield_unit.set(4usize, 8u8, {
4439            let fixed_pic_rate_general_flag: u32 =
4440                unsafe { ::core::mem::transmute(fixed_pic_rate_general_flag) };
4441            fixed_pic_rate_general_flag as u64
4442        });
4443        __bindgen_bitfield_unit.set(12usize, 8u8, {
4444            let fixed_pic_rate_within_cvs_flag: u32 =
4445                unsafe { ::core::mem::transmute(fixed_pic_rate_within_cvs_flag) };
4446            fixed_pic_rate_within_cvs_flag as u64
4447        });
4448        __bindgen_bitfield_unit.set(20usize, 8u8, {
4449            let low_delay_hrd_flag: u32 = unsafe { ::core::mem::transmute(low_delay_hrd_flag) };
4450            low_delay_hrd_flag as u64
4451        });
4452        __bindgen_bitfield_unit
4453    }
4454}
4455#[repr(C)]
4456#[derive(Debug, Copy, Clone)]
4457pub struct StdVideoH265HrdParameters {
4458    pub flags: StdVideoH265HrdFlags,
4459    pub tick_divisor_minus2: u8,
4460    pub du_cpb_removal_delay_increment_length_minus1: u8,
4461    pub dpb_output_delay_du_length_minus1: u8,
4462    pub bit_rate_scale: u8,
4463    pub cpb_size_scale: u8,
4464    pub cpb_size_du_scale: u8,
4465    pub initial_cpb_removal_delay_length_minus1: u8,
4466    pub au_cpb_removal_delay_length_minus1: u8,
4467    pub dpb_output_delay_length_minus1: u8,
4468    pub cpb_cnt_minus1: [u8; 7usize],
4469    pub elemental_duration_in_tc_minus1: [u16; 7usize],
4470    pub reserved: [u16; 3usize],
4471    pub pSubLayerHrdParametersNal: *const StdVideoH265SubLayerHrdParameters,
4472    pub pSubLayerHrdParametersVcl: *const StdVideoH265SubLayerHrdParameters,
4473}
4474#[repr(C)]
4475#[repr(align(4))]
4476#[derive(Debug, Copy, Clone)]
4477pub struct StdVideoH265VpsFlags {
4478    pub _bitfield_align_1: [u8; 0],
4479    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
4480    pub __bindgen_padding_0: [u8; 3usize],
4481}
4482impl StdVideoH265VpsFlags {
4483    #[inline]
4484    pub fn vps_temporal_id_nesting_flag(&self) -> u32 {
4485        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4486    }
4487    #[inline]
4488    pub fn set_vps_temporal_id_nesting_flag(&mut self, val: u32) {
4489        unsafe {
4490            let val: u32 = ::core::mem::transmute(val);
4491            self._bitfield_1.set(0usize, 1u8, val as u64)
4492        }
4493    }
4494    #[inline]
4495    pub fn vps_sub_layer_ordering_info_present_flag(&self) -> u32 {
4496        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4497    }
4498    #[inline]
4499    pub fn set_vps_sub_layer_ordering_info_present_flag(&mut self, val: u32) {
4500        unsafe {
4501            let val: u32 = ::core::mem::transmute(val);
4502            self._bitfield_1.set(1usize, 1u8, val as u64)
4503        }
4504    }
4505    #[inline]
4506    pub fn vps_timing_info_present_flag(&self) -> u32 {
4507        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4508    }
4509    #[inline]
4510    pub fn set_vps_timing_info_present_flag(&mut self, val: u32) {
4511        unsafe {
4512            let val: u32 = ::core::mem::transmute(val);
4513            self._bitfield_1.set(2usize, 1u8, val as u64)
4514        }
4515    }
4516    #[inline]
4517    pub fn vps_poc_proportional_to_timing_flag(&self) -> u32 {
4518        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
4519    }
4520    #[inline]
4521    pub fn set_vps_poc_proportional_to_timing_flag(&mut self, val: u32) {
4522        unsafe {
4523            let val: u32 = ::core::mem::transmute(val);
4524            self._bitfield_1.set(3usize, 1u8, val as u64)
4525        }
4526    }
4527    #[inline]
4528    pub fn new_bitfield_1(
4529        vps_temporal_id_nesting_flag: u32,
4530        vps_sub_layer_ordering_info_present_flag: u32,
4531        vps_timing_info_present_flag: u32,
4532        vps_poc_proportional_to_timing_flag: u32,
4533    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
4534        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
4535        __bindgen_bitfield_unit.set(0usize, 1u8, {
4536            let vps_temporal_id_nesting_flag: u32 =
4537                unsafe { ::core::mem::transmute(vps_temporal_id_nesting_flag) };
4538            vps_temporal_id_nesting_flag as u64
4539        });
4540        __bindgen_bitfield_unit.set(1usize, 1u8, {
4541            let vps_sub_layer_ordering_info_present_flag: u32 =
4542                unsafe { ::core::mem::transmute(vps_sub_layer_ordering_info_present_flag) };
4543            vps_sub_layer_ordering_info_present_flag as u64
4544        });
4545        __bindgen_bitfield_unit.set(2usize, 1u8, {
4546            let vps_timing_info_present_flag: u32 =
4547                unsafe { ::core::mem::transmute(vps_timing_info_present_flag) };
4548            vps_timing_info_present_flag as u64
4549        });
4550        __bindgen_bitfield_unit.set(3usize, 1u8, {
4551            let vps_poc_proportional_to_timing_flag: u32 =
4552                unsafe { ::core::mem::transmute(vps_poc_proportional_to_timing_flag) };
4553            vps_poc_proportional_to_timing_flag as u64
4554        });
4555        __bindgen_bitfield_unit
4556    }
4557}
4558#[repr(C)]
4559#[repr(align(4))]
4560#[derive(Debug, Copy, Clone)]
4561pub struct StdVideoH265ProfileTierLevelFlags {
4562    pub _bitfield_align_1: [u8; 0],
4563    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
4564    pub __bindgen_padding_0: [u8; 3usize],
4565}
4566impl StdVideoH265ProfileTierLevelFlags {
4567    #[inline]
4568    pub fn general_tier_flag(&self) -> u32 {
4569        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4570    }
4571    #[inline]
4572    pub fn set_general_tier_flag(&mut self, val: u32) {
4573        unsafe {
4574            let val: u32 = ::core::mem::transmute(val);
4575            self._bitfield_1.set(0usize, 1u8, val as u64)
4576        }
4577    }
4578    #[inline]
4579    pub fn general_progressive_source_flag(&self) -> u32 {
4580        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4581    }
4582    #[inline]
4583    pub fn set_general_progressive_source_flag(&mut self, val: u32) {
4584        unsafe {
4585            let val: u32 = ::core::mem::transmute(val);
4586            self._bitfield_1.set(1usize, 1u8, val as u64)
4587        }
4588    }
4589    #[inline]
4590    pub fn general_interlaced_source_flag(&self) -> u32 {
4591        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4592    }
4593    #[inline]
4594    pub fn set_general_interlaced_source_flag(&mut self, val: u32) {
4595        unsafe {
4596            let val: u32 = ::core::mem::transmute(val);
4597            self._bitfield_1.set(2usize, 1u8, val as u64)
4598        }
4599    }
4600    #[inline]
4601    pub fn general_non_packed_constraint_flag(&self) -> u32 {
4602        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
4603    }
4604    #[inline]
4605    pub fn set_general_non_packed_constraint_flag(&mut self, val: u32) {
4606        unsafe {
4607            let val: u32 = ::core::mem::transmute(val);
4608            self._bitfield_1.set(3usize, 1u8, val as u64)
4609        }
4610    }
4611    #[inline]
4612    pub fn general_frame_only_constraint_flag(&self) -> u32 {
4613        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
4614    }
4615    #[inline]
4616    pub fn set_general_frame_only_constraint_flag(&mut self, val: u32) {
4617        unsafe {
4618            let val: u32 = ::core::mem::transmute(val);
4619            self._bitfield_1.set(4usize, 1u8, val as u64)
4620        }
4621    }
4622    #[inline]
4623    pub fn new_bitfield_1(
4624        general_tier_flag: u32,
4625        general_progressive_source_flag: u32,
4626        general_interlaced_source_flag: u32,
4627        general_non_packed_constraint_flag: u32,
4628        general_frame_only_constraint_flag: u32,
4629    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
4630        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
4631        __bindgen_bitfield_unit.set(0usize, 1u8, {
4632            let general_tier_flag: u32 = unsafe { ::core::mem::transmute(general_tier_flag) };
4633            general_tier_flag as u64
4634        });
4635        __bindgen_bitfield_unit.set(1usize, 1u8, {
4636            let general_progressive_source_flag: u32 =
4637                unsafe { ::core::mem::transmute(general_progressive_source_flag) };
4638            general_progressive_source_flag as u64
4639        });
4640        __bindgen_bitfield_unit.set(2usize, 1u8, {
4641            let general_interlaced_source_flag: u32 =
4642                unsafe { ::core::mem::transmute(general_interlaced_source_flag) };
4643            general_interlaced_source_flag as u64
4644        });
4645        __bindgen_bitfield_unit.set(3usize, 1u8, {
4646            let general_non_packed_constraint_flag: u32 =
4647                unsafe { ::core::mem::transmute(general_non_packed_constraint_flag) };
4648            general_non_packed_constraint_flag as u64
4649        });
4650        __bindgen_bitfield_unit.set(4usize, 1u8, {
4651            let general_frame_only_constraint_flag: u32 =
4652                unsafe { ::core::mem::transmute(general_frame_only_constraint_flag) };
4653            general_frame_only_constraint_flag as u64
4654        });
4655        __bindgen_bitfield_unit
4656    }
4657}
4658#[repr(C)]
4659#[derive(Debug, Copy, Clone)]
4660pub struct StdVideoH265ProfileTierLevel {
4661    pub flags: StdVideoH265ProfileTierLevelFlags,
4662    pub general_profile_idc: StdVideoH265ProfileIdc,
4663    pub general_level_idc: StdVideoH265LevelIdc,
4664}
4665#[repr(C)]
4666#[derive(Debug, Copy, Clone)]
4667pub struct StdVideoH265VideoParameterSet {
4668    pub flags: StdVideoH265VpsFlags,
4669    pub vps_video_parameter_set_id: u8,
4670    pub vps_max_sub_layers_minus1: u8,
4671    pub reserved1: u8,
4672    pub reserved2: u8,
4673    pub vps_num_units_in_tick: u32,
4674    pub vps_time_scale: u32,
4675    pub vps_num_ticks_poc_diff_one_minus1: u32,
4676    pub reserved3: u32,
4677    pub pDecPicBufMgr: *const StdVideoH265DecPicBufMgr,
4678    pub pHrdParameters: *const StdVideoH265HrdParameters,
4679    pub pProfileTierLevel: *const StdVideoH265ProfileTierLevel,
4680}
4681#[repr(C)]
4682#[derive(Debug, Copy, Clone)]
4683pub struct StdVideoH265ScalingLists {
4684    pub ScalingList4x4: [[u8; 16usize]; 6usize],
4685    pub ScalingList8x8: [[u8; 64usize]; 6usize],
4686    pub ScalingList16x16: [[u8; 64usize]; 6usize],
4687    pub ScalingList32x32: [[u8; 64usize]; 2usize],
4688    pub ScalingListDCCoef16x16: [u8; 6usize],
4689    pub ScalingListDCCoef32x32: [u8; 2usize],
4690}
4691#[repr(C)]
4692#[repr(align(4))]
4693#[derive(Debug, Copy, Clone)]
4694pub struct StdVideoH265SpsVuiFlags {
4695    pub _bitfield_align_1: [u8; 0],
4696    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
4697    pub __bindgen_padding_0: u8,
4698}
4699impl StdVideoH265SpsVuiFlags {
4700    #[inline]
4701    pub fn aspect_ratio_info_present_flag(&self) -> u32 {
4702        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4703    }
4704    #[inline]
4705    pub fn set_aspect_ratio_info_present_flag(&mut self, val: u32) {
4706        unsafe {
4707            let val: u32 = ::core::mem::transmute(val);
4708            self._bitfield_1.set(0usize, 1u8, val as u64)
4709        }
4710    }
4711    #[inline]
4712    pub fn overscan_info_present_flag(&self) -> u32 {
4713        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4714    }
4715    #[inline]
4716    pub fn set_overscan_info_present_flag(&mut self, val: u32) {
4717        unsafe {
4718            let val: u32 = ::core::mem::transmute(val);
4719            self._bitfield_1.set(1usize, 1u8, val as u64)
4720        }
4721    }
4722    #[inline]
4723    pub fn overscan_appropriate_flag(&self) -> u32 {
4724        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4725    }
4726    #[inline]
4727    pub fn set_overscan_appropriate_flag(&mut self, val: u32) {
4728        unsafe {
4729            let val: u32 = ::core::mem::transmute(val);
4730            self._bitfield_1.set(2usize, 1u8, val as u64)
4731        }
4732    }
4733    #[inline]
4734    pub fn video_signal_type_present_flag(&self) -> u32 {
4735        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
4736    }
4737    #[inline]
4738    pub fn set_video_signal_type_present_flag(&mut self, val: u32) {
4739        unsafe {
4740            let val: u32 = ::core::mem::transmute(val);
4741            self._bitfield_1.set(3usize, 1u8, val as u64)
4742        }
4743    }
4744    #[inline]
4745    pub fn video_full_range_flag(&self) -> u32 {
4746        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
4747    }
4748    #[inline]
4749    pub fn set_video_full_range_flag(&mut self, val: u32) {
4750        unsafe {
4751            let val: u32 = ::core::mem::transmute(val);
4752            self._bitfield_1.set(4usize, 1u8, val as u64)
4753        }
4754    }
4755    #[inline]
4756    pub fn colour_description_present_flag(&self) -> u32 {
4757        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
4758    }
4759    #[inline]
4760    pub fn set_colour_description_present_flag(&mut self, val: u32) {
4761        unsafe {
4762            let val: u32 = ::core::mem::transmute(val);
4763            self._bitfield_1.set(5usize, 1u8, val as u64)
4764        }
4765    }
4766    #[inline]
4767    pub fn chroma_loc_info_present_flag(&self) -> u32 {
4768        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
4769    }
4770    #[inline]
4771    pub fn set_chroma_loc_info_present_flag(&mut self, val: u32) {
4772        unsafe {
4773            let val: u32 = ::core::mem::transmute(val);
4774            self._bitfield_1.set(6usize, 1u8, val as u64)
4775        }
4776    }
4777    #[inline]
4778    pub fn neutral_chroma_indication_flag(&self) -> u32 {
4779        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
4780    }
4781    #[inline]
4782    pub fn set_neutral_chroma_indication_flag(&mut self, val: u32) {
4783        unsafe {
4784            let val: u32 = ::core::mem::transmute(val);
4785            self._bitfield_1.set(7usize, 1u8, val as u64)
4786        }
4787    }
4788    #[inline]
4789    pub fn field_seq_flag(&self) -> u32 {
4790        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
4791    }
4792    #[inline]
4793    pub fn set_field_seq_flag(&mut self, val: u32) {
4794        unsafe {
4795            let val: u32 = ::core::mem::transmute(val);
4796            self._bitfield_1.set(8usize, 1u8, val as u64)
4797        }
4798    }
4799    #[inline]
4800    pub fn frame_field_info_present_flag(&self) -> u32 {
4801        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
4802    }
4803    #[inline]
4804    pub fn set_frame_field_info_present_flag(&mut self, val: u32) {
4805        unsafe {
4806            let val: u32 = ::core::mem::transmute(val);
4807            self._bitfield_1.set(9usize, 1u8, val as u64)
4808        }
4809    }
4810    #[inline]
4811    pub fn default_display_window_flag(&self) -> u32 {
4812        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
4813    }
4814    #[inline]
4815    pub fn set_default_display_window_flag(&mut self, val: u32) {
4816        unsafe {
4817            let val: u32 = ::core::mem::transmute(val);
4818            self._bitfield_1.set(10usize, 1u8, val as u64)
4819        }
4820    }
4821    #[inline]
4822    pub fn vui_timing_info_present_flag(&self) -> u32 {
4823        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
4824    }
4825    #[inline]
4826    pub fn set_vui_timing_info_present_flag(&mut self, val: u32) {
4827        unsafe {
4828            let val: u32 = ::core::mem::transmute(val);
4829            self._bitfield_1.set(11usize, 1u8, val as u64)
4830        }
4831    }
4832    #[inline]
4833    pub fn vui_poc_proportional_to_timing_flag(&self) -> u32 {
4834        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
4835    }
4836    #[inline]
4837    pub fn set_vui_poc_proportional_to_timing_flag(&mut self, val: u32) {
4838        unsafe {
4839            let val: u32 = ::core::mem::transmute(val);
4840            self._bitfield_1.set(12usize, 1u8, val as u64)
4841        }
4842    }
4843    #[inline]
4844    pub fn vui_hrd_parameters_present_flag(&self) -> u32 {
4845        unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
4846    }
4847    #[inline]
4848    pub fn set_vui_hrd_parameters_present_flag(&mut self, val: u32) {
4849        unsafe {
4850            let val: u32 = ::core::mem::transmute(val);
4851            self._bitfield_1.set(13usize, 1u8, val as u64)
4852        }
4853    }
4854    #[inline]
4855    pub fn bitstream_restriction_flag(&self) -> u32 {
4856        unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
4857    }
4858    #[inline]
4859    pub fn set_bitstream_restriction_flag(&mut self, val: u32) {
4860        unsafe {
4861            let val: u32 = ::core::mem::transmute(val);
4862            self._bitfield_1.set(14usize, 1u8, val as u64)
4863        }
4864    }
4865    #[inline]
4866    pub fn tiles_fixed_structure_flag(&self) -> u32 {
4867        unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
4868    }
4869    #[inline]
4870    pub fn set_tiles_fixed_structure_flag(&mut self, val: u32) {
4871        unsafe {
4872            let val: u32 = ::core::mem::transmute(val);
4873            self._bitfield_1.set(15usize, 1u8, val as u64)
4874        }
4875    }
4876    #[inline]
4877    pub fn motion_vectors_over_pic_boundaries_flag(&self) -> u32 {
4878        unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
4879    }
4880    #[inline]
4881    pub fn set_motion_vectors_over_pic_boundaries_flag(&mut self, val: u32) {
4882        unsafe {
4883            let val: u32 = ::core::mem::transmute(val);
4884            self._bitfield_1.set(16usize, 1u8, val as u64)
4885        }
4886    }
4887    #[inline]
4888    pub fn restricted_ref_pic_lists_flag(&self) -> u32 {
4889        unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
4890    }
4891    #[inline]
4892    pub fn set_restricted_ref_pic_lists_flag(&mut self, val: u32) {
4893        unsafe {
4894            let val: u32 = ::core::mem::transmute(val);
4895            self._bitfield_1.set(17usize, 1u8, val as u64)
4896        }
4897    }
4898    #[inline]
4899    pub fn new_bitfield_1(
4900        aspect_ratio_info_present_flag: u32,
4901        overscan_info_present_flag: u32,
4902        overscan_appropriate_flag: u32,
4903        video_signal_type_present_flag: u32,
4904        video_full_range_flag: u32,
4905        colour_description_present_flag: u32,
4906        chroma_loc_info_present_flag: u32,
4907        neutral_chroma_indication_flag: u32,
4908        field_seq_flag: u32,
4909        frame_field_info_present_flag: u32,
4910        default_display_window_flag: u32,
4911        vui_timing_info_present_flag: u32,
4912        vui_poc_proportional_to_timing_flag: u32,
4913        vui_hrd_parameters_present_flag: u32,
4914        bitstream_restriction_flag: u32,
4915        tiles_fixed_structure_flag: u32,
4916        motion_vectors_over_pic_boundaries_flag: u32,
4917        restricted_ref_pic_lists_flag: u32,
4918    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
4919        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
4920        __bindgen_bitfield_unit.set(0usize, 1u8, {
4921            let aspect_ratio_info_present_flag: u32 =
4922                unsafe { ::core::mem::transmute(aspect_ratio_info_present_flag) };
4923            aspect_ratio_info_present_flag as u64
4924        });
4925        __bindgen_bitfield_unit.set(1usize, 1u8, {
4926            let overscan_info_present_flag: u32 =
4927                unsafe { ::core::mem::transmute(overscan_info_present_flag) };
4928            overscan_info_present_flag as u64
4929        });
4930        __bindgen_bitfield_unit.set(2usize, 1u8, {
4931            let overscan_appropriate_flag: u32 =
4932                unsafe { ::core::mem::transmute(overscan_appropriate_flag) };
4933            overscan_appropriate_flag as u64
4934        });
4935        __bindgen_bitfield_unit.set(3usize, 1u8, {
4936            let video_signal_type_present_flag: u32 =
4937                unsafe { ::core::mem::transmute(video_signal_type_present_flag) };
4938            video_signal_type_present_flag as u64
4939        });
4940        __bindgen_bitfield_unit.set(4usize, 1u8, {
4941            let video_full_range_flag: u32 =
4942                unsafe { ::core::mem::transmute(video_full_range_flag) };
4943            video_full_range_flag as u64
4944        });
4945        __bindgen_bitfield_unit.set(5usize, 1u8, {
4946            let colour_description_present_flag: u32 =
4947                unsafe { ::core::mem::transmute(colour_description_present_flag) };
4948            colour_description_present_flag as u64
4949        });
4950        __bindgen_bitfield_unit.set(6usize, 1u8, {
4951            let chroma_loc_info_present_flag: u32 =
4952                unsafe { ::core::mem::transmute(chroma_loc_info_present_flag) };
4953            chroma_loc_info_present_flag as u64
4954        });
4955        __bindgen_bitfield_unit.set(7usize, 1u8, {
4956            let neutral_chroma_indication_flag: u32 =
4957                unsafe { ::core::mem::transmute(neutral_chroma_indication_flag) };
4958            neutral_chroma_indication_flag as u64
4959        });
4960        __bindgen_bitfield_unit.set(8usize, 1u8, {
4961            let field_seq_flag: u32 = unsafe { ::core::mem::transmute(field_seq_flag) };
4962            field_seq_flag as u64
4963        });
4964        __bindgen_bitfield_unit.set(9usize, 1u8, {
4965            let frame_field_info_present_flag: u32 =
4966                unsafe { ::core::mem::transmute(frame_field_info_present_flag) };
4967            frame_field_info_present_flag as u64
4968        });
4969        __bindgen_bitfield_unit.set(10usize, 1u8, {
4970            let default_display_window_flag: u32 =
4971                unsafe { ::core::mem::transmute(default_display_window_flag) };
4972            default_display_window_flag as u64
4973        });
4974        __bindgen_bitfield_unit.set(11usize, 1u8, {
4975            let vui_timing_info_present_flag: u32 =
4976                unsafe { ::core::mem::transmute(vui_timing_info_present_flag) };
4977            vui_timing_info_present_flag as u64
4978        });
4979        __bindgen_bitfield_unit.set(12usize, 1u8, {
4980            let vui_poc_proportional_to_timing_flag: u32 =
4981                unsafe { ::core::mem::transmute(vui_poc_proportional_to_timing_flag) };
4982            vui_poc_proportional_to_timing_flag as u64
4983        });
4984        __bindgen_bitfield_unit.set(13usize, 1u8, {
4985            let vui_hrd_parameters_present_flag: u32 =
4986                unsafe { ::core::mem::transmute(vui_hrd_parameters_present_flag) };
4987            vui_hrd_parameters_present_flag as u64
4988        });
4989        __bindgen_bitfield_unit.set(14usize, 1u8, {
4990            let bitstream_restriction_flag: u32 =
4991                unsafe { ::core::mem::transmute(bitstream_restriction_flag) };
4992            bitstream_restriction_flag as u64
4993        });
4994        __bindgen_bitfield_unit.set(15usize, 1u8, {
4995            let tiles_fixed_structure_flag: u32 =
4996                unsafe { ::core::mem::transmute(tiles_fixed_structure_flag) };
4997            tiles_fixed_structure_flag as u64
4998        });
4999        __bindgen_bitfield_unit.set(16usize, 1u8, {
5000            let motion_vectors_over_pic_boundaries_flag: u32 =
5001                unsafe { ::core::mem::transmute(motion_vectors_over_pic_boundaries_flag) };
5002            motion_vectors_over_pic_boundaries_flag as u64
5003        });
5004        __bindgen_bitfield_unit.set(17usize, 1u8, {
5005            let restricted_ref_pic_lists_flag: u32 =
5006                unsafe { ::core::mem::transmute(restricted_ref_pic_lists_flag) };
5007            restricted_ref_pic_lists_flag as u64
5008        });
5009        __bindgen_bitfield_unit
5010    }
5011}
5012#[repr(C)]
5013#[derive(Debug, Copy, Clone)]
5014pub struct StdVideoH265SequenceParameterSetVui {
5015    pub flags: StdVideoH265SpsVuiFlags,
5016    pub aspect_ratio_idc: StdVideoH265AspectRatioIdc,
5017    pub sar_width: u16,
5018    pub sar_height: u16,
5019    pub video_format: u8,
5020    pub colour_primaries: u8,
5021    pub transfer_characteristics: u8,
5022    pub matrix_coeffs: u8,
5023    pub chroma_sample_loc_type_top_field: u8,
5024    pub chroma_sample_loc_type_bottom_field: u8,
5025    pub reserved1: u8,
5026    pub reserved2: u8,
5027    pub def_disp_win_left_offset: u16,
5028    pub def_disp_win_right_offset: u16,
5029    pub def_disp_win_top_offset: u16,
5030    pub def_disp_win_bottom_offset: u16,
5031    pub vui_num_units_in_tick: u32,
5032    pub vui_time_scale: u32,
5033    pub vui_num_ticks_poc_diff_one_minus1: u32,
5034    pub min_spatial_segmentation_idc: u16,
5035    pub reserved3: u16,
5036    pub max_bytes_per_pic_denom: u8,
5037    pub max_bits_per_min_cu_denom: u8,
5038    pub log2_max_mv_length_horizontal: u8,
5039    pub log2_max_mv_length_vertical: u8,
5040    pub pHrdParameters: *const StdVideoH265HrdParameters,
5041}
5042#[repr(C)]
5043#[derive(Debug, Copy, Clone)]
5044pub struct StdVideoH265PredictorPaletteEntries {
5045    pub PredictorPaletteEntries: [[u16; 128usize]; 3usize],
5046}
5047#[repr(C)]
5048#[repr(align(4))]
5049#[derive(Debug, Copy, Clone)]
5050pub struct StdVideoH265SpsFlags {
5051    pub _bitfield_align_1: [u8; 0],
5052    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5053}
5054impl StdVideoH265SpsFlags {
5055    #[inline]
5056    pub fn sps_temporal_id_nesting_flag(&self) -> u32 {
5057        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
5058    }
5059    #[inline]
5060    pub fn set_sps_temporal_id_nesting_flag(&mut self, val: u32) {
5061        unsafe {
5062            let val: u32 = ::core::mem::transmute(val);
5063            self._bitfield_1.set(0usize, 1u8, val as u64)
5064        }
5065    }
5066    #[inline]
5067    pub fn separate_colour_plane_flag(&self) -> u32 {
5068        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
5069    }
5070    #[inline]
5071    pub fn set_separate_colour_plane_flag(&mut self, val: u32) {
5072        unsafe {
5073            let val: u32 = ::core::mem::transmute(val);
5074            self._bitfield_1.set(1usize, 1u8, val as u64)
5075        }
5076    }
5077    #[inline]
5078    pub fn conformance_window_flag(&self) -> u32 {
5079        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
5080    }
5081    #[inline]
5082    pub fn set_conformance_window_flag(&mut self, val: u32) {
5083        unsafe {
5084            let val: u32 = ::core::mem::transmute(val);
5085            self._bitfield_1.set(2usize, 1u8, val as u64)
5086        }
5087    }
5088    #[inline]
5089    pub fn sps_sub_layer_ordering_info_present_flag(&self) -> u32 {
5090        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
5091    }
5092    #[inline]
5093    pub fn set_sps_sub_layer_ordering_info_present_flag(&mut self, val: u32) {
5094        unsafe {
5095            let val: u32 = ::core::mem::transmute(val);
5096            self._bitfield_1.set(3usize, 1u8, val as u64)
5097        }
5098    }
5099    #[inline]
5100    pub fn scaling_list_enabled_flag(&self) -> u32 {
5101        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
5102    }
5103    #[inline]
5104    pub fn set_scaling_list_enabled_flag(&mut self, val: u32) {
5105        unsafe {
5106            let val: u32 = ::core::mem::transmute(val);
5107            self._bitfield_1.set(4usize, 1u8, val as u64)
5108        }
5109    }
5110    #[inline]
5111    pub fn sps_scaling_list_data_present_flag(&self) -> u32 {
5112        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
5113    }
5114    #[inline]
5115    pub fn set_sps_scaling_list_data_present_flag(&mut self, val: u32) {
5116        unsafe {
5117            let val: u32 = ::core::mem::transmute(val);
5118            self._bitfield_1.set(5usize, 1u8, val as u64)
5119        }
5120    }
5121    #[inline]
5122    pub fn amp_enabled_flag(&self) -> u32 {
5123        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
5124    }
5125    #[inline]
5126    pub fn set_amp_enabled_flag(&mut self, val: u32) {
5127        unsafe {
5128            let val: u32 = ::core::mem::transmute(val);
5129            self._bitfield_1.set(6usize, 1u8, val as u64)
5130        }
5131    }
5132    #[inline]
5133    pub fn sample_adaptive_offset_enabled_flag(&self) -> u32 {
5134        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
5135    }
5136    #[inline]
5137    pub fn set_sample_adaptive_offset_enabled_flag(&mut self, val: u32) {
5138        unsafe {
5139            let val: u32 = ::core::mem::transmute(val);
5140            self._bitfield_1.set(7usize, 1u8, val as u64)
5141        }
5142    }
5143    #[inline]
5144    pub fn pcm_enabled_flag(&self) -> u32 {
5145        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
5146    }
5147    #[inline]
5148    pub fn set_pcm_enabled_flag(&mut self, val: u32) {
5149        unsafe {
5150            let val: u32 = ::core::mem::transmute(val);
5151            self._bitfield_1.set(8usize, 1u8, val as u64)
5152        }
5153    }
5154    #[inline]
5155    pub fn pcm_loop_filter_disabled_flag(&self) -> u32 {
5156        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
5157    }
5158    #[inline]
5159    pub fn set_pcm_loop_filter_disabled_flag(&mut self, val: u32) {
5160        unsafe {
5161            let val: u32 = ::core::mem::transmute(val);
5162            self._bitfield_1.set(9usize, 1u8, val as u64)
5163        }
5164    }
5165    #[inline]
5166    pub fn long_term_ref_pics_present_flag(&self) -> u32 {
5167        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
5168    }
5169    #[inline]
5170    pub fn set_long_term_ref_pics_present_flag(&mut self, val: u32) {
5171        unsafe {
5172            let val: u32 = ::core::mem::transmute(val);
5173            self._bitfield_1.set(10usize, 1u8, val as u64)
5174        }
5175    }
5176    #[inline]
5177    pub fn sps_temporal_mvp_enabled_flag(&self) -> u32 {
5178        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
5179    }
5180    #[inline]
5181    pub fn set_sps_temporal_mvp_enabled_flag(&mut self, val: u32) {
5182        unsafe {
5183            let val: u32 = ::core::mem::transmute(val);
5184            self._bitfield_1.set(11usize, 1u8, val as u64)
5185        }
5186    }
5187    #[inline]
5188    pub fn strong_intra_smoothing_enabled_flag(&self) -> u32 {
5189        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
5190    }
5191    #[inline]
5192    pub fn set_strong_intra_smoothing_enabled_flag(&mut self, val: u32) {
5193        unsafe {
5194            let val: u32 = ::core::mem::transmute(val);
5195            self._bitfield_1.set(12usize, 1u8, val as u64)
5196        }
5197    }
5198    #[inline]
5199    pub fn vui_parameters_present_flag(&self) -> u32 {
5200        unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
5201    }
5202    #[inline]
5203    pub fn set_vui_parameters_present_flag(&mut self, val: u32) {
5204        unsafe {
5205            let val: u32 = ::core::mem::transmute(val);
5206            self._bitfield_1.set(13usize, 1u8, val as u64)
5207        }
5208    }
5209    #[inline]
5210    pub fn sps_extension_present_flag(&self) -> u32 {
5211        unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
5212    }
5213    #[inline]
5214    pub fn set_sps_extension_present_flag(&mut self, val: u32) {
5215        unsafe {
5216            let val: u32 = ::core::mem::transmute(val);
5217            self._bitfield_1.set(14usize, 1u8, val as u64)
5218        }
5219    }
5220    #[inline]
5221    pub fn sps_range_extension_flag(&self) -> u32 {
5222        unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
5223    }
5224    #[inline]
5225    pub fn set_sps_range_extension_flag(&mut self, val: u32) {
5226        unsafe {
5227            let val: u32 = ::core::mem::transmute(val);
5228            self._bitfield_1.set(15usize, 1u8, val as u64)
5229        }
5230    }
5231    #[inline]
5232    pub fn transform_skip_rotation_enabled_flag(&self) -> u32 {
5233        unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
5234    }
5235    #[inline]
5236    pub fn set_transform_skip_rotation_enabled_flag(&mut self, val: u32) {
5237        unsafe {
5238            let val: u32 = ::core::mem::transmute(val);
5239            self._bitfield_1.set(16usize, 1u8, val as u64)
5240        }
5241    }
5242    #[inline]
5243    pub fn transform_skip_context_enabled_flag(&self) -> u32 {
5244        unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
5245    }
5246    #[inline]
5247    pub fn set_transform_skip_context_enabled_flag(&mut self, val: u32) {
5248        unsafe {
5249            let val: u32 = ::core::mem::transmute(val);
5250            self._bitfield_1.set(17usize, 1u8, val as u64)
5251        }
5252    }
5253    #[inline]
5254    pub fn implicit_rdpcm_enabled_flag(&self) -> u32 {
5255        unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
5256    }
5257    #[inline]
5258    pub fn set_implicit_rdpcm_enabled_flag(&mut self, val: u32) {
5259        unsafe {
5260            let val: u32 = ::core::mem::transmute(val);
5261            self._bitfield_1.set(18usize, 1u8, val as u64)
5262        }
5263    }
5264    #[inline]
5265    pub fn explicit_rdpcm_enabled_flag(&self) -> u32 {
5266        unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
5267    }
5268    #[inline]
5269    pub fn set_explicit_rdpcm_enabled_flag(&mut self, val: u32) {
5270        unsafe {
5271            let val: u32 = ::core::mem::transmute(val);
5272            self._bitfield_1.set(19usize, 1u8, val as u64)
5273        }
5274    }
5275    #[inline]
5276    pub fn extended_precision_processing_flag(&self) -> u32 {
5277        unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
5278    }
5279    #[inline]
5280    pub fn set_extended_precision_processing_flag(&mut self, val: u32) {
5281        unsafe {
5282            let val: u32 = ::core::mem::transmute(val);
5283            self._bitfield_1.set(20usize, 1u8, val as u64)
5284        }
5285    }
5286    #[inline]
5287    pub fn intra_smoothing_disabled_flag(&self) -> u32 {
5288        unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
5289    }
5290    #[inline]
5291    pub fn set_intra_smoothing_disabled_flag(&mut self, val: u32) {
5292        unsafe {
5293            let val: u32 = ::core::mem::transmute(val);
5294            self._bitfield_1.set(21usize, 1u8, val as u64)
5295        }
5296    }
5297    #[inline]
5298    pub fn high_precision_offsets_enabled_flag(&self) -> u32 {
5299        unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
5300    }
5301    #[inline]
5302    pub fn set_high_precision_offsets_enabled_flag(&mut self, val: u32) {
5303        unsafe {
5304            let val: u32 = ::core::mem::transmute(val);
5305            self._bitfield_1.set(22usize, 1u8, val as u64)
5306        }
5307    }
5308    #[inline]
5309    pub fn persistent_rice_adaptation_enabled_flag(&self) -> u32 {
5310        unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
5311    }
5312    #[inline]
5313    pub fn set_persistent_rice_adaptation_enabled_flag(&mut self, val: u32) {
5314        unsafe {
5315            let val: u32 = ::core::mem::transmute(val);
5316            self._bitfield_1.set(23usize, 1u8, val as u64)
5317        }
5318    }
5319    #[inline]
5320    pub fn cabac_bypass_alignment_enabled_flag(&self) -> u32 {
5321        unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
5322    }
5323    #[inline]
5324    pub fn set_cabac_bypass_alignment_enabled_flag(&mut self, val: u32) {
5325        unsafe {
5326            let val: u32 = ::core::mem::transmute(val);
5327            self._bitfield_1.set(24usize, 1u8, val as u64)
5328        }
5329    }
5330    #[inline]
5331    pub fn sps_scc_extension_flag(&self) -> u32 {
5332        unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
5333    }
5334    #[inline]
5335    pub fn set_sps_scc_extension_flag(&mut self, val: u32) {
5336        unsafe {
5337            let val: u32 = ::core::mem::transmute(val);
5338            self._bitfield_1.set(25usize, 1u8, val as u64)
5339        }
5340    }
5341    #[inline]
5342    pub fn sps_curr_pic_ref_enabled_flag(&self) -> u32 {
5343        unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
5344    }
5345    #[inline]
5346    pub fn set_sps_curr_pic_ref_enabled_flag(&mut self, val: u32) {
5347        unsafe {
5348            let val: u32 = ::core::mem::transmute(val);
5349            self._bitfield_1.set(26usize, 1u8, val as u64)
5350        }
5351    }
5352    #[inline]
5353    pub fn palette_mode_enabled_flag(&self) -> u32 {
5354        unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
5355    }
5356    #[inline]
5357    pub fn set_palette_mode_enabled_flag(&mut self, val: u32) {
5358        unsafe {
5359            let val: u32 = ::core::mem::transmute(val);
5360            self._bitfield_1.set(27usize, 1u8, val as u64)
5361        }
5362    }
5363    #[inline]
5364    pub fn sps_palette_predictor_initializers_present_flag(&self) -> u32 {
5365        unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
5366    }
5367    #[inline]
5368    pub fn set_sps_palette_predictor_initializers_present_flag(&mut self, val: u32) {
5369        unsafe {
5370            let val: u32 = ::core::mem::transmute(val);
5371            self._bitfield_1.set(28usize, 1u8, val as u64)
5372        }
5373    }
5374    #[inline]
5375    pub fn intra_boundary_filtering_disabled_flag(&self) -> u32 {
5376        unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
5377    }
5378    #[inline]
5379    pub fn set_intra_boundary_filtering_disabled_flag(&mut self, val: u32) {
5380        unsafe {
5381            let val: u32 = ::core::mem::transmute(val);
5382            self._bitfield_1.set(29usize, 1u8, val as u64)
5383        }
5384    }
5385    #[inline]
5386    pub fn new_bitfield_1(
5387        sps_temporal_id_nesting_flag: u32,
5388        separate_colour_plane_flag: u32,
5389        conformance_window_flag: u32,
5390        sps_sub_layer_ordering_info_present_flag: u32,
5391        scaling_list_enabled_flag: u32,
5392        sps_scaling_list_data_present_flag: u32,
5393        amp_enabled_flag: u32,
5394        sample_adaptive_offset_enabled_flag: u32,
5395        pcm_enabled_flag: u32,
5396        pcm_loop_filter_disabled_flag: u32,
5397        long_term_ref_pics_present_flag: u32,
5398        sps_temporal_mvp_enabled_flag: u32,
5399        strong_intra_smoothing_enabled_flag: u32,
5400        vui_parameters_present_flag: u32,
5401        sps_extension_present_flag: u32,
5402        sps_range_extension_flag: u32,
5403        transform_skip_rotation_enabled_flag: u32,
5404        transform_skip_context_enabled_flag: u32,
5405        implicit_rdpcm_enabled_flag: u32,
5406        explicit_rdpcm_enabled_flag: u32,
5407        extended_precision_processing_flag: u32,
5408        intra_smoothing_disabled_flag: u32,
5409        high_precision_offsets_enabled_flag: u32,
5410        persistent_rice_adaptation_enabled_flag: u32,
5411        cabac_bypass_alignment_enabled_flag: u32,
5412        sps_scc_extension_flag: u32,
5413        sps_curr_pic_ref_enabled_flag: u32,
5414        palette_mode_enabled_flag: u32,
5415        sps_palette_predictor_initializers_present_flag: u32,
5416        intra_boundary_filtering_disabled_flag: u32,
5417    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
5418        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5419        __bindgen_bitfield_unit.set(0usize, 1u8, {
5420            let sps_temporal_id_nesting_flag: u32 =
5421                unsafe { ::core::mem::transmute(sps_temporal_id_nesting_flag) };
5422            sps_temporal_id_nesting_flag as u64
5423        });
5424        __bindgen_bitfield_unit.set(1usize, 1u8, {
5425            let separate_colour_plane_flag: u32 =
5426                unsafe { ::core::mem::transmute(separate_colour_plane_flag) };
5427            separate_colour_plane_flag as u64
5428        });
5429        __bindgen_bitfield_unit.set(2usize, 1u8, {
5430            let conformance_window_flag: u32 =
5431                unsafe { ::core::mem::transmute(conformance_window_flag) };
5432            conformance_window_flag as u64
5433        });
5434        __bindgen_bitfield_unit.set(3usize, 1u8, {
5435            let sps_sub_layer_ordering_info_present_flag: u32 =
5436                unsafe { ::core::mem::transmute(sps_sub_layer_ordering_info_present_flag) };
5437            sps_sub_layer_ordering_info_present_flag as u64
5438        });
5439        __bindgen_bitfield_unit.set(4usize, 1u8, {
5440            let scaling_list_enabled_flag: u32 =
5441                unsafe { ::core::mem::transmute(scaling_list_enabled_flag) };
5442            scaling_list_enabled_flag as u64
5443        });
5444        __bindgen_bitfield_unit.set(5usize, 1u8, {
5445            let sps_scaling_list_data_present_flag: u32 =
5446                unsafe { ::core::mem::transmute(sps_scaling_list_data_present_flag) };
5447            sps_scaling_list_data_present_flag as u64
5448        });
5449        __bindgen_bitfield_unit.set(6usize, 1u8, {
5450            let amp_enabled_flag: u32 = unsafe { ::core::mem::transmute(amp_enabled_flag) };
5451            amp_enabled_flag as u64
5452        });
5453        __bindgen_bitfield_unit.set(7usize, 1u8, {
5454            let sample_adaptive_offset_enabled_flag: u32 =
5455                unsafe { ::core::mem::transmute(sample_adaptive_offset_enabled_flag) };
5456            sample_adaptive_offset_enabled_flag as u64
5457        });
5458        __bindgen_bitfield_unit.set(8usize, 1u8, {
5459            let pcm_enabled_flag: u32 = unsafe { ::core::mem::transmute(pcm_enabled_flag) };
5460            pcm_enabled_flag as u64
5461        });
5462        __bindgen_bitfield_unit.set(9usize, 1u8, {
5463            let pcm_loop_filter_disabled_flag: u32 =
5464                unsafe { ::core::mem::transmute(pcm_loop_filter_disabled_flag) };
5465            pcm_loop_filter_disabled_flag as u64
5466        });
5467        __bindgen_bitfield_unit.set(10usize, 1u8, {
5468            let long_term_ref_pics_present_flag: u32 =
5469                unsafe { ::core::mem::transmute(long_term_ref_pics_present_flag) };
5470            long_term_ref_pics_present_flag as u64
5471        });
5472        __bindgen_bitfield_unit.set(11usize, 1u8, {
5473            let sps_temporal_mvp_enabled_flag: u32 =
5474                unsafe { ::core::mem::transmute(sps_temporal_mvp_enabled_flag) };
5475            sps_temporal_mvp_enabled_flag as u64
5476        });
5477        __bindgen_bitfield_unit.set(12usize, 1u8, {
5478            let strong_intra_smoothing_enabled_flag: u32 =
5479                unsafe { ::core::mem::transmute(strong_intra_smoothing_enabled_flag) };
5480            strong_intra_smoothing_enabled_flag as u64
5481        });
5482        __bindgen_bitfield_unit.set(13usize, 1u8, {
5483            let vui_parameters_present_flag: u32 =
5484                unsafe { ::core::mem::transmute(vui_parameters_present_flag) };
5485            vui_parameters_present_flag as u64
5486        });
5487        __bindgen_bitfield_unit.set(14usize, 1u8, {
5488            let sps_extension_present_flag: u32 =
5489                unsafe { ::core::mem::transmute(sps_extension_present_flag) };
5490            sps_extension_present_flag as u64
5491        });
5492        __bindgen_bitfield_unit.set(15usize, 1u8, {
5493            let sps_range_extension_flag: u32 =
5494                unsafe { ::core::mem::transmute(sps_range_extension_flag) };
5495            sps_range_extension_flag as u64
5496        });
5497        __bindgen_bitfield_unit.set(16usize, 1u8, {
5498            let transform_skip_rotation_enabled_flag: u32 =
5499                unsafe { ::core::mem::transmute(transform_skip_rotation_enabled_flag) };
5500            transform_skip_rotation_enabled_flag as u64
5501        });
5502        __bindgen_bitfield_unit.set(17usize, 1u8, {
5503            let transform_skip_context_enabled_flag: u32 =
5504                unsafe { ::core::mem::transmute(transform_skip_context_enabled_flag) };
5505            transform_skip_context_enabled_flag as u64
5506        });
5507        __bindgen_bitfield_unit.set(18usize, 1u8, {
5508            let implicit_rdpcm_enabled_flag: u32 =
5509                unsafe { ::core::mem::transmute(implicit_rdpcm_enabled_flag) };
5510            implicit_rdpcm_enabled_flag as u64
5511        });
5512        __bindgen_bitfield_unit.set(19usize, 1u8, {
5513            let explicit_rdpcm_enabled_flag: u32 =
5514                unsafe { ::core::mem::transmute(explicit_rdpcm_enabled_flag) };
5515            explicit_rdpcm_enabled_flag as u64
5516        });
5517        __bindgen_bitfield_unit.set(20usize, 1u8, {
5518            let extended_precision_processing_flag: u32 =
5519                unsafe { ::core::mem::transmute(extended_precision_processing_flag) };
5520            extended_precision_processing_flag as u64
5521        });
5522        __bindgen_bitfield_unit.set(21usize, 1u8, {
5523            let intra_smoothing_disabled_flag: u32 =
5524                unsafe { ::core::mem::transmute(intra_smoothing_disabled_flag) };
5525            intra_smoothing_disabled_flag as u64
5526        });
5527        __bindgen_bitfield_unit.set(22usize, 1u8, {
5528            let high_precision_offsets_enabled_flag: u32 =
5529                unsafe { ::core::mem::transmute(high_precision_offsets_enabled_flag) };
5530            high_precision_offsets_enabled_flag as u64
5531        });
5532        __bindgen_bitfield_unit.set(23usize, 1u8, {
5533            let persistent_rice_adaptation_enabled_flag: u32 =
5534                unsafe { ::core::mem::transmute(persistent_rice_adaptation_enabled_flag) };
5535            persistent_rice_adaptation_enabled_flag as u64
5536        });
5537        __bindgen_bitfield_unit.set(24usize, 1u8, {
5538            let cabac_bypass_alignment_enabled_flag: u32 =
5539                unsafe { ::core::mem::transmute(cabac_bypass_alignment_enabled_flag) };
5540            cabac_bypass_alignment_enabled_flag as u64
5541        });
5542        __bindgen_bitfield_unit.set(25usize, 1u8, {
5543            let sps_scc_extension_flag: u32 =
5544                unsafe { ::core::mem::transmute(sps_scc_extension_flag) };
5545            sps_scc_extension_flag as u64
5546        });
5547        __bindgen_bitfield_unit.set(26usize, 1u8, {
5548            let sps_curr_pic_ref_enabled_flag: u32 =
5549                unsafe { ::core::mem::transmute(sps_curr_pic_ref_enabled_flag) };
5550            sps_curr_pic_ref_enabled_flag as u64
5551        });
5552        __bindgen_bitfield_unit.set(27usize, 1u8, {
5553            let palette_mode_enabled_flag: u32 =
5554                unsafe { ::core::mem::transmute(palette_mode_enabled_flag) };
5555            palette_mode_enabled_flag as u64
5556        });
5557        __bindgen_bitfield_unit.set(28usize, 1u8, {
5558            let sps_palette_predictor_initializers_present_flag: u32 =
5559                unsafe { ::core::mem::transmute(sps_palette_predictor_initializers_present_flag) };
5560            sps_palette_predictor_initializers_present_flag as u64
5561        });
5562        __bindgen_bitfield_unit.set(29usize, 1u8, {
5563            let intra_boundary_filtering_disabled_flag: u32 =
5564                unsafe { ::core::mem::transmute(intra_boundary_filtering_disabled_flag) };
5565            intra_boundary_filtering_disabled_flag as u64
5566        });
5567        __bindgen_bitfield_unit
5568    }
5569}
5570#[repr(C)]
5571#[repr(align(4))]
5572#[derive(Debug, Copy, Clone)]
5573pub struct StdVideoH265ShortTermRefPicSetFlags {
5574    pub _bitfield_align_1: [u8; 0],
5575    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
5576    pub __bindgen_padding_0: [u8; 3usize],
5577}
5578impl StdVideoH265ShortTermRefPicSetFlags {
5579    #[inline]
5580    pub fn inter_ref_pic_set_prediction_flag(&self) -> u32 {
5581        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
5582    }
5583    #[inline]
5584    pub fn set_inter_ref_pic_set_prediction_flag(&mut self, val: u32) {
5585        unsafe {
5586            let val: u32 = ::core::mem::transmute(val);
5587            self._bitfield_1.set(0usize, 1u8, val as u64)
5588        }
5589    }
5590    #[inline]
5591    pub fn delta_rps_sign(&self) -> u32 {
5592        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
5593    }
5594    #[inline]
5595    pub fn set_delta_rps_sign(&mut self, val: u32) {
5596        unsafe {
5597            let val: u32 = ::core::mem::transmute(val);
5598            self._bitfield_1.set(1usize, 1u8, val as u64)
5599        }
5600    }
5601    #[inline]
5602    pub fn new_bitfield_1(
5603        inter_ref_pic_set_prediction_flag: u32,
5604        delta_rps_sign: u32,
5605    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
5606        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
5607        __bindgen_bitfield_unit.set(0usize, 1u8, {
5608            let inter_ref_pic_set_prediction_flag: u32 =
5609                unsafe { ::core::mem::transmute(inter_ref_pic_set_prediction_flag) };
5610            inter_ref_pic_set_prediction_flag as u64
5611        });
5612        __bindgen_bitfield_unit.set(1usize, 1u8, {
5613            let delta_rps_sign: u32 = unsafe { ::core::mem::transmute(delta_rps_sign) };
5614            delta_rps_sign as u64
5615        });
5616        __bindgen_bitfield_unit
5617    }
5618}
5619#[repr(C)]
5620#[derive(Debug, Copy, Clone)]
5621pub struct StdVideoH265ShortTermRefPicSet {
5622    pub flags: StdVideoH265ShortTermRefPicSetFlags,
5623    pub delta_idx_minus1: u32,
5624    pub use_delta_flag: u16,
5625    pub abs_delta_rps_minus1: u16,
5626    pub used_by_curr_pic_flag: u16,
5627    pub used_by_curr_pic_s0_flag: u16,
5628    pub used_by_curr_pic_s1_flag: u16,
5629    pub reserved1: u16,
5630    pub reserved2: u8,
5631    pub reserved3: u8,
5632    pub num_negative_pics: u8,
5633    pub num_positive_pics: u8,
5634    pub delta_poc_s0_minus1: [u16; 16usize],
5635    pub delta_poc_s1_minus1: [u16; 16usize],
5636}
5637#[repr(C)]
5638#[derive(Debug, Copy, Clone)]
5639pub struct StdVideoH265LongTermRefPicsSps {
5640    pub used_by_curr_pic_lt_sps_flag: u32,
5641    pub lt_ref_pic_poc_lsb_sps: [u32; 32usize],
5642}
5643#[repr(C)]
5644#[derive(Debug, Copy, Clone)]
5645pub struct StdVideoH265SequenceParameterSet {
5646    pub flags: StdVideoH265SpsFlags,
5647    pub chroma_format_idc: StdVideoH265ChromaFormatIdc,
5648    pub pic_width_in_luma_samples: u32,
5649    pub pic_height_in_luma_samples: u32,
5650    pub sps_video_parameter_set_id: u8,
5651    pub sps_max_sub_layers_minus1: u8,
5652    pub sps_seq_parameter_set_id: u8,
5653    pub bit_depth_luma_minus8: u8,
5654    pub bit_depth_chroma_minus8: u8,
5655    pub log2_max_pic_order_cnt_lsb_minus4: u8,
5656    pub log2_min_luma_coding_block_size_minus3: u8,
5657    pub log2_diff_max_min_luma_coding_block_size: u8,
5658    pub log2_min_luma_transform_block_size_minus2: u8,
5659    pub log2_diff_max_min_luma_transform_block_size: u8,
5660    pub max_transform_hierarchy_depth_inter: u8,
5661    pub max_transform_hierarchy_depth_intra: u8,
5662    pub num_short_term_ref_pic_sets: u8,
5663    pub num_long_term_ref_pics_sps: u8,
5664    pub pcm_sample_bit_depth_luma_minus1: u8,
5665    pub pcm_sample_bit_depth_chroma_minus1: u8,
5666    pub log2_min_pcm_luma_coding_block_size_minus3: u8,
5667    pub log2_diff_max_min_pcm_luma_coding_block_size: u8,
5668    pub reserved1: u8,
5669    pub reserved2: u8,
5670    pub palette_max_size: u8,
5671    pub delta_palette_max_predictor_size: u8,
5672    pub motion_vector_resolution_control_idc: u8,
5673    pub sps_num_palette_predictor_initializers_minus1: u8,
5674    pub conf_win_left_offset: u32,
5675    pub conf_win_right_offset: u32,
5676    pub conf_win_top_offset: u32,
5677    pub conf_win_bottom_offset: u32,
5678    pub pProfileTierLevel: *const StdVideoH265ProfileTierLevel,
5679    pub pDecPicBufMgr: *const StdVideoH265DecPicBufMgr,
5680    pub pScalingLists: *const StdVideoH265ScalingLists,
5681    pub pShortTermRefPicSet: *const StdVideoH265ShortTermRefPicSet,
5682    pub pLongTermRefPicsSps: *const StdVideoH265LongTermRefPicsSps,
5683    pub pSequenceParameterSetVui: *const StdVideoH265SequenceParameterSetVui,
5684    pub pPredictorPaletteEntries: *const StdVideoH265PredictorPaletteEntries,
5685}
5686#[repr(C)]
5687#[repr(align(4))]
5688#[derive(Debug, Copy, Clone)]
5689pub struct StdVideoH265PpsFlags {
5690    pub _bitfield_align_1: [u8; 0],
5691    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
5692}
5693impl StdVideoH265PpsFlags {
5694    #[inline]
5695    pub fn dependent_slice_segments_enabled_flag(&self) -> u32 {
5696        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
5697    }
5698    #[inline]
5699    pub fn set_dependent_slice_segments_enabled_flag(&mut self, val: u32) {
5700        unsafe {
5701            let val: u32 = ::core::mem::transmute(val);
5702            self._bitfield_1.set(0usize, 1u8, val as u64)
5703        }
5704    }
5705    #[inline]
5706    pub fn output_flag_present_flag(&self) -> u32 {
5707        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
5708    }
5709    #[inline]
5710    pub fn set_output_flag_present_flag(&mut self, val: u32) {
5711        unsafe {
5712            let val: u32 = ::core::mem::transmute(val);
5713            self._bitfield_1.set(1usize, 1u8, val as u64)
5714        }
5715    }
5716    #[inline]
5717    pub fn sign_data_hiding_enabled_flag(&self) -> u32 {
5718        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
5719    }
5720    #[inline]
5721    pub fn set_sign_data_hiding_enabled_flag(&mut self, val: u32) {
5722        unsafe {
5723            let val: u32 = ::core::mem::transmute(val);
5724            self._bitfield_1.set(2usize, 1u8, val as u64)
5725        }
5726    }
5727    #[inline]
5728    pub fn cabac_init_present_flag(&self) -> u32 {
5729        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
5730    }
5731    #[inline]
5732    pub fn set_cabac_init_present_flag(&mut self, val: u32) {
5733        unsafe {
5734            let val: u32 = ::core::mem::transmute(val);
5735            self._bitfield_1.set(3usize, 1u8, val as u64)
5736        }
5737    }
5738    #[inline]
5739    pub fn constrained_intra_pred_flag(&self) -> u32 {
5740        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
5741    }
5742    #[inline]
5743    pub fn set_constrained_intra_pred_flag(&mut self, val: u32) {
5744        unsafe {
5745            let val: u32 = ::core::mem::transmute(val);
5746            self._bitfield_1.set(4usize, 1u8, val as u64)
5747        }
5748    }
5749    #[inline]
5750    pub fn transform_skip_enabled_flag(&self) -> u32 {
5751        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
5752    }
5753    #[inline]
5754    pub fn set_transform_skip_enabled_flag(&mut self, val: u32) {
5755        unsafe {
5756            let val: u32 = ::core::mem::transmute(val);
5757            self._bitfield_1.set(5usize, 1u8, val as u64)
5758        }
5759    }
5760    #[inline]
5761    pub fn cu_qp_delta_enabled_flag(&self) -> u32 {
5762        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
5763    }
5764    #[inline]
5765    pub fn set_cu_qp_delta_enabled_flag(&mut self, val: u32) {
5766        unsafe {
5767            let val: u32 = ::core::mem::transmute(val);
5768            self._bitfield_1.set(6usize, 1u8, val as u64)
5769        }
5770    }
5771    #[inline]
5772    pub fn pps_slice_chroma_qp_offsets_present_flag(&self) -> u32 {
5773        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
5774    }
5775    #[inline]
5776    pub fn set_pps_slice_chroma_qp_offsets_present_flag(&mut self, val: u32) {
5777        unsafe {
5778            let val: u32 = ::core::mem::transmute(val);
5779            self._bitfield_1.set(7usize, 1u8, val as u64)
5780        }
5781    }
5782    #[inline]
5783    pub fn weighted_pred_flag(&self) -> u32 {
5784        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
5785    }
5786    #[inline]
5787    pub fn set_weighted_pred_flag(&mut self, val: u32) {
5788        unsafe {
5789            let val: u32 = ::core::mem::transmute(val);
5790            self._bitfield_1.set(8usize, 1u8, val as u64)
5791        }
5792    }
5793    #[inline]
5794    pub fn weighted_bipred_flag(&self) -> u32 {
5795        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
5796    }
5797    #[inline]
5798    pub fn set_weighted_bipred_flag(&mut self, val: u32) {
5799        unsafe {
5800            let val: u32 = ::core::mem::transmute(val);
5801            self._bitfield_1.set(9usize, 1u8, val as u64)
5802        }
5803    }
5804    #[inline]
5805    pub fn transquant_bypass_enabled_flag(&self) -> u32 {
5806        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
5807    }
5808    #[inline]
5809    pub fn set_transquant_bypass_enabled_flag(&mut self, val: u32) {
5810        unsafe {
5811            let val: u32 = ::core::mem::transmute(val);
5812            self._bitfield_1.set(10usize, 1u8, val as u64)
5813        }
5814    }
5815    #[inline]
5816    pub fn tiles_enabled_flag(&self) -> u32 {
5817        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
5818    }
5819    #[inline]
5820    pub fn set_tiles_enabled_flag(&mut self, val: u32) {
5821        unsafe {
5822            let val: u32 = ::core::mem::transmute(val);
5823            self._bitfield_1.set(11usize, 1u8, val as u64)
5824        }
5825    }
5826    #[inline]
5827    pub fn entropy_coding_sync_enabled_flag(&self) -> u32 {
5828        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
5829    }
5830    #[inline]
5831    pub fn set_entropy_coding_sync_enabled_flag(&mut self, val: u32) {
5832        unsafe {
5833            let val: u32 = ::core::mem::transmute(val);
5834            self._bitfield_1.set(12usize, 1u8, val as u64)
5835        }
5836    }
5837    #[inline]
5838    pub fn uniform_spacing_flag(&self) -> u32 {
5839        unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
5840    }
5841    #[inline]
5842    pub fn set_uniform_spacing_flag(&mut self, val: u32) {
5843        unsafe {
5844            let val: u32 = ::core::mem::transmute(val);
5845            self._bitfield_1.set(13usize, 1u8, val as u64)
5846        }
5847    }
5848    #[inline]
5849    pub fn loop_filter_across_tiles_enabled_flag(&self) -> u32 {
5850        unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
5851    }
5852    #[inline]
5853    pub fn set_loop_filter_across_tiles_enabled_flag(&mut self, val: u32) {
5854        unsafe {
5855            let val: u32 = ::core::mem::transmute(val);
5856            self._bitfield_1.set(14usize, 1u8, val as u64)
5857        }
5858    }
5859    #[inline]
5860    pub fn pps_loop_filter_across_slices_enabled_flag(&self) -> u32 {
5861        unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
5862    }
5863    #[inline]
5864    pub fn set_pps_loop_filter_across_slices_enabled_flag(&mut self, val: u32) {
5865        unsafe {
5866            let val: u32 = ::core::mem::transmute(val);
5867            self._bitfield_1.set(15usize, 1u8, val as u64)
5868        }
5869    }
5870    #[inline]
5871    pub fn deblocking_filter_control_present_flag(&self) -> u32 {
5872        unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
5873    }
5874    #[inline]
5875    pub fn set_deblocking_filter_control_present_flag(&mut self, val: u32) {
5876        unsafe {
5877            let val: u32 = ::core::mem::transmute(val);
5878            self._bitfield_1.set(16usize, 1u8, val as u64)
5879        }
5880    }
5881    #[inline]
5882    pub fn deblocking_filter_override_enabled_flag(&self) -> u32 {
5883        unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
5884    }
5885    #[inline]
5886    pub fn set_deblocking_filter_override_enabled_flag(&mut self, val: u32) {
5887        unsafe {
5888            let val: u32 = ::core::mem::transmute(val);
5889            self._bitfield_1.set(17usize, 1u8, val as u64)
5890        }
5891    }
5892    #[inline]
5893    pub fn pps_deblocking_filter_disabled_flag(&self) -> u32 {
5894        unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
5895    }
5896    #[inline]
5897    pub fn set_pps_deblocking_filter_disabled_flag(&mut self, val: u32) {
5898        unsafe {
5899            let val: u32 = ::core::mem::transmute(val);
5900            self._bitfield_1.set(18usize, 1u8, val as u64)
5901        }
5902    }
5903    #[inline]
5904    pub fn pps_scaling_list_data_present_flag(&self) -> u32 {
5905        unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
5906    }
5907    #[inline]
5908    pub fn set_pps_scaling_list_data_present_flag(&mut self, val: u32) {
5909        unsafe {
5910            let val: u32 = ::core::mem::transmute(val);
5911            self._bitfield_1.set(19usize, 1u8, val as u64)
5912        }
5913    }
5914    #[inline]
5915    pub fn lists_modification_present_flag(&self) -> u32 {
5916        unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
5917    }
5918    #[inline]
5919    pub fn set_lists_modification_present_flag(&mut self, val: u32) {
5920        unsafe {
5921            let val: u32 = ::core::mem::transmute(val);
5922            self._bitfield_1.set(20usize, 1u8, val as u64)
5923        }
5924    }
5925    #[inline]
5926    pub fn slice_segment_header_extension_present_flag(&self) -> u32 {
5927        unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
5928    }
5929    #[inline]
5930    pub fn set_slice_segment_header_extension_present_flag(&mut self, val: u32) {
5931        unsafe {
5932            let val: u32 = ::core::mem::transmute(val);
5933            self._bitfield_1.set(21usize, 1u8, val as u64)
5934        }
5935    }
5936    #[inline]
5937    pub fn pps_extension_present_flag(&self) -> u32 {
5938        unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
5939    }
5940    #[inline]
5941    pub fn set_pps_extension_present_flag(&mut self, val: u32) {
5942        unsafe {
5943            let val: u32 = ::core::mem::transmute(val);
5944            self._bitfield_1.set(22usize, 1u8, val as u64)
5945        }
5946    }
5947    #[inline]
5948    pub fn cross_component_prediction_enabled_flag(&self) -> u32 {
5949        unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
5950    }
5951    #[inline]
5952    pub fn set_cross_component_prediction_enabled_flag(&mut self, val: u32) {
5953        unsafe {
5954            let val: u32 = ::core::mem::transmute(val);
5955            self._bitfield_1.set(23usize, 1u8, val as u64)
5956        }
5957    }
5958    #[inline]
5959    pub fn chroma_qp_offset_list_enabled_flag(&self) -> u32 {
5960        unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
5961    }
5962    #[inline]
5963    pub fn set_chroma_qp_offset_list_enabled_flag(&mut self, val: u32) {
5964        unsafe {
5965            let val: u32 = ::core::mem::transmute(val);
5966            self._bitfield_1.set(24usize, 1u8, val as u64)
5967        }
5968    }
5969    #[inline]
5970    pub fn pps_curr_pic_ref_enabled_flag(&self) -> u32 {
5971        unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
5972    }
5973    #[inline]
5974    pub fn set_pps_curr_pic_ref_enabled_flag(&mut self, val: u32) {
5975        unsafe {
5976            let val: u32 = ::core::mem::transmute(val);
5977            self._bitfield_1.set(25usize, 1u8, val as u64)
5978        }
5979    }
5980    #[inline]
5981    pub fn residual_adaptive_colour_transform_enabled_flag(&self) -> u32 {
5982        unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
5983    }
5984    #[inline]
5985    pub fn set_residual_adaptive_colour_transform_enabled_flag(&mut self, val: u32) {
5986        unsafe {
5987            let val: u32 = ::core::mem::transmute(val);
5988            self._bitfield_1.set(26usize, 1u8, val as u64)
5989        }
5990    }
5991    #[inline]
5992    pub fn pps_slice_act_qp_offsets_present_flag(&self) -> u32 {
5993        unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
5994    }
5995    #[inline]
5996    pub fn set_pps_slice_act_qp_offsets_present_flag(&mut self, val: u32) {
5997        unsafe {
5998            let val: u32 = ::core::mem::transmute(val);
5999            self._bitfield_1.set(27usize, 1u8, val as u64)
6000        }
6001    }
6002    #[inline]
6003    pub fn pps_palette_predictor_initializers_present_flag(&self) -> u32 {
6004        unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
6005    }
6006    #[inline]
6007    pub fn set_pps_palette_predictor_initializers_present_flag(&mut self, val: u32) {
6008        unsafe {
6009            let val: u32 = ::core::mem::transmute(val);
6010            self._bitfield_1.set(28usize, 1u8, val as u64)
6011        }
6012    }
6013    #[inline]
6014    pub fn monochrome_palette_flag(&self) -> u32 {
6015        unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
6016    }
6017    #[inline]
6018    pub fn set_monochrome_palette_flag(&mut self, val: u32) {
6019        unsafe {
6020            let val: u32 = ::core::mem::transmute(val);
6021            self._bitfield_1.set(29usize, 1u8, val as u64)
6022        }
6023    }
6024    #[inline]
6025    pub fn pps_range_extension_flag(&self) -> u32 {
6026        unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) }
6027    }
6028    #[inline]
6029    pub fn set_pps_range_extension_flag(&mut self, val: u32) {
6030        unsafe {
6031            let val: u32 = ::core::mem::transmute(val);
6032            self._bitfield_1.set(30usize, 1u8, val as u64)
6033        }
6034    }
6035    #[inline]
6036    pub fn new_bitfield_1(
6037        dependent_slice_segments_enabled_flag: u32,
6038        output_flag_present_flag: u32,
6039        sign_data_hiding_enabled_flag: u32,
6040        cabac_init_present_flag: u32,
6041        constrained_intra_pred_flag: u32,
6042        transform_skip_enabled_flag: u32,
6043        cu_qp_delta_enabled_flag: u32,
6044        pps_slice_chroma_qp_offsets_present_flag: u32,
6045        weighted_pred_flag: u32,
6046        weighted_bipred_flag: u32,
6047        transquant_bypass_enabled_flag: u32,
6048        tiles_enabled_flag: u32,
6049        entropy_coding_sync_enabled_flag: u32,
6050        uniform_spacing_flag: u32,
6051        loop_filter_across_tiles_enabled_flag: u32,
6052        pps_loop_filter_across_slices_enabled_flag: u32,
6053        deblocking_filter_control_present_flag: u32,
6054        deblocking_filter_override_enabled_flag: u32,
6055        pps_deblocking_filter_disabled_flag: u32,
6056        pps_scaling_list_data_present_flag: u32,
6057        lists_modification_present_flag: u32,
6058        slice_segment_header_extension_present_flag: u32,
6059        pps_extension_present_flag: u32,
6060        cross_component_prediction_enabled_flag: u32,
6061        chroma_qp_offset_list_enabled_flag: u32,
6062        pps_curr_pic_ref_enabled_flag: u32,
6063        residual_adaptive_colour_transform_enabled_flag: u32,
6064        pps_slice_act_qp_offsets_present_flag: u32,
6065        pps_palette_predictor_initializers_present_flag: u32,
6066        monochrome_palette_flag: u32,
6067        pps_range_extension_flag: u32,
6068    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
6069        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
6070        __bindgen_bitfield_unit.set(0usize, 1u8, {
6071            let dependent_slice_segments_enabled_flag: u32 =
6072                unsafe { ::core::mem::transmute(dependent_slice_segments_enabled_flag) };
6073            dependent_slice_segments_enabled_flag as u64
6074        });
6075        __bindgen_bitfield_unit.set(1usize, 1u8, {
6076            let output_flag_present_flag: u32 =
6077                unsafe { ::core::mem::transmute(output_flag_present_flag) };
6078            output_flag_present_flag as u64
6079        });
6080        __bindgen_bitfield_unit.set(2usize, 1u8, {
6081            let sign_data_hiding_enabled_flag: u32 =
6082                unsafe { ::core::mem::transmute(sign_data_hiding_enabled_flag) };
6083            sign_data_hiding_enabled_flag as u64
6084        });
6085        __bindgen_bitfield_unit.set(3usize, 1u8, {
6086            let cabac_init_present_flag: u32 =
6087                unsafe { ::core::mem::transmute(cabac_init_present_flag) };
6088            cabac_init_present_flag as u64
6089        });
6090        __bindgen_bitfield_unit.set(4usize, 1u8, {
6091            let constrained_intra_pred_flag: u32 =
6092                unsafe { ::core::mem::transmute(constrained_intra_pred_flag) };
6093            constrained_intra_pred_flag as u64
6094        });
6095        __bindgen_bitfield_unit.set(5usize, 1u8, {
6096            let transform_skip_enabled_flag: u32 =
6097                unsafe { ::core::mem::transmute(transform_skip_enabled_flag) };
6098            transform_skip_enabled_flag as u64
6099        });
6100        __bindgen_bitfield_unit.set(6usize, 1u8, {
6101            let cu_qp_delta_enabled_flag: u32 =
6102                unsafe { ::core::mem::transmute(cu_qp_delta_enabled_flag) };
6103            cu_qp_delta_enabled_flag as u64
6104        });
6105        __bindgen_bitfield_unit.set(7usize, 1u8, {
6106            let pps_slice_chroma_qp_offsets_present_flag: u32 =
6107                unsafe { ::core::mem::transmute(pps_slice_chroma_qp_offsets_present_flag) };
6108            pps_slice_chroma_qp_offsets_present_flag as u64
6109        });
6110        __bindgen_bitfield_unit.set(8usize, 1u8, {
6111            let weighted_pred_flag: u32 = unsafe { ::core::mem::transmute(weighted_pred_flag) };
6112            weighted_pred_flag as u64
6113        });
6114        __bindgen_bitfield_unit.set(9usize, 1u8, {
6115            let weighted_bipred_flag: u32 = unsafe { ::core::mem::transmute(weighted_bipred_flag) };
6116            weighted_bipred_flag as u64
6117        });
6118        __bindgen_bitfield_unit.set(10usize, 1u8, {
6119            let transquant_bypass_enabled_flag: u32 =
6120                unsafe { ::core::mem::transmute(transquant_bypass_enabled_flag) };
6121            transquant_bypass_enabled_flag as u64
6122        });
6123        __bindgen_bitfield_unit.set(11usize, 1u8, {
6124            let tiles_enabled_flag: u32 = unsafe { ::core::mem::transmute(tiles_enabled_flag) };
6125            tiles_enabled_flag as u64
6126        });
6127        __bindgen_bitfield_unit.set(12usize, 1u8, {
6128            let entropy_coding_sync_enabled_flag: u32 =
6129                unsafe { ::core::mem::transmute(entropy_coding_sync_enabled_flag) };
6130            entropy_coding_sync_enabled_flag as u64
6131        });
6132        __bindgen_bitfield_unit.set(13usize, 1u8, {
6133            let uniform_spacing_flag: u32 = unsafe { ::core::mem::transmute(uniform_spacing_flag) };
6134            uniform_spacing_flag as u64
6135        });
6136        __bindgen_bitfield_unit.set(14usize, 1u8, {
6137            let loop_filter_across_tiles_enabled_flag: u32 =
6138                unsafe { ::core::mem::transmute(loop_filter_across_tiles_enabled_flag) };
6139            loop_filter_across_tiles_enabled_flag as u64
6140        });
6141        __bindgen_bitfield_unit.set(15usize, 1u8, {
6142            let pps_loop_filter_across_slices_enabled_flag: u32 =
6143                unsafe { ::core::mem::transmute(pps_loop_filter_across_slices_enabled_flag) };
6144            pps_loop_filter_across_slices_enabled_flag as u64
6145        });
6146        __bindgen_bitfield_unit.set(16usize, 1u8, {
6147            let deblocking_filter_control_present_flag: u32 =
6148                unsafe { ::core::mem::transmute(deblocking_filter_control_present_flag) };
6149            deblocking_filter_control_present_flag as u64
6150        });
6151        __bindgen_bitfield_unit.set(17usize, 1u8, {
6152            let deblocking_filter_override_enabled_flag: u32 =
6153                unsafe { ::core::mem::transmute(deblocking_filter_override_enabled_flag) };
6154            deblocking_filter_override_enabled_flag as u64
6155        });
6156        __bindgen_bitfield_unit.set(18usize, 1u8, {
6157            let pps_deblocking_filter_disabled_flag: u32 =
6158                unsafe { ::core::mem::transmute(pps_deblocking_filter_disabled_flag) };
6159            pps_deblocking_filter_disabled_flag as u64
6160        });
6161        __bindgen_bitfield_unit.set(19usize, 1u8, {
6162            let pps_scaling_list_data_present_flag: u32 =
6163                unsafe { ::core::mem::transmute(pps_scaling_list_data_present_flag) };
6164            pps_scaling_list_data_present_flag as u64
6165        });
6166        __bindgen_bitfield_unit.set(20usize, 1u8, {
6167            let lists_modification_present_flag: u32 =
6168                unsafe { ::core::mem::transmute(lists_modification_present_flag) };
6169            lists_modification_present_flag as u64
6170        });
6171        __bindgen_bitfield_unit.set(21usize, 1u8, {
6172            let slice_segment_header_extension_present_flag: u32 =
6173                unsafe { ::core::mem::transmute(slice_segment_header_extension_present_flag) };
6174            slice_segment_header_extension_present_flag as u64
6175        });
6176        __bindgen_bitfield_unit.set(22usize, 1u8, {
6177            let pps_extension_present_flag: u32 =
6178                unsafe { ::core::mem::transmute(pps_extension_present_flag) };
6179            pps_extension_present_flag as u64
6180        });
6181        __bindgen_bitfield_unit.set(23usize, 1u8, {
6182            let cross_component_prediction_enabled_flag: u32 =
6183                unsafe { ::core::mem::transmute(cross_component_prediction_enabled_flag) };
6184            cross_component_prediction_enabled_flag as u64
6185        });
6186        __bindgen_bitfield_unit.set(24usize, 1u8, {
6187            let chroma_qp_offset_list_enabled_flag: u32 =
6188                unsafe { ::core::mem::transmute(chroma_qp_offset_list_enabled_flag) };
6189            chroma_qp_offset_list_enabled_flag as u64
6190        });
6191        __bindgen_bitfield_unit.set(25usize, 1u8, {
6192            let pps_curr_pic_ref_enabled_flag: u32 =
6193                unsafe { ::core::mem::transmute(pps_curr_pic_ref_enabled_flag) };
6194            pps_curr_pic_ref_enabled_flag as u64
6195        });
6196        __bindgen_bitfield_unit.set(26usize, 1u8, {
6197            let residual_adaptive_colour_transform_enabled_flag: u32 =
6198                unsafe { ::core::mem::transmute(residual_adaptive_colour_transform_enabled_flag) };
6199            residual_adaptive_colour_transform_enabled_flag as u64
6200        });
6201        __bindgen_bitfield_unit.set(27usize, 1u8, {
6202            let pps_slice_act_qp_offsets_present_flag: u32 =
6203                unsafe { ::core::mem::transmute(pps_slice_act_qp_offsets_present_flag) };
6204            pps_slice_act_qp_offsets_present_flag as u64
6205        });
6206        __bindgen_bitfield_unit.set(28usize, 1u8, {
6207            let pps_palette_predictor_initializers_present_flag: u32 =
6208                unsafe { ::core::mem::transmute(pps_palette_predictor_initializers_present_flag) };
6209            pps_palette_predictor_initializers_present_flag as u64
6210        });
6211        __bindgen_bitfield_unit.set(29usize, 1u8, {
6212            let monochrome_palette_flag: u32 =
6213                unsafe { ::core::mem::transmute(monochrome_palette_flag) };
6214            monochrome_palette_flag as u64
6215        });
6216        __bindgen_bitfield_unit.set(30usize, 1u8, {
6217            let pps_range_extension_flag: u32 =
6218                unsafe { ::core::mem::transmute(pps_range_extension_flag) };
6219            pps_range_extension_flag as u64
6220        });
6221        __bindgen_bitfield_unit
6222    }
6223}
6224#[repr(C)]
6225#[derive(Debug, Copy, Clone)]
6226pub struct StdVideoH265PictureParameterSet {
6227    pub flags: StdVideoH265PpsFlags,
6228    pub pps_pic_parameter_set_id: u8,
6229    pub pps_seq_parameter_set_id: u8,
6230    pub sps_video_parameter_set_id: u8,
6231    pub num_extra_slice_header_bits: u8,
6232    pub num_ref_idx_l0_default_active_minus1: u8,
6233    pub num_ref_idx_l1_default_active_minus1: u8,
6234    pub init_qp_minus26: i8,
6235    pub diff_cu_qp_delta_depth: u8,
6236    pub pps_cb_qp_offset: i8,
6237    pub pps_cr_qp_offset: i8,
6238    pub pps_beta_offset_div2: i8,
6239    pub pps_tc_offset_div2: i8,
6240    pub log2_parallel_merge_level_minus2: u8,
6241    pub log2_max_transform_skip_block_size_minus2: u8,
6242    pub diff_cu_chroma_qp_offset_depth: u8,
6243    pub chroma_qp_offset_list_len_minus1: u8,
6244    pub cb_qp_offset_list: [i8; 6usize],
6245    pub cr_qp_offset_list: [i8; 6usize],
6246    pub log2_sao_offset_scale_luma: u8,
6247    pub log2_sao_offset_scale_chroma: u8,
6248    pub pps_act_y_qp_offset_plus5: i8,
6249    pub pps_act_cb_qp_offset_plus5: i8,
6250    pub pps_act_cr_qp_offset_plus3: i8,
6251    pub pps_num_palette_predictor_initializers: u8,
6252    pub luma_bit_depth_entry_minus8: u8,
6253    pub chroma_bit_depth_entry_minus8: u8,
6254    pub num_tile_columns_minus1: u8,
6255    pub num_tile_rows_minus1: u8,
6256    pub reserved1: u8,
6257    pub reserved2: u8,
6258    pub column_width_minus1: [u16; 19usize],
6259    pub row_height_minus1: [u16; 21usize],
6260    pub reserved3: u32,
6261    pub pScalingLists: *const StdVideoH265ScalingLists,
6262    pub pPredictorPaletteEntries: *const StdVideoH265PredictorPaletteEntries,
6263}
6264#[repr(C)]
6265#[repr(align(4))]
6266#[derive(Debug, Copy, Clone)]
6267pub struct StdVideoDecodeH265PictureInfoFlags {
6268    pub _bitfield_align_1: [u8; 0],
6269    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6270    pub __bindgen_padding_0: [u8; 3usize],
6271}
6272impl StdVideoDecodeH265PictureInfoFlags {
6273    #[inline]
6274    pub fn IrapPicFlag(&self) -> u32 {
6275        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6276    }
6277    #[inline]
6278    pub fn set_IrapPicFlag(&mut self, val: u32) {
6279        unsafe {
6280            let val: u32 = ::core::mem::transmute(val);
6281            self._bitfield_1.set(0usize, 1u8, val as u64)
6282        }
6283    }
6284    #[inline]
6285    pub fn IdrPicFlag(&self) -> u32 {
6286        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
6287    }
6288    #[inline]
6289    pub fn set_IdrPicFlag(&mut self, val: u32) {
6290        unsafe {
6291            let val: u32 = ::core::mem::transmute(val);
6292            self._bitfield_1.set(1usize, 1u8, val as u64)
6293        }
6294    }
6295    #[inline]
6296    pub fn IsReference(&self) -> u32 {
6297        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
6298    }
6299    #[inline]
6300    pub fn set_IsReference(&mut self, val: u32) {
6301        unsafe {
6302            let val: u32 = ::core::mem::transmute(val);
6303            self._bitfield_1.set(2usize, 1u8, val as u64)
6304        }
6305    }
6306    #[inline]
6307    pub fn short_term_ref_pic_set_sps_flag(&self) -> u32 {
6308        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
6309    }
6310    #[inline]
6311    pub fn set_short_term_ref_pic_set_sps_flag(&mut self, val: u32) {
6312        unsafe {
6313            let val: u32 = ::core::mem::transmute(val);
6314            self._bitfield_1.set(3usize, 1u8, val as u64)
6315        }
6316    }
6317    #[inline]
6318    pub fn new_bitfield_1(
6319        IrapPicFlag: u32,
6320        IdrPicFlag: u32,
6321        IsReference: u32,
6322        short_term_ref_pic_set_sps_flag: u32,
6323    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
6324        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
6325        __bindgen_bitfield_unit.set(0usize, 1u8, {
6326            let IrapPicFlag: u32 = unsafe { ::core::mem::transmute(IrapPicFlag) };
6327            IrapPicFlag as u64
6328        });
6329        __bindgen_bitfield_unit.set(1usize, 1u8, {
6330            let IdrPicFlag: u32 = unsafe { ::core::mem::transmute(IdrPicFlag) };
6331            IdrPicFlag as u64
6332        });
6333        __bindgen_bitfield_unit.set(2usize, 1u8, {
6334            let IsReference: u32 = unsafe { ::core::mem::transmute(IsReference) };
6335            IsReference as u64
6336        });
6337        __bindgen_bitfield_unit.set(3usize, 1u8, {
6338            let short_term_ref_pic_set_sps_flag: u32 =
6339                unsafe { ::core::mem::transmute(short_term_ref_pic_set_sps_flag) };
6340            short_term_ref_pic_set_sps_flag as u64
6341        });
6342        __bindgen_bitfield_unit
6343    }
6344}
6345#[repr(C)]
6346#[derive(Debug, Copy, Clone)]
6347pub struct StdVideoDecodeH265PictureInfo {
6348    pub flags: StdVideoDecodeH265PictureInfoFlags,
6349    pub sps_video_parameter_set_id: u8,
6350    pub pps_seq_parameter_set_id: u8,
6351    pub pps_pic_parameter_set_id: u8,
6352    pub NumDeltaPocsOfRefRpsIdx: u8,
6353    pub PicOrderCntVal: i32,
6354    pub NumBitsForSTRefPicSetInSlice: u16,
6355    pub reserved: u16,
6356    pub RefPicSetStCurrBefore: [u8; 8usize],
6357    pub RefPicSetStCurrAfter: [u8; 8usize],
6358    pub RefPicSetLtCurr: [u8; 8usize],
6359}
6360#[repr(C)]
6361#[repr(align(4))]
6362#[derive(Debug, Copy, Clone)]
6363pub struct StdVideoDecodeH265ReferenceInfoFlags {
6364    pub _bitfield_align_1: [u8; 0],
6365    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6366    pub __bindgen_padding_0: [u8; 3usize],
6367}
6368impl StdVideoDecodeH265ReferenceInfoFlags {
6369    #[inline]
6370    pub fn used_for_long_term_reference(&self) -> u32 {
6371        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6372    }
6373    #[inline]
6374    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
6375        unsafe {
6376            let val: u32 = ::core::mem::transmute(val);
6377            self._bitfield_1.set(0usize, 1u8, val as u64)
6378        }
6379    }
6380    #[inline]
6381    pub fn unused_for_reference(&self) -> u32 {
6382        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
6383    }
6384    #[inline]
6385    pub fn set_unused_for_reference(&mut self, val: u32) {
6386        unsafe {
6387            let val: u32 = ::core::mem::transmute(val);
6388            self._bitfield_1.set(1usize, 1u8, val as u64)
6389        }
6390    }
6391    #[inline]
6392    pub fn new_bitfield_1(
6393        used_for_long_term_reference: u32,
6394        unused_for_reference: u32,
6395    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
6396        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
6397        __bindgen_bitfield_unit.set(0usize, 1u8, {
6398            let used_for_long_term_reference: u32 =
6399                unsafe { ::core::mem::transmute(used_for_long_term_reference) };
6400            used_for_long_term_reference as u64
6401        });
6402        __bindgen_bitfield_unit.set(1usize, 1u8, {
6403            let unused_for_reference: u32 = unsafe { ::core::mem::transmute(unused_for_reference) };
6404            unused_for_reference as u64
6405        });
6406        __bindgen_bitfield_unit
6407    }
6408}
6409#[repr(C)]
6410#[derive(Debug, Copy, Clone)]
6411pub struct StdVideoDecodeH265ReferenceInfo {
6412    pub flags: StdVideoDecodeH265ReferenceInfoFlags,
6413    pub PicOrderCntVal: i32,
6414}
6415#[repr(C)]
6416#[derive(Debug, Copy, Clone)]
6417pub struct StdVideoEncodeH265WeightTableFlags {
6418    pub luma_weight_l0_flag: u16,
6419    pub chroma_weight_l0_flag: u16,
6420    pub luma_weight_l1_flag: u16,
6421    pub chroma_weight_l1_flag: u16,
6422}
6423#[repr(C)]
6424#[derive(Debug, Copy, Clone)]
6425pub struct StdVideoEncodeH265WeightTable {
6426    pub flags: StdVideoEncodeH265WeightTableFlags,
6427    pub luma_log2_weight_denom: u8,
6428    pub delta_chroma_log2_weight_denom: i8,
6429    pub delta_luma_weight_l0: [i8; 15usize],
6430    pub luma_offset_l0: [i8; 15usize],
6431    pub delta_chroma_weight_l0: [[i8; 2usize]; 15usize],
6432    pub delta_chroma_offset_l0: [[i8; 2usize]; 15usize],
6433    pub delta_luma_weight_l1: [i8; 15usize],
6434    pub luma_offset_l1: [i8; 15usize],
6435    pub delta_chroma_weight_l1: [[i8; 2usize]; 15usize],
6436    pub delta_chroma_offset_l1: [[i8; 2usize]; 15usize],
6437}
6438#[repr(C)]
6439#[repr(align(4))]
6440#[derive(Debug, Copy, Clone)]
6441pub struct StdVideoEncodeH265SliceSegmentHeaderFlags {
6442    pub _bitfield_align_1: [u32; 0],
6443    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
6444}
6445impl StdVideoEncodeH265SliceSegmentHeaderFlags {
6446    #[inline]
6447    pub fn first_slice_segment_in_pic_flag(&self) -> u32 {
6448        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6449    }
6450    #[inline]
6451    pub fn set_first_slice_segment_in_pic_flag(&mut self, val: u32) {
6452        unsafe {
6453            let val: u32 = ::core::mem::transmute(val);
6454            self._bitfield_1.set(0usize, 1u8, val as u64)
6455        }
6456    }
6457    #[inline]
6458    pub fn dependent_slice_segment_flag(&self) -> u32 {
6459        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
6460    }
6461    #[inline]
6462    pub fn set_dependent_slice_segment_flag(&mut self, val: u32) {
6463        unsafe {
6464            let val: u32 = ::core::mem::transmute(val);
6465            self._bitfield_1.set(1usize, 1u8, val as u64)
6466        }
6467    }
6468    #[inline]
6469    pub fn slice_sao_luma_flag(&self) -> u32 {
6470        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
6471    }
6472    #[inline]
6473    pub fn set_slice_sao_luma_flag(&mut self, val: u32) {
6474        unsafe {
6475            let val: u32 = ::core::mem::transmute(val);
6476            self._bitfield_1.set(2usize, 1u8, val as u64)
6477        }
6478    }
6479    #[inline]
6480    pub fn slice_sao_chroma_flag(&self) -> u32 {
6481        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
6482    }
6483    #[inline]
6484    pub fn set_slice_sao_chroma_flag(&mut self, val: u32) {
6485        unsafe {
6486            let val: u32 = ::core::mem::transmute(val);
6487            self._bitfield_1.set(3usize, 1u8, val as u64)
6488        }
6489    }
6490    #[inline]
6491    pub fn num_ref_idx_active_override_flag(&self) -> u32 {
6492        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
6493    }
6494    #[inline]
6495    pub fn set_num_ref_idx_active_override_flag(&mut self, val: u32) {
6496        unsafe {
6497            let val: u32 = ::core::mem::transmute(val);
6498            self._bitfield_1.set(4usize, 1u8, val as u64)
6499        }
6500    }
6501    #[inline]
6502    pub fn mvd_l1_zero_flag(&self) -> u32 {
6503        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
6504    }
6505    #[inline]
6506    pub fn set_mvd_l1_zero_flag(&mut self, val: u32) {
6507        unsafe {
6508            let val: u32 = ::core::mem::transmute(val);
6509            self._bitfield_1.set(5usize, 1u8, val as u64)
6510        }
6511    }
6512    #[inline]
6513    pub fn cabac_init_flag(&self) -> u32 {
6514        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
6515    }
6516    #[inline]
6517    pub fn set_cabac_init_flag(&mut self, val: u32) {
6518        unsafe {
6519            let val: u32 = ::core::mem::transmute(val);
6520            self._bitfield_1.set(6usize, 1u8, val as u64)
6521        }
6522    }
6523    #[inline]
6524    pub fn cu_chroma_qp_offset_enabled_flag(&self) -> u32 {
6525        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
6526    }
6527    #[inline]
6528    pub fn set_cu_chroma_qp_offset_enabled_flag(&mut self, val: u32) {
6529        unsafe {
6530            let val: u32 = ::core::mem::transmute(val);
6531            self._bitfield_1.set(7usize, 1u8, val as u64)
6532        }
6533    }
6534    #[inline]
6535    pub fn deblocking_filter_override_flag(&self) -> u32 {
6536        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
6537    }
6538    #[inline]
6539    pub fn set_deblocking_filter_override_flag(&mut self, val: u32) {
6540        unsafe {
6541            let val: u32 = ::core::mem::transmute(val);
6542            self._bitfield_1.set(8usize, 1u8, val as u64)
6543        }
6544    }
6545    #[inline]
6546    pub fn slice_deblocking_filter_disabled_flag(&self) -> u32 {
6547        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
6548    }
6549    #[inline]
6550    pub fn set_slice_deblocking_filter_disabled_flag(&mut self, val: u32) {
6551        unsafe {
6552            let val: u32 = ::core::mem::transmute(val);
6553            self._bitfield_1.set(9usize, 1u8, val as u64)
6554        }
6555    }
6556    #[inline]
6557    pub fn collocated_from_l0_flag(&self) -> u32 {
6558        unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
6559    }
6560    #[inline]
6561    pub fn set_collocated_from_l0_flag(&mut self, val: u32) {
6562        unsafe {
6563            let val: u32 = ::core::mem::transmute(val);
6564            self._bitfield_1.set(10usize, 1u8, val as u64)
6565        }
6566    }
6567    #[inline]
6568    pub fn slice_loop_filter_across_slices_enabled_flag(&self) -> u32 {
6569        unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
6570    }
6571    #[inline]
6572    pub fn set_slice_loop_filter_across_slices_enabled_flag(&mut self, val: u32) {
6573        unsafe {
6574            let val: u32 = ::core::mem::transmute(val);
6575            self._bitfield_1.set(11usize, 1u8, val as u64)
6576        }
6577    }
6578    #[inline]
6579    pub fn reserved(&self) -> u32 {
6580        unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) }
6581    }
6582    #[inline]
6583    pub fn set_reserved(&mut self, val: u32) {
6584        unsafe {
6585            let val: u32 = ::core::mem::transmute(val);
6586            self._bitfield_1.set(12usize, 20u8, val as u64)
6587        }
6588    }
6589    #[inline]
6590    pub fn new_bitfield_1(
6591        first_slice_segment_in_pic_flag: u32,
6592        dependent_slice_segment_flag: u32,
6593        slice_sao_luma_flag: u32,
6594        slice_sao_chroma_flag: u32,
6595        num_ref_idx_active_override_flag: u32,
6596        mvd_l1_zero_flag: u32,
6597        cabac_init_flag: u32,
6598        cu_chroma_qp_offset_enabled_flag: u32,
6599        deblocking_filter_override_flag: u32,
6600        slice_deblocking_filter_disabled_flag: u32,
6601        collocated_from_l0_flag: u32,
6602        slice_loop_filter_across_slices_enabled_flag: u32,
6603        reserved: u32,
6604    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
6605        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
6606        __bindgen_bitfield_unit.set(0usize, 1u8, {
6607            let first_slice_segment_in_pic_flag: u32 =
6608                unsafe { ::core::mem::transmute(first_slice_segment_in_pic_flag) };
6609            first_slice_segment_in_pic_flag as u64
6610        });
6611        __bindgen_bitfield_unit.set(1usize, 1u8, {
6612            let dependent_slice_segment_flag: u32 =
6613                unsafe { ::core::mem::transmute(dependent_slice_segment_flag) };
6614            dependent_slice_segment_flag as u64
6615        });
6616        __bindgen_bitfield_unit.set(2usize, 1u8, {
6617            let slice_sao_luma_flag: u32 = unsafe { ::core::mem::transmute(slice_sao_luma_flag) };
6618            slice_sao_luma_flag as u64
6619        });
6620        __bindgen_bitfield_unit.set(3usize, 1u8, {
6621            let slice_sao_chroma_flag: u32 =
6622                unsafe { ::core::mem::transmute(slice_sao_chroma_flag) };
6623            slice_sao_chroma_flag as u64
6624        });
6625        __bindgen_bitfield_unit.set(4usize, 1u8, {
6626            let num_ref_idx_active_override_flag: u32 =
6627                unsafe { ::core::mem::transmute(num_ref_idx_active_override_flag) };
6628            num_ref_idx_active_override_flag as u64
6629        });
6630        __bindgen_bitfield_unit.set(5usize, 1u8, {
6631            let mvd_l1_zero_flag: u32 = unsafe { ::core::mem::transmute(mvd_l1_zero_flag) };
6632            mvd_l1_zero_flag as u64
6633        });
6634        __bindgen_bitfield_unit.set(6usize, 1u8, {
6635            let cabac_init_flag: u32 = unsafe { ::core::mem::transmute(cabac_init_flag) };
6636            cabac_init_flag as u64
6637        });
6638        __bindgen_bitfield_unit.set(7usize, 1u8, {
6639            let cu_chroma_qp_offset_enabled_flag: u32 =
6640                unsafe { ::core::mem::transmute(cu_chroma_qp_offset_enabled_flag) };
6641            cu_chroma_qp_offset_enabled_flag as u64
6642        });
6643        __bindgen_bitfield_unit.set(8usize, 1u8, {
6644            let deblocking_filter_override_flag: u32 =
6645                unsafe { ::core::mem::transmute(deblocking_filter_override_flag) };
6646            deblocking_filter_override_flag as u64
6647        });
6648        __bindgen_bitfield_unit.set(9usize, 1u8, {
6649            let slice_deblocking_filter_disabled_flag: u32 =
6650                unsafe { ::core::mem::transmute(slice_deblocking_filter_disabled_flag) };
6651            slice_deblocking_filter_disabled_flag as u64
6652        });
6653        __bindgen_bitfield_unit.set(10usize, 1u8, {
6654            let collocated_from_l0_flag: u32 =
6655                unsafe { ::core::mem::transmute(collocated_from_l0_flag) };
6656            collocated_from_l0_flag as u64
6657        });
6658        __bindgen_bitfield_unit.set(11usize, 1u8, {
6659            let slice_loop_filter_across_slices_enabled_flag: u32 =
6660                unsafe { ::core::mem::transmute(slice_loop_filter_across_slices_enabled_flag) };
6661            slice_loop_filter_across_slices_enabled_flag as u64
6662        });
6663        __bindgen_bitfield_unit.set(12usize, 20u8, {
6664            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
6665            reserved as u64
6666        });
6667        __bindgen_bitfield_unit
6668    }
6669}
6670#[repr(C)]
6671#[derive(Debug, Copy, Clone)]
6672pub struct StdVideoEncodeH265SliceSegmentHeader {
6673    pub flags: StdVideoEncodeH265SliceSegmentHeaderFlags,
6674    pub slice_type: StdVideoH265SliceType,
6675    pub slice_segment_address: u32,
6676    pub collocated_ref_idx: u8,
6677    pub MaxNumMergeCand: u8,
6678    pub slice_cb_qp_offset: i8,
6679    pub slice_cr_qp_offset: i8,
6680    pub slice_beta_offset_div2: i8,
6681    pub slice_tc_offset_div2: i8,
6682    pub slice_act_y_qp_offset: i8,
6683    pub slice_act_cb_qp_offset: i8,
6684    pub slice_act_cr_qp_offset: i8,
6685    pub slice_qp_delta: i8,
6686    pub reserved1: u16,
6687    pub pWeightTable: *const StdVideoEncodeH265WeightTable,
6688}
6689#[repr(C)]
6690#[repr(align(4))]
6691#[derive(Debug, Copy, Clone)]
6692pub struct StdVideoEncodeH265ReferenceListsInfoFlags {
6693    pub _bitfield_align_1: [u32; 0],
6694    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
6695}
6696impl StdVideoEncodeH265ReferenceListsInfoFlags {
6697    #[inline]
6698    pub fn ref_pic_list_modification_flag_l0(&self) -> u32 {
6699        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6700    }
6701    #[inline]
6702    pub fn set_ref_pic_list_modification_flag_l0(&mut self, val: u32) {
6703        unsafe {
6704            let val: u32 = ::core::mem::transmute(val);
6705            self._bitfield_1.set(0usize, 1u8, val as u64)
6706        }
6707    }
6708    #[inline]
6709    pub fn ref_pic_list_modification_flag_l1(&self) -> u32 {
6710        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
6711    }
6712    #[inline]
6713    pub fn set_ref_pic_list_modification_flag_l1(&mut self, val: u32) {
6714        unsafe {
6715            let val: u32 = ::core::mem::transmute(val);
6716            self._bitfield_1.set(1usize, 1u8, val as u64)
6717        }
6718    }
6719    #[inline]
6720    pub fn reserved(&self) -> u32 {
6721        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
6722    }
6723    #[inline]
6724    pub fn set_reserved(&mut self, val: u32) {
6725        unsafe {
6726            let val: u32 = ::core::mem::transmute(val);
6727            self._bitfield_1.set(2usize, 30u8, val as u64)
6728        }
6729    }
6730    #[inline]
6731    pub fn new_bitfield_1(
6732        ref_pic_list_modification_flag_l0: u32,
6733        ref_pic_list_modification_flag_l1: u32,
6734        reserved: u32,
6735    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
6736        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
6737        __bindgen_bitfield_unit.set(0usize, 1u8, {
6738            let ref_pic_list_modification_flag_l0: u32 =
6739                unsafe { ::core::mem::transmute(ref_pic_list_modification_flag_l0) };
6740            ref_pic_list_modification_flag_l0 as u64
6741        });
6742        __bindgen_bitfield_unit.set(1usize, 1u8, {
6743            let ref_pic_list_modification_flag_l1: u32 =
6744                unsafe { ::core::mem::transmute(ref_pic_list_modification_flag_l1) };
6745            ref_pic_list_modification_flag_l1 as u64
6746        });
6747        __bindgen_bitfield_unit.set(2usize, 30u8, {
6748            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
6749            reserved as u64
6750        });
6751        __bindgen_bitfield_unit
6752    }
6753}
6754#[repr(C)]
6755#[derive(Debug, Copy, Clone)]
6756pub struct StdVideoEncodeH265ReferenceListsInfo {
6757    pub flags: StdVideoEncodeH265ReferenceListsInfoFlags,
6758    pub num_ref_idx_l0_active_minus1: u8,
6759    pub num_ref_idx_l1_active_minus1: u8,
6760    pub RefPicList0: [u8; 15usize],
6761    pub RefPicList1: [u8; 15usize],
6762    pub list_entry_l0: [u8; 15usize],
6763    pub list_entry_l1: [u8; 15usize],
6764}
6765#[repr(C)]
6766#[repr(align(4))]
6767#[derive(Debug, Copy, Clone)]
6768pub struct StdVideoEncodeH265PictureInfoFlags {
6769    pub _bitfield_align_1: [u32; 0],
6770    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
6771}
6772impl StdVideoEncodeH265PictureInfoFlags {
6773    #[inline]
6774    pub fn is_reference(&self) -> u32 {
6775        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6776    }
6777    #[inline]
6778    pub fn set_is_reference(&mut self, val: u32) {
6779        unsafe {
6780            let val: u32 = ::core::mem::transmute(val);
6781            self._bitfield_1.set(0usize, 1u8, val as u64)
6782        }
6783    }
6784    #[inline]
6785    pub fn IrapPicFlag(&self) -> u32 {
6786        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
6787    }
6788    #[inline]
6789    pub fn set_IrapPicFlag(&mut self, val: u32) {
6790        unsafe {
6791            let val: u32 = ::core::mem::transmute(val);
6792            self._bitfield_1.set(1usize, 1u8, val as u64)
6793        }
6794    }
6795    #[inline]
6796    pub fn used_for_long_term_reference(&self) -> u32 {
6797        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
6798    }
6799    #[inline]
6800    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
6801        unsafe {
6802            let val: u32 = ::core::mem::transmute(val);
6803            self._bitfield_1.set(2usize, 1u8, val as u64)
6804        }
6805    }
6806    #[inline]
6807    pub fn discardable_flag(&self) -> u32 {
6808        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
6809    }
6810    #[inline]
6811    pub fn set_discardable_flag(&mut self, val: u32) {
6812        unsafe {
6813            let val: u32 = ::core::mem::transmute(val);
6814            self._bitfield_1.set(3usize, 1u8, val as u64)
6815        }
6816    }
6817    #[inline]
6818    pub fn cross_layer_bla_flag(&self) -> u32 {
6819        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
6820    }
6821    #[inline]
6822    pub fn set_cross_layer_bla_flag(&mut self, val: u32) {
6823        unsafe {
6824            let val: u32 = ::core::mem::transmute(val);
6825            self._bitfield_1.set(4usize, 1u8, val as u64)
6826        }
6827    }
6828    #[inline]
6829    pub fn pic_output_flag(&self) -> u32 {
6830        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
6831    }
6832    #[inline]
6833    pub fn set_pic_output_flag(&mut self, val: u32) {
6834        unsafe {
6835            let val: u32 = ::core::mem::transmute(val);
6836            self._bitfield_1.set(5usize, 1u8, val as u64)
6837        }
6838    }
6839    #[inline]
6840    pub fn no_output_of_prior_pics_flag(&self) -> u32 {
6841        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
6842    }
6843    #[inline]
6844    pub fn set_no_output_of_prior_pics_flag(&mut self, val: u32) {
6845        unsafe {
6846            let val: u32 = ::core::mem::transmute(val);
6847            self._bitfield_1.set(6usize, 1u8, val as u64)
6848        }
6849    }
6850    #[inline]
6851    pub fn short_term_ref_pic_set_sps_flag(&self) -> u32 {
6852        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
6853    }
6854    #[inline]
6855    pub fn set_short_term_ref_pic_set_sps_flag(&mut self, val: u32) {
6856        unsafe {
6857            let val: u32 = ::core::mem::transmute(val);
6858            self._bitfield_1.set(7usize, 1u8, val as u64)
6859        }
6860    }
6861    #[inline]
6862    pub fn slice_temporal_mvp_enabled_flag(&self) -> u32 {
6863        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
6864    }
6865    #[inline]
6866    pub fn set_slice_temporal_mvp_enabled_flag(&mut self, val: u32) {
6867        unsafe {
6868            let val: u32 = ::core::mem::transmute(val);
6869            self._bitfield_1.set(8usize, 1u8, val as u64)
6870        }
6871    }
6872    #[inline]
6873    pub fn reserved(&self) -> u32 {
6874        unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 23u8) as u32) }
6875    }
6876    #[inline]
6877    pub fn set_reserved(&mut self, val: u32) {
6878        unsafe {
6879            let val: u32 = ::core::mem::transmute(val);
6880            self._bitfield_1.set(9usize, 23u8, val as u64)
6881        }
6882    }
6883    #[inline]
6884    pub fn new_bitfield_1(
6885        is_reference: u32,
6886        IrapPicFlag: u32,
6887        used_for_long_term_reference: u32,
6888        discardable_flag: u32,
6889        cross_layer_bla_flag: u32,
6890        pic_output_flag: u32,
6891        no_output_of_prior_pics_flag: u32,
6892        short_term_ref_pic_set_sps_flag: u32,
6893        slice_temporal_mvp_enabled_flag: u32,
6894        reserved: u32,
6895    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
6896        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
6897        __bindgen_bitfield_unit.set(0usize, 1u8, {
6898            let is_reference: u32 = unsafe { ::core::mem::transmute(is_reference) };
6899            is_reference as u64
6900        });
6901        __bindgen_bitfield_unit.set(1usize, 1u8, {
6902            let IrapPicFlag: u32 = unsafe { ::core::mem::transmute(IrapPicFlag) };
6903            IrapPicFlag as u64
6904        });
6905        __bindgen_bitfield_unit.set(2usize, 1u8, {
6906            let used_for_long_term_reference: u32 =
6907                unsafe { ::core::mem::transmute(used_for_long_term_reference) };
6908            used_for_long_term_reference as u64
6909        });
6910        __bindgen_bitfield_unit.set(3usize, 1u8, {
6911            let discardable_flag: u32 = unsafe { ::core::mem::transmute(discardable_flag) };
6912            discardable_flag as u64
6913        });
6914        __bindgen_bitfield_unit.set(4usize, 1u8, {
6915            let cross_layer_bla_flag: u32 = unsafe { ::core::mem::transmute(cross_layer_bla_flag) };
6916            cross_layer_bla_flag as u64
6917        });
6918        __bindgen_bitfield_unit.set(5usize, 1u8, {
6919            let pic_output_flag: u32 = unsafe { ::core::mem::transmute(pic_output_flag) };
6920            pic_output_flag as u64
6921        });
6922        __bindgen_bitfield_unit.set(6usize, 1u8, {
6923            let no_output_of_prior_pics_flag: u32 =
6924                unsafe { ::core::mem::transmute(no_output_of_prior_pics_flag) };
6925            no_output_of_prior_pics_flag as u64
6926        });
6927        __bindgen_bitfield_unit.set(7usize, 1u8, {
6928            let short_term_ref_pic_set_sps_flag: u32 =
6929                unsafe { ::core::mem::transmute(short_term_ref_pic_set_sps_flag) };
6930            short_term_ref_pic_set_sps_flag as u64
6931        });
6932        __bindgen_bitfield_unit.set(8usize, 1u8, {
6933            let slice_temporal_mvp_enabled_flag: u32 =
6934                unsafe { ::core::mem::transmute(slice_temporal_mvp_enabled_flag) };
6935            slice_temporal_mvp_enabled_flag as u64
6936        });
6937        __bindgen_bitfield_unit.set(9usize, 23u8, {
6938            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
6939            reserved as u64
6940        });
6941        __bindgen_bitfield_unit
6942    }
6943}
6944#[repr(C)]
6945#[derive(Debug, Copy, Clone)]
6946pub struct StdVideoEncodeH265LongTermRefPics {
6947    pub num_long_term_sps: u8,
6948    pub num_long_term_pics: u8,
6949    pub lt_idx_sps: [u8; 32usize],
6950    pub poc_lsb_lt: [u8; 16usize],
6951    pub used_by_curr_pic_lt_flag: u16,
6952    pub delta_poc_msb_present_flag: [u8; 48usize],
6953    pub delta_poc_msb_cycle_lt: [u8; 48usize],
6954}
6955#[repr(C)]
6956#[derive(Debug, Copy, Clone)]
6957pub struct StdVideoEncodeH265PictureInfo {
6958    pub flags: StdVideoEncodeH265PictureInfoFlags,
6959    pub pic_type: StdVideoH265PictureType,
6960    pub sps_video_parameter_set_id: u8,
6961    pub pps_seq_parameter_set_id: u8,
6962    pub pps_pic_parameter_set_id: u8,
6963    pub short_term_ref_pic_set_idx: u8,
6964    pub PicOrderCntVal: i32,
6965    pub TemporalId: u8,
6966    pub reserved1: [u8; 7usize],
6967    pub pRefLists: *const StdVideoEncodeH265ReferenceListsInfo,
6968    pub pShortTermRefPicSet: *const StdVideoH265ShortTermRefPicSet,
6969    pub pLongTermRefPics: *const StdVideoEncodeH265LongTermRefPics,
6970}
6971#[repr(C)]
6972#[repr(align(4))]
6973#[derive(Debug, Copy, Clone)]
6974pub struct StdVideoEncodeH265ReferenceInfoFlags {
6975    pub _bitfield_align_1: [u32; 0],
6976    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
6977}
6978impl StdVideoEncodeH265ReferenceInfoFlags {
6979    #[inline]
6980    pub fn used_for_long_term_reference(&self) -> u32 {
6981        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6982    }
6983    #[inline]
6984    pub fn set_used_for_long_term_reference(&mut self, val: u32) {
6985        unsafe {
6986            let val: u32 = ::core::mem::transmute(val);
6987            self._bitfield_1.set(0usize, 1u8, val as u64)
6988        }
6989    }
6990    #[inline]
6991    pub fn unused_for_reference(&self) -> u32 {
6992        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
6993    }
6994    #[inline]
6995    pub fn set_unused_for_reference(&mut self, val: u32) {
6996        unsafe {
6997            let val: u32 = ::core::mem::transmute(val);
6998            self._bitfield_1.set(1usize, 1u8, val as u64)
6999        }
7000    }
7001    #[inline]
7002    pub fn reserved(&self) -> u32 {
7003        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
7004    }
7005    #[inline]
7006    pub fn set_reserved(&mut self, val: u32) {
7007        unsafe {
7008            let val: u32 = ::core::mem::transmute(val);
7009            self._bitfield_1.set(2usize, 30u8, val as u64)
7010        }
7011    }
7012    #[inline]
7013    pub fn new_bitfield_1(
7014        used_for_long_term_reference: u32,
7015        unused_for_reference: u32,
7016        reserved: u32,
7017    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
7018        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
7019        __bindgen_bitfield_unit.set(0usize, 1u8, {
7020            let used_for_long_term_reference: u32 =
7021                unsafe { ::core::mem::transmute(used_for_long_term_reference) };
7022            used_for_long_term_reference as u64
7023        });
7024        __bindgen_bitfield_unit.set(1usize, 1u8, {
7025            let unused_for_reference: u32 = unsafe { ::core::mem::transmute(unused_for_reference) };
7026            unused_for_reference as u64
7027        });
7028        __bindgen_bitfield_unit.set(2usize, 30u8, {
7029            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
7030            reserved as u64
7031        });
7032        __bindgen_bitfield_unit
7033    }
7034}
7035#[repr(C)]
7036#[derive(Debug, Copy, Clone)]
7037pub struct StdVideoEncodeH265ReferenceInfo {
7038    pub flags: StdVideoEncodeH265ReferenceInfoFlags,
7039    pub pic_type: StdVideoH265PictureType,
7040    pub PicOrderCntVal: i32,
7041    pub TemporalId: u8,
7042}
7043pub const STD_VIDEO_VP9_PROFILE_0: StdVideoVP9Profile = StdVideoVP9Profile(0);
7044pub const STD_VIDEO_VP9_PROFILE_1: StdVideoVP9Profile = StdVideoVP9Profile(1);
7045pub const STD_VIDEO_VP9_PROFILE_2: StdVideoVP9Profile = StdVideoVP9Profile(2);
7046pub const STD_VIDEO_VP9_PROFILE_3: StdVideoVP9Profile = StdVideoVP9Profile(3);
7047pub const STD_VIDEO_VP9_PROFILE_INVALID: StdVideoVP9Profile = StdVideoVP9Profile(2147483647);
7048pub const STD_VIDEO_VP9_PROFILE_MAX_ENUM: StdVideoVP9Profile = StdVideoVP9Profile(2147483647);
7049#[repr(transparent)]
7050#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
7051pub struct StdVideoVP9Profile(pub ::core::ffi::c_int);
7052pub const STD_VIDEO_VP9_LEVEL_1_0: StdVideoVP9Level = StdVideoVP9Level(0);
7053pub const STD_VIDEO_VP9_LEVEL_1_1: StdVideoVP9Level = StdVideoVP9Level(1);
7054pub const STD_VIDEO_VP9_LEVEL_2_0: StdVideoVP9Level = StdVideoVP9Level(2);
7055pub const STD_VIDEO_VP9_LEVEL_2_1: StdVideoVP9Level = StdVideoVP9Level(3);
7056pub const STD_VIDEO_VP9_LEVEL_3_0: StdVideoVP9Level = StdVideoVP9Level(4);
7057pub const STD_VIDEO_VP9_LEVEL_3_1: StdVideoVP9Level = StdVideoVP9Level(5);
7058pub const STD_VIDEO_VP9_LEVEL_4_0: StdVideoVP9Level = StdVideoVP9Level(6);
7059pub const STD_VIDEO_VP9_LEVEL_4_1: StdVideoVP9Level = StdVideoVP9Level(7);
7060pub const STD_VIDEO_VP9_LEVEL_5_0: StdVideoVP9Level = StdVideoVP9Level(8);
7061pub const STD_VIDEO_VP9_LEVEL_5_1: StdVideoVP9Level = StdVideoVP9Level(9);
7062pub const STD_VIDEO_VP9_LEVEL_5_2: StdVideoVP9Level = StdVideoVP9Level(10);
7063pub const STD_VIDEO_VP9_LEVEL_6_0: StdVideoVP9Level = StdVideoVP9Level(11);
7064pub const STD_VIDEO_VP9_LEVEL_6_1: StdVideoVP9Level = StdVideoVP9Level(12);
7065pub const STD_VIDEO_VP9_LEVEL_6_2: StdVideoVP9Level = StdVideoVP9Level(13);
7066pub const STD_VIDEO_VP9_LEVEL_INVALID: StdVideoVP9Level = StdVideoVP9Level(2147483647);
7067pub const STD_VIDEO_VP9_LEVEL_MAX_ENUM: StdVideoVP9Level = StdVideoVP9Level(2147483647);
7068#[repr(transparent)]
7069#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
7070pub struct StdVideoVP9Level(pub ::core::ffi::c_int);
7071pub const STD_VIDEO_VP9_FRAME_TYPE_KEY: StdVideoVP9FrameType = StdVideoVP9FrameType(0);
7072pub const STD_VIDEO_VP9_FRAME_TYPE_NON_KEY: StdVideoVP9FrameType = StdVideoVP9FrameType(1);
7073pub const STD_VIDEO_VP9_FRAME_TYPE_INVALID: StdVideoVP9FrameType = StdVideoVP9FrameType(2147483647);
7074pub const STD_VIDEO_VP9_FRAME_TYPE_MAX_ENUM: StdVideoVP9FrameType =
7075    StdVideoVP9FrameType(2147483647);
7076#[repr(transparent)]
7077#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
7078pub struct StdVideoVP9FrameType(pub ::core::ffi::c_int);
7079pub const STD_VIDEO_VP9_REFERENCE_NAME_INTRA_FRAME: StdVideoVP9ReferenceName =
7080    StdVideoVP9ReferenceName(0);
7081pub const STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME: StdVideoVP9ReferenceName =
7082    StdVideoVP9ReferenceName(1);
7083pub const STD_VIDEO_VP9_REFERENCE_NAME_GOLDEN_FRAME: StdVideoVP9ReferenceName =
7084    StdVideoVP9ReferenceName(2);
7085pub const STD_VIDEO_VP9_REFERENCE_NAME_ALTREF_FRAME: StdVideoVP9ReferenceName =
7086    StdVideoVP9ReferenceName(3);
7087pub const STD_VIDEO_VP9_REFERENCE_NAME_INVALID: StdVideoVP9ReferenceName =
7088    StdVideoVP9ReferenceName(2147483647);
7089pub const STD_VIDEO_VP9_REFERENCE_NAME_MAX_ENUM: StdVideoVP9ReferenceName =
7090    StdVideoVP9ReferenceName(2147483647);
7091#[repr(transparent)]
7092#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
7093pub struct StdVideoVP9ReferenceName(pub ::core::ffi::c_int);
7094pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP: StdVideoVP9InterpolationFilter =
7095    StdVideoVP9InterpolationFilter(0);
7096pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH: StdVideoVP9InterpolationFilter =
7097    StdVideoVP9InterpolationFilter(1);
7098pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP: StdVideoVP9InterpolationFilter =
7099    StdVideoVP9InterpolationFilter(2);
7100pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_BILINEAR: StdVideoVP9InterpolationFilter =
7101    StdVideoVP9InterpolationFilter(3);
7102pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_SWITCHABLE: StdVideoVP9InterpolationFilter =
7103    StdVideoVP9InterpolationFilter(4);
7104pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_INVALID: StdVideoVP9InterpolationFilter =
7105    StdVideoVP9InterpolationFilter(2147483647);
7106pub const STD_VIDEO_VP9_INTERPOLATION_FILTER_MAX_ENUM: StdVideoVP9InterpolationFilter =
7107    StdVideoVP9InterpolationFilter(2147483647);
7108#[repr(transparent)]
7109#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
7110pub struct StdVideoVP9InterpolationFilter(pub ::core::ffi::c_int);
7111pub const STD_VIDEO_VP9_COLOR_SPACE_UNKNOWN: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(0);
7112pub const STD_VIDEO_VP9_COLOR_SPACE_BT_601: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(1);
7113pub const STD_VIDEO_VP9_COLOR_SPACE_BT_709: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(2);
7114pub const STD_VIDEO_VP9_COLOR_SPACE_SMPTE_170: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(3);
7115pub const STD_VIDEO_VP9_COLOR_SPACE_SMPTE_240: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(4);
7116pub const STD_VIDEO_VP9_COLOR_SPACE_BT_2020: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(5);
7117pub const STD_VIDEO_VP9_COLOR_SPACE_RESERVED: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(6);
7118pub const STD_VIDEO_VP9_COLOR_SPACE_RGB: StdVideoVP9ColorSpace = StdVideoVP9ColorSpace(7);
7119pub const STD_VIDEO_VP9_COLOR_SPACE_INVALID: StdVideoVP9ColorSpace =
7120    StdVideoVP9ColorSpace(2147483647);
7121pub const STD_VIDEO_VP9_COLOR_SPACE_MAX_ENUM: StdVideoVP9ColorSpace =
7122    StdVideoVP9ColorSpace(2147483647);
7123#[repr(transparent)]
7124#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Default)]
7125pub struct StdVideoVP9ColorSpace(pub ::core::ffi::c_int);
7126#[repr(C)]
7127#[repr(align(4))]
7128#[derive(Debug, Copy, Clone)]
7129pub struct StdVideoVP9ColorConfigFlags {
7130    pub _bitfield_align_1: [u32; 0],
7131    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
7132}
7133impl StdVideoVP9ColorConfigFlags {
7134    #[inline]
7135    pub fn color_range(&self) -> u32 {
7136        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7137    }
7138    #[inline]
7139    pub fn set_color_range(&mut self, val: u32) {
7140        unsafe {
7141            let val: u32 = ::core::mem::transmute(val);
7142            self._bitfield_1.set(0usize, 1u8, val as u64)
7143        }
7144    }
7145    #[inline]
7146    pub fn reserved(&self) -> u32 {
7147        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
7148    }
7149    #[inline]
7150    pub fn set_reserved(&mut self, val: u32) {
7151        unsafe {
7152            let val: u32 = ::core::mem::transmute(val);
7153            self._bitfield_1.set(1usize, 31u8, val as u64)
7154        }
7155    }
7156    #[inline]
7157    pub fn new_bitfield_1(color_range: u32, reserved: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
7158        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
7159        __bindgen_bitfield_unit.set(0usize, 1u8, {
7160            let color_range: u32 = unsafe { ::core::mem::transmute(color_range) };
7161            color_range as u64
7162        });
7163        __bindgen_bitfield_unit.set(1usize, 31u8, {
7164            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
7165            reserved as u64
7166        });
7167        __bindgen_bitfield_unit
7168    }
7169}
7170#[repr(C)]
7171#[derive(Debug, Copy, Clone)]
7172pub struct StdVideoVP9ColorConfig {
7173    pub flags: StdVideoVP9ColorConfigFlags,
7174    pub BitDepth: u8,
7175    pub subsampling_x: u8,
7176    pub subsampling_y: u8,
7177    pub reserved1: u8,
7178    pub color_space: StdVideoVP9ColorSpace,
7179}
7180#[repr(C)]
7181#[repr(align(4))]
7182#[derive(Debug, Copy, Clone)]
7183pub struct StdVideoVP9LoopFilterFlags {
7184    pub _bitfield_align_1: [u32; 0],
7185    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
7186}
7187impl StdVideoVP9LoopFilterFlags {
7188    #[inline]
7189    pub fn loop_filter_delta_enabled(&self) -> u32 {
7190        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7191    }
7192    #[inline]
7193    pub fn set_loop_filter_delta_enabled(&mut self, val: u32) {
7194        unsafe {
7195            let val: u32 = ::core::mem::transmute(val);
7196            self._bitfield_1.set(0usize, 1u8, val as u64)
7197        }
7198    }
7199    #[inline]
7200    pub fn loop_filter_delta_update(&self) -> u32 {
7201        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7202    }
7203    #[inline]
7204    pub fn set_loop_filter_delta_update(&mut self, val: u32) {
7205        unsafe {
7206            let val: u32 = ::core::mem::transmute(val);
7207            self._bitfield_1.set(1usize, 1u8, val as u64)
7208        }
7209    }
7210    #[inline]
7211    pub fn reserved(&self) -> u32 {
7212        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
7213    }
7214    #[inline]
7215    pub fn set_reserved(&mut self, val: u32) {
7216        unsafe {
7217            let val: u32 = ::core::mem::transmute(val);
7218            self._bitfield_1.set(2usize, 30u8, val as u64)
7219        }
7220    }
7221    #[inline]
7222    pub fn new_bitfield_1(
7223        loop_filter_delta_enabled: u32,
7224        loop_filter_delta_update: u32,
7225        reserved: u32,
7226    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
7227        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
7228        __bindgen_bitfield_unit.set(0usize, 1u8, {
7229            let loop_filter_delta_enabled: u32 =
7230                unsafe { ::core::mem::transmute(loop_filter_delta_enabled) };
7231            loop_filter_delta_enabled as u64
7232        });
7233        __bindgen_bitfield_unit.set(1usize, 1u8, {
7234            let loop_filter_delta_update: u32 =
7235                unsafe { ::core::mem::transmute(loop_filter_delta_update) };
7236            loop_filter_delta_update as u64
7237        });
7238        __bindgen_bitfield_unit.set(2usize, 30u8, {
7239            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
7240            reserved as u64
7241        });
7242        __bindgen_bitfield_unit
7243    }
7244}
7245#[repr(C)]
7246#[derive(Debug, Copy, Clone)]
7247pub struct StdVideoVP9LoopFilter {
7248    pub flags: StdVideoVP9LoopFilterFlags,
7249    pub loop_filter_level: u8,
7250    pub loop_filter_sharpness: u8,
7251    pub update_ref_delta: u8,
7252    pub loop_filter_ref_deltas: [i8; 4usize],
7253    pub update_mode_delta: u8,
7254    pub loop_filter_mode_deltas: [i8; 2usize],
7255}
7256#[repr(C)]
7257#[repr(align(4))]
7258#[derive(Debug, Copy, Clone)]
7259pub struct StdVideoVP9SegmentationFlags {
7260    pub _bitfield_align_1: [u32; 0],
7261    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
7262}
7263impl StdVideoVP9SegmentationFlags {
7264    #[inline]
7265    pub fn segmentation_update_map(&self) -> u32 {
7266        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7267    }
7268    #[inline]
7269    pub fn set_segmentation_update_map(&mut self, val: u32) {
7270        unsafe {
7271            let val: u32 = ::core::mem::transmute(val);
7272            self._bitfield_1.set(0usize, 1u8, val as u64)
7273        }
7274    }
7275    #[inline]
7276    pub fn segmentation_temporal_update(&self) -> u32 {
7277        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7278    }
7279    #[inline]
7280    pub fn set_segmentation_temporal_update(&mut self, val: u32) {
7281        unsafe {
7282            let val: u32 = ::core::mem::transmute(val);
7283            self._bitfield_1.set(1usize, 1u8, val as u64)
7284        }
7285    }
7286    #[inline]
7287    pub fn segmentation_update_data(&self) -> u32 {
7288        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
7289    }
7290    #[inline]
7291    pub fn set_segmentation_update_data(&mut self, val: u32) {
7292        unsafe {
7293            let val: u32 = ::core::mem::transmute(val);
7294            self._bitfield_1.set(2usize, 1u8, val as u64)
7295        }
7296    }
7297    #[inline]
7298    pub fn segmentation_abs_or_delta_update(&self) -> u32 {
7299        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
7300    }
7301    #[inline]
7302    pub fn set_segmentation_abs_or_delta_update(&mut self, val: u32) {
7303        unsafe {
7304            let val: u32 = ::core::mem::transmute(val);
7305            self._bitfield_1.set(3usize, 1u8, val as u64)
7306        }
7307    }
7308    #[inline]
7309    pub fn reserved(&self) -> u32 {
7310        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
7311    }
7312    #[inline]
7313    pub fn set_reserved(&mut self, val: u32) {
7314        unsafe {
7315            let val: u32 = ::core::mem::transmute(val);
7316            self._bitfield_1.set(4usize, 28u8, val as u64)
7317        }
7318    }
7319    #[inline]
7320    pub fn new_bitfield_1(
7321        segmentation_update_map: u32,
7322        segmentation_temporal_update: u32,
7323        segmentation_update_data: u32,
7324        segmentation_abs_or_delta_update: u32,
7325        reserved: u32,
7326    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
7327        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
7328        __bindgen_bitfield_unit.set(0usize, 1u8, {
7329            let segmentation_update_map: u32 =
7330                unsafe { ::core::mem::transmute(segmentation_update_map) };
7331            segmentation_update_map as u64
7332        });
7333        __bindgen_bitfield_unit.set(1usize, 1u8, {
7334            let segmentation_temporal_update: u32 =
7335                unsafe { ::core::mem::transmute(segmentation_temporal_update) };
7336            segmentation_temporal_update as u64
7337        });
7338        __bindgen_bitfield_unit.set(2usize, 1u8, {
7339            let segmentation_update_data: u32 =
7340                unsafe { ::core::mem::transmute(segmentation_update_data) };
7341            segmentation_update_data as u64
7342        });
7343        __bindgen_bitfield_unit.set(3usize, 1u8, {
7344            let segmentation_abs_or_delta_update: u32 =
7345                unsafe { ::core::mem::transmute(segmentation_abs_or_delta_update) };
7346            segmentation_abs_or_delta_update as u64
7347        });
7348        __bindgen_bitfield_unit.set(4usize, 28u8, {
7349            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
7350            reserved as u64
7351        });
7352        __bindgen_bitfield_unit
7353    }
7354}
7355#[repr(C)]
7356#[derive(Debug, Copy, Clone)]
7357pub struct StdVideoVP9Segmentation {
7358    pub flags: StdVideoVP9SegmentationFlags,
7359    pub segmentation_tree_probs: [u8; 7usize],
7360    pub segmentation_pred_prob: [u8; 3usize],
7361    pub FeatureEnabled: [u8; 8usize],
7362    pub FeatureData: [[i16; 4usize]; 8usize],
7363}
7364#[repr(C)]
7365#[repr(align(4))]
7366#[derive(Debug, Copy, Clone)]
7367pub struct StdVideoDecodeVP9PictureInfoFlags {
7368    pub _bitfield_align_1: [u32; 0],
7369    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
7370}
7371impl StdVideoDecodeVP9PictureInfoFlags {
7372    #[inline]
7373    pub fn error_resilient_mode(&self) -> u32 {
7374        unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7375    }
7376    #[inline]
7377    pub fn set_error_resilient_mode(&mut self, val: u32) {
7378        unsafe {
7379            let val: u32 = ::core::mem::transmute(val);
7380            self._bitfield_1.set(0usize, 1u8, val as u64)
7381        }
7382    }
7383    #[inline]
7384    pub fn intra_only(&self) -> u32 {
7385        unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7386    }
7387    #[inline]
7388    pub fn set_intra_only(&mut self, val: u32) {
7389        unsafe {
7390            let val: u32 = ::core::mem::transmute(val);
7391            self._bitfield_1.set(1usize, 1u8, val as u64)
7392        }
7393    }
7394    #[inline]
7395    pub fn allow_high_precision_mv(&self) -> u32 {
7396        unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
7397    }
7398    #[inline]
7399    pub fn set_allow_high_precision_mv(&mut self, val: u32) {
7400        unsafe {
7401            let val: u32 = ::core::mem::transmute(val);
7402            self._bitfield_1.set(2usize, 1u8, val as u64)
7403        }
7404    }
7405    #[inline]
7406    pub fn refresh_frame_context(&self) -> u32 {
7407        unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
7408    }
7409    #[inline]
7410    pub fn set_refresh_frame_context(&mut self, val: u32) {
7411        unsafe {
7412            let val: u32 = ::core::mem::transmute(val);
7413            self._bitfield_1.set(3usize, 1u8, val as u64)
7414        }
7415    }
7416    #[inline]
7417    pub fn frame_parallel_decoding_mode(&self) -> u32 {
7418        unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
7419    }
7420    #[inline]
7421    pub fn set_frame_parallel_decoding_mode(&mut self, val: u32) {
7422        unsafe {
7423            let val: u32 = ::core::mem::transmute(val);
7424            self._bitfield_1.set(4usize, 1u8, val as u64)
7425        }
7426    }
7427    #[inline]
7428    pub fn segmentation_enabled(&self) -> u32 {
7429        unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
7430    }
7431    #[inline]
7432    pub fn set_segmentation_enabled(&mut self, val: u32) {
7433        unsafe {
7434            let val: u32 = ::core::mem::transmute(val);
7435            self._bitfield_1.set(5usize, 1u8, val as u64)
7436        }
7437    }
7438    #[inline]
7439    pub fn show_frame(&self) -> u32 {
7440        unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
7441    }
7442    #[inline]
7443    pub fn set_show_frame(&mut self, val: u32) {
7444        unsafe {
7445            let val: u32 = ::core::mem::transmute(val);
7446            self._bitfield_1.set(6usize, 1u8, val as u64)
7447        }
7448    }
7449    #[inline]
7450    pub fn UsePrevFrameMvs(&self) -> u32 {
7451        unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
7452    }
7453    #[inline]
7454    pub fn set_UsePrevFrameMvs(&mut self, val: u32) {
7455        unsafe {
7456            let val: u32 = ::core::mem::transmute(val);
7457            self._bitfield_1.set(7usize, 1u8, val as u64)
7458        }
7459    }
7460    #[inline]
7461    pub fn reserved(&self) -> u32 {
7462        unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) }
7463    }
7464    #[inline]
7465    pub fn set_reserved(&mut self, val: u32) {
7466        unsafe {
7467            let val: u32 = ::core::mem::transmute(val);
7468            self._bitfield_1.set(8usize, 24u8, val as u64)
7469        }
7470    }
7471    #[inline]
7472    pub fn new_bitfield_1(
7473        error_resilient_mode: u32,
7474        intra_only: u32,
7475        allow_high_precision_mv: u32,
7476        refresh_frame_context: u32,
7477        frame_parallel_decoding_mode: u32,
7478        segmentation_enabled: u32,
7479        show_frame: u32,
7480        UsePrevFrameMvs: u32,
7481        reserved: u32,
7482    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
7483        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
7484        __bindgen_bitfield_unit.set(0usize, 1u8, {
7485            let error_resilient_mode: u32 = unsafe { ::core::mem::transmute(error_resilient_mode) };
7486            error_resilient_mode as u64
7487        });
7488        __bindgen_bitfield_unit.set(1usize, 1u8, {
7489            let intra_only: u32 = unsafe { ::core::mem::transmute(intra_only) };
7490            intra_only as u64
7491        });
7492        __bindgen_bitfield_unit.set(2usize, 1u8, {
7493            let allow_high_precision_mv: u32 =
7494                unsafe { ::core::mem::transmute(allow_high_precision_mv) };
7495            allow_high_precision_mv as u64
7496        });
7497        __bindgen_bitfield_unit.set(3usize, 1u8, {
7498            let refresh_frame_context: u32 =
7499                unsafe { ::core::mem::transmute(refresh_frame_context) };
7500            refresh_frame_context as u64
7501        });
7502        __bindgen_bitfield_unit.set(4usize, 1u8, {
7503            let frame_parallel_decoding_mode: u32 =
7504                unsafe { ::core::mem::transmute(frame_parallel_decoding_mode) };
7505            frame_parallel_decoding_mode as u64
7506        });
7507        __bindgen_bitfield_unit.set(5usize, 1u8, {
7508            let segmentation_enabled: u32 = unsafe { ::core::mem::transmute(segmentation_enabled) };
7509            segmentation_enabled as u64
7510        });
7511        __bindgen_bitfield_unit.set(6usize, 1u8, {
7512            let show_frame: u32 = unsafe { ::core::mem::transmute(show_frame) };
7513            show_frame as u64
7514        });
7515        __bindgen_bitfield_unit.set(7usize, 1u8, {
7516            let UsePrevFrameMvs: u32 = unsafe { ::core::mem::transmute(UsePrevFrameMvs) };
7517            UsePrevFrameMvs as u64
7518        });
7519        __bindgen_bitfield_unit.set(8usize, 24u8, {
7520            let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
7521            reserved as u64
7522        });
7523        __bindgen_bitfield_unit
7524    }
7525}
7526#[repr(C)]
7527#[derive(Debug, Copy, Clone)]
7528pub struct StdVideoDecodeVP9PictureInfo {
7529    pub flags: StdVideoDecodeVP9PictureInfoFlags,
7530    pub profile: StdVideoVP9Profile,
7531    pub frame_type: StdVideoVP9FrameType,
7532    pub frame_context_idx: u8,
7533    pub reset_frame_context: u8,
7534    pub refresh_frame_flags: u8,
7535    pub ref_frame_sign_bias_mask: u8,
7536    pub interpolation_filter: StdVideoVP9InterpolationFilter,
7537    pub base_q_idx: u8,
7538    pub delta_q_y_dc: i8,
7539    pub delta_q_uv_dc: i8,
7540    pub delta_q_uv_ac: i8,
7541    pub tile_cols_log2: u8,
7542    pub tile_rows_log2: u8,
7543    pub reserved1: [u16; 3usize],
7544    pub pColorConfig: *const StdVideoVP9ColorConfig,
7545    pub pLoopFilter: *const StdVideoVP9LoopFilter,
7546    pub pSegmentation: *const StdVideoVP9Segmentation,
7547}