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