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