1pub use super::super::version::*;
2pub use super::super::guid::*;
3pub type GUID = _GUID;
6pub type NVENC_RECT = _NVENC_RECT;
7pub type NV_ENC_INPUT_PTR = *mut ::core::ffi::c_void;
8pub type NV_ENC_OUTPUT_PTR = *mut ::core::ffi::c_void;
9pub type NV_ENC_REGISTERED_PTR = *mut ::core::ffi::c_void;
10pub type NV_ENC_CUSTREAM_PTR = *mut ::core::ffi::c_void;
11pub type NV_ENC_CAPS_PARAM = _NV_ENC_CAPS_PARAM;
12pub type NV_ENC_RESTORE_ENCODER_STATE_PARAMS = _NV_ENC_RESTORE_ENCODER_STATE_PARAMS;
13pub type NV_ENC_OUTPUT_STATS_BLOCK = _NV_ENC_OUTPUT_STATS_BLOCK;
14pub type NV_ENC_OUTPUT_STATS_ROW = _NV_ENC_OUTPUT_STATS_ROW;
15pub type NV_ENC_ENCODE_OUT_PARAMS = _NV_ENC_ENCODE_OUT_PARAMS;
16pub type NV_ENC_LOOKAHEAD_PIC_PARAMS = _NV_ENC_LOOKAHEAD_PIC_PARAMS;
17pub type NV_ENC_CREATE_INPUT_BUFFER = _NV_ENC_CREATE_INPUT_BUFFER;
18pub type NV_ENC_CREATE_BITSTREAM_BUFFER = _NV_ENC_CREATE_BITSTREAM_BUFFER;
19pub type NV_ENC_MVECTOR = _NV_ENC_MVECTOR;
20pub type NV_ENC_H264_MV_DATA = _NV_ENC_H264_MV_DATA;
21pub type NV_ENC_HEVC_MV_DATA = _NV_ENC_HEVC_MV_DATA;
22pub type NV_ENC_CREATE_MV_BUFFER = _NV_ENC_CREATE_MV_BUFFER;
23pub type NV_ENC_QP = _NV_ENC_QP;
24pub type NV_ENC_RC_PARAMS = _NV_ENC_RC_PARAMS;
25pub type NV_ENC_CLOCK_TIMESTAMP_SET = _NV_ENC_CLOCK_TIMESTAMP_SET;
26pub type NV_ENC_TIME_CODE = _NV_ENC_TIME_CODE;
27pub type NV_ENC_CONFIG_H264_VUI_PARAMETERS = _NV_ENC_CONFIG_H264_VUI_PARAMETERS;
28pub type NV_ENC_CONFIG_HEVC_VUI_PARAMETERS = NV_ENC_CONFIG_H264_VUI_PARAMETERS;
29pub type NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE = _NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE;
30pub type NVENC_EXTERNAL_ME_HINT = _NVENC_EXTERNAL_ME_HINT;
31pub type NVENC_EXTERNAL_ME_SB_HINT = _NVENC_EXTERNAL_ME_SB_HINT;
32pub type NV_ENC_CONFIG_H264 = _NV_ENC_CONFIG_H264;
33pub type NV_ENC_CONFIG_HEVC = _NV_ENC_CONFIG_HEVC;
34pub type NV_ENC_FILM_GRAIN_PARAMS_AV1 = _NV_ENC_FILM_GRAIN_PARAMS_AV1;
35pub type NV_ENC_CONFIG_AV1 = _NV_ENC_CONFIG_AV1;
36pub type NV_ENC_CONFIG_H264_MEONLY = _NV_ENC_CONFIG_H264_MEONLY;
37pub type NV_ENC_CONFIG_HEVC_MEONLY = _NV_ENC_CONFIG_HEVC_MEONLY;
38pub type NV_ENC_CODEC_CONFIG = _NV_ENC_CODEC_CONFIG;
39pub type NV_ENC_CONFIG = _NV_ENC_CONFIG;
40pub type NV_ENC_INITIALIZE_PARAMS = _NV_ENC_INITIALIZE_PARAMS;
41pub type NV_ENC_RECONFIGURE_PARAMS = _NV_ENC_RECONFIGURE_PARAMS;
42pub type NV_ENC_PRESET_CONFIG = _NV_ENC_PRESET_CONFIG;
43pub type NV_ENC_PIC_PARAMS_MVC = _NV_ENC_PIC_PARAMS_MVC;
44pub type NV_ENC_PIC_PARAMS_H264_EXT = _NV_ENC_PIC_PARAMS_H264_EXT;
45pub type NV_ENC_SEI_PAYLOAD = _NV_ENC_SEI_PAYLOAD;
46pub type NV_ENC_PIC_PARAMS_H264 = _NV_ENC_PIC_PARAMS_H264;
47pub type NV_ENC_PIC_PARAMS_HEVC = _NV_ENC_PIC_PARAMS_HEVC;
48pub type NV_ENC_PIC_PARAMS_AV1 = _NV_ENC_PIC_PARAMS_AV1;
49pub type NV_ENC_CODEC_PIC_PARAMS = _NV_ENC_CODEC_PIC_PARAMS;
50pub type NV_ENC_PIC_PARAMS = _NV_ENC_PIC_PARAMS;
51pub type NV_ENC_MEONLY_PARAMS = _NV_ENC_MEONLY_PARAMS;
52pub type NV_ENC_LOCK_BITSTREAM = _NV_ENC_LOCK_BITSTREAM;
53pub type NV_ENC_LOCK_INPUT_BUFFER = _NV_ENC_LOCK_INPUT_BUFFER;
54pub type NV_ENC_MAP_INPUT_RESOURCE = _NV_ENC_MAP_INPUT_RESOURCE;
55pub type NV_ENC_INPUT_RESOURCE_OPENGL_TEX = _NV_ENC_INPUT_RESOURCE_OPENGL_TEX;
56pub type NV_ENC_FENCE_POINT_D3D12 = _NV_ENC_FENCE_POINT_D3D12;
57pub type NV_ENC_INPUT_RESOURCE_D3D12 = _NV_ENC_INPUT_RESOURCE_D3D12;
58pub type NV_ENC_OUTPUT_RESOURCE_D3D12 = _NV_ENC_OUTPUT_RESOURCE_D3D12;
59pub type NV_ENC_REGISTER_RESOURCE = _NV_ENC_REGISTER_RESOURCE;
60pub type NV_ENC_STAT = _NV_ENC_STAT;
61pub type NV_ENC_SEQUENCE_PARAM_PAYLOAD = _NV_ENC_SEQUENCE_PARAM_PAYLOAD;
62pub type NV_ENC_EVENT_PARAMS = _NV_ENC_EVENT_PARAMS;
63pub type NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS = _NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS;
64pub type PNVENCOPENENCODESESSION = ::core::option::Option<
65 unsafe extern "C" fn(
66 device: *mut ::core::ffi::c_void,
67 deviceType: u32,
68 encoder: *mut *mut ::core::ffi::c_void,
69 ) -> NVENCSTATUS,
70>;
71pub type PNVENCGETENCODEGUIDCOUNT = ::core::option::Option<
72 unsafe extern "C" fn(
73 encoder: *mut ::core::ffi::c_void,
74 encodeGUIDCount: *mut u32,
75 ) -> NVENCSTATUS,
76>;
77pub type PNVENCGETENCODEGUIDS = ::core::option::Option<
78 unsafe extern "C" fn(
79 encoder: *mut ::core::ffi::c_void,
80 GUIDs: *mut GUID,
81 guidArraySize: u32,
82 GUIDCount: *mut u32,
83 ) -> NVENCSTATUS,
84>;
85pub type PNVENCGETINPUTFORMATCOUNT = ::core::option::Option<
86 unsafe extern "C" fn(
87 encoder: *mut ::core::ffi::c_void,
88 encodeGUID: GUID,
89 inputFmtCount: *mut u32,
90 ) -> NVENCSTATUS,
91>;
92pub type PNVENCGETINPUTFORMATS = ::core::option::Option<
93 unsafe extern "C" fn(
94 encoder: *mut ::core::ffi::c_void,
95 encodeGUID: GUID,
96 inputFmts: *mut NV_ENC_BUFFER_FORMAT,
97 inputFmtArraySize: u32,
98 inputFmtCount: *mut u32,
99 ) -> NVENCSTATUS,
100>;
101pub type PNVENCGETENCODECAPS = ::core::option::Option<
102 unsafe extern "C" fn(
103 encoder: *mut ::core::ffi::c_void,
104 encodeGUID: GUID,
105 capsParam: *mut NV_ENC_CAPS_PARAM,
106 capsVal: *mut ::core::ffi::c_int,
107 ) -> NVENCSTATUS,
108>;
109pub type PNVENCGETENCODEPRESETCOUNT = ::core::option::Option<
110 unsafe extern "C" fn(
111 encoder: *mut ::core::ffi::c_void,
112 encodeGUID: GUID,
113 encodePresetGUIDCount: *mut u32,
114 ) -> NVENCSTATUS,
115>;
116pub type PNVENCGETENCODEPRESETGUIDS = ::core::option::Option<
117 unsafe extern "C" fn(
118 encoder: *mut ::core::ffi::c_void,
119 encodeGUID: GUID,
120 presetGUIDs: *mut GUID,
121 guidArraySize: u32,
122 encodePresetGUIDCount: *mut u32,
123 ) -> NVENCSTATUS,
124>;
125pub type PNVENCGETENCODEPRESETCONFIG = ::core::option::Option<
126 unsafe extern "C" fn(
127 encoder: *mut ::core::ffi::c_void,
128 encodeGUID: GUID,
129 presetGUID: GUID,
130 presetConfig: *mut NV_ENC_PRESET_CONFIG,
131 ) -> NVENCSTATUS,
132>;
133pub type PNVENCGETENCODEPRESETCONFIGEX = ::core::option::Option<
134 unsafe extern "C" fn(
135 encoder: *mut ::core::ffi::c_void,
136 encodeGUID: GUID,
137 presetGUID: GUID,
138 tuningInfo: NV_ENC_TUNING_INFO,
139 presetConfig: *mut NV_ENC_PRESET_CONFIG,
140 ) -> NVENCSTATUS,
141>;
142pub type PNVENCINITIALIZEENCODER = ::core::option::Option<
143 unsafe extern "C" fn(
144 encoder: *mut ::core::ffi::c_void,
145 createEncodeParams: *mut NV_ENC_INITIALIZE_PARAMS,
146 ) -> NVENCSTATUS,
147>;
148pub type PNVENCCREATEINPUTBUFFER = ::core::option::Option<
149 unsafe extern "C" fn(
150 encoder: *mut ::core::ffi::c_void,
151 createInputBufferParams: *mut NV_ENC_CREATE_INPUT_BUFFER,
152 ) -> NVENCSTATUS,
153>;
154pub type PNVENCDESTROYINPUTBUFFER = ::core::option::Option<
155 unsafe extern "C" fn(
156 encoder: *mut ::core::ffi::c_void,
157 inputBuffer: NV_ENC_INPUT_PTR,
158 ) -> NVENCSTATUS,
159>;
160pub type PNVENCCREATEBITSTREAMBUFFER = ::core::option::Option<
161 unsafe extern "C" fn(
162 encoder: *mut ::core::ffi::c_void,
163 createBitstreamBufferParams: *mut NV_ENC_CREATE_BITSTREAM_BUFFER,
164 ) -> NVENCSTATUS,
165>;
166pub type PNVENCDESTROYBITSTREAMBUFFER = ::core::option::Option<
167 unsafe extern "C" fn(
168 encoder: *mut ::core::ffi::c_void,
169 bitstreamBuffer: NV_ENC_OUTPUT_PTR,
170 ) -> NVENCSTATUS,
171>;
172pub type PNVENCENCODEPICTURE = ::core::option::Option<
173 unsafe extern "C" fn(
174 encoder: *mut ::core::ffi::c_void,
175 encodePicParams: *mut NV_ENC_PIC_PARAMS,
176 ) -> NVENCSTATUS,
177>;
178pub type PNVENCLOCKBITSTREAM = ::core::option::Option<
179 unsafe extern "C" fn(
180 encoder: *mut ::core::ffi::c_void,
181 lockBitstreamBufferParams: *mut NV_ENC_LOCK_BITSTREAM,
182 ) -> NVENCSTATUS,
183>;
184pub type PNVENCUNLOCKBITSTREAM = ::core::option::Option<
185 unsafe extern "C" fn(
186 encoder: *mut ::core::ffi::c_void,
187 bitstreamBuffer: NV_ENC_OUTPUT_PTR,
188 ) -> NVENCSTATUS,
189>;
190pub type PNVENCLOCKINPUTBUFFER = ::core::option::Option<
191 unsafe extern "C" fn(
192 encoder: *mut ::core::ffi::c_void,
193 lockInputBufferParams: *mut NV_ENC_LOCK_INPUT_BUFFER,
194 ) -> NVENCSTATUS,
195>;
196pub type PNVENCUNLOCKINPUTBUFFER = ::core::option::Option<
197 unsafe extern "C" fn(
198 encoder: *mut ::core::ffi::c_void,
199 inputBuffer: NV_ENC_INPUT_PTR,
200 ) -> NVENCSTATUS,
201>;
202pub type PNVENCGETENCODESTATS = ::core::option::Option<
203 unsafe extern "C" fn(
204 encoder: *mut ::core::ffi::c_void,
205 encodeStats: *mut NV_ENC_STAT,
206 ) -> NVENCSTATUS,
207>;
208pub type PNVENCGETSEQUENCEPARAMS = ::core::option::Option<
209 unsafe extern "C" fn(
210 encoder: *mut ::core::ffi::c_void,
211 sequenceParamPayload: *mut NV_ENC_SEQUENCE_PARAM_PAYLOAD,
212 ) -> NVENCSTATUS,
213>;
214pub type PNVENCREGISTERASYNCEVENT = ::core::option::Option<
215 unsafe extern "C" fn(
216 encoder: *mut ::core::ffi::c_void,
217 eventParams: *mut NV_ENC_EVENT_PARAMS,
218 ) -> NVENCSTATUS,
219>;
220pub type PNVENCUNREGISTERASYNCEVENT = ::core::option::Option<
221 unsafe extern "C" fn(
222 encoder: *mut ::core::ffi::c_void,
223 eventParams: *mut NV_ENC_EVENT_PARAMS,
224 ) -> NVENCSTATUS,
225>;
226pub type PNVENCMAPINPUTRESOURCE = ::core::option::Option<
227 unsafe extern "C" fn(
228 encoder: *mut ::core::ffi::c_void,
229 mapInputResParams: *mut NV_ENC_MAP_INPUT_RESOURCE,
230 ) -> NVENCSTATUS,
231>;
232pub type PNVENCUNMAPINPUTRESOURCE = ::core::option::Option<
233 unsafe extern "C" fn(
234 encoder: *mut ::core::ffi::c_void,
235 mappedInputBuffer: NV_ENC_INPUT_PTR,
236 ) -> NVENCSTATUS,
237>;
238pub type PNVENCDESTROYENCODER =
239 ::core::option::Option<unsafe extern "C" fn(encoder: *mut ::core::ffi::c_void) -> NVENCSTATUS>;
240pub type PNVENCINVALIDATEREFFRAMES = ::core::option::Option<
241 unsafe extern "C" fn(
242 encoder: *mut ::core::ffi::c_void,
243 invalidRefFrameTimeStamp: u64,
244 ) -> NVENCSTATUS,
245>;
246pub type PNVENCOPENENCODESESSIONEX = ::core::option::Option<
247 unsafe extern "C" fn(
248 openSessionExParams: *mut NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS,
249 encoder: *mut *mut ::core::ffi::c_void,
250 ) -> NVENCSTATUS,
251>;
252pub type PNVENCREGISTERRESOURCE = ::core::option::Option<
253 unsafe extern "C" fn(
254 encoder: *mut ::core::ffi::c_void,
255 registerResParams: *mut NV_ENC_REGISTER_RESOURCE,
256 ) -> NVENCSTATUS,
257>;
258pub type PNVENCUNREGISTERRESOURCE = ::core::option::Option<
259 unsafe extern "C" fn(
260 encoder: *mut ::core::ffi::c_void,
261 registeredRes: NV_ENC_REGISTERED_PTR,
262 ) -> NVENCSTATUS,
263>;
264pub type PNVENCRECONFIGUREENCODER = ::core::option::Option<
265 unsafe extern "C" fn(
266 encoder: *mut ::core::ffi::c_void,
267 reInitEncodeParams: *mut NV_ENC_RECONFIGURE_PARAMS,
268 ) -> NVENCSTATUS,
269>;
270pub type PNVENCCREATEMVBUFFER = ::core::option::Option<
271 unsafe extern "C" fn(
272 encoder: *mut ::core::ffi::c_void,
273 createMVBufferParams: *mut NV_ENC_CREATE_MV_BUFFER,
274 ) -> NVENCSTATUS,
275>;
276pub type PNVENCDESTROYMVBUFFER = ::core::option::Option<
277 unsafe extern "C" fn(
278 encoder: *mut ::core::ffi::c_void,
279 mvBuffer: NV_ENC_OUTPUT_PTR,
280 ) -> NVENCSTATUS,
281>;
282pub type PNVENCRUNMOTIONESTIMATIONONLY = ::core::option::Option<
283 unsafe extern "C" fn(
284 encoder: *mut ::core::ffi::c_void,
285 meOnlyParams: *mut NV_ENC_MEONLY_PARAMS,
286 ) -> NVENCSTATUS,
287>;
288pub type PNVENCGETLASTERROR = ::core::option::Option<
289 unsafe extern "C" fn(encoder: *mut ::core::ffi::c_void) -> *const ::core::ffi::c_char,
290>;
291pub type PNVENCSETIOCUDASTREAMS = ::core::option::Option<
292 unsafe extern "C" fn(
293 encoder: *mut ::core::ffi::c_void,
294 inputStream: NV_ENC_CUSTREAM_PTR,
295 outputStream: NV_ENC_CUSTREAM_PTR,
296 ) -> NVENCSTATUS,
297>;
298pub type PNVENCGETSEQUENCEPARAMEX = ::core::option::Option<
299 unsafe extern "C" fn(
300 encoder: *mut ::core::ffi::c_void,
301 encInitParams: *mut NV_ENC_INITIALIZE_PARAMS,
302 sequenceParamPayload: *mut NV_ENC_SEQUENCE_PARAM_PAYLOAD,
303 ) -> NVENCSTATUS,
304>;
305pub type PNVENCRESTOREENCODERSTATE = ::core::option::Option<
306 unsafe extern "C" fn(
307 encoder: *mut ::core::ffi::c_void,
308 restoreState: *mut NV_ENC_RESTORE_ENCODER_STATE_PARAMS,
309 ) -> NVENCSTATUS,
310>;
311pub type PNVENCLOOKAHEADPICTURE = ::core::option::Option<
312 unsafe extern "C" fn(
313 encoder: *mut ::core::ffi::c_void,
314 lookaheadParams: *mut NV_ENC_LOOKAHEAD_PIC_PARAMS,
315 ) -> NVENCSTATUS,
316>;
317pub type NV_ENCODE_API_FUNCTION_LIST = _NV_ENCODE_API_FUNCTION_LIST;
318#[repr(C)]
319#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
320pub struct __BindgenBitfieldUnit<Storage> {
321 storage: Storage,
322}
323#[repr(C)]
324#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
325pub struct _GUID {
326 pub Data1: u32,
327 pub Data2: u16,
328 pub Data3: u16,
329 pub Data4: [u8; 8usize],
330}
331#[repr(C)]
332#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
333pub struct _NVENC_RECT {
334 pub left: u32,
335 pub top: u32,
336 pub right: u32,
337 pub bottom: u32,
338}
339#[repr(C)]
340#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
341pub struct _NV_ENC_CAPS_PARAM {
342 pub version: u32,
343 pub capsToQuery: NV_ENC_CAPS,
344 pub reserved: [u32; 62usize],
345}
346#[repr(C)]
347#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
348pub struct _NV_ENC_RESTORE_ENCODER_STATE_PARAMS {
349 pub version: u32,
350 pub bufferIdx: u32,
351 pub state: NV_ENC_STATE_RESTORE_TYPE,
352 pub outputBitstream: NV_ENC_OUTPUT_PTR,
353 pub completionEvent: *mut ::core::ffi::c_void,
354 pub reserved1: [u32; 64usize],
355 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
356}
357#[repr(C)]
358#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
359pub struct _NV_ENC_OUTPUT_STATS_BLOCK {
360 pub version: u32,
361 pub QP: u8,
362 pub reserved: [u8; 3usize],
363 pub bitcount: u32,
364 pub reserved1: [u32; 13usize],
365}
366#[repr(C)]
367#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
368pub struct _NV_ENC_OUTPUT_STATS_ROW {
369 pub version: u32,
370 pub QP: u8,
371 pub reserved: [u8; 3usize],
372 pub bitcount: u32,
373 pub reserved1: [u32; 13usize],
374}
375#[repr(C)]
376#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
377pub struct _NV_ENC_ENCODE_OUT_PARAMS {
378 pub version: u32,
379 pub bitstreamSizeInBytes: u32,
380 pub reserved: [u32; 62usize],
381}
382#[repr(C)]
383#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
384pub struct _NV_ENC_LOOKAHEAD_PIC_PARAMS {
385 pub version: u32,
386 pub inputBuffer: NV_ENC_INPUT_PTR,
387 pub pictureType: NV_ENC_PIC_TYPE,
388 pub reserved: [u32; 64usize],
389 pub reserved1: [*mut ::core::ffi::c_void; 64usize],
390}
391#[repr(C)]
392#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
393pub struct _NV_ENC_CREATE_INPUT_BUFFER {
394 pub version: u32,
395 pub width: u32,
396 pub height: u32,
397 pub memoryHeap: NV_ENC_MEMORY_HEAP,
398 pub bufferFmt: NV_ENC_BUFFER_FORMAT,
399 pub reserved: u32,
400 pub inputBuffer: NV_ENC_INPUT_PTR,
401 pub pSysMemBuffer: *mut ::core::ffi::c_void,
402 pub reserved1: [u32; 57usize],
403 pub reserved2: [*mut ::core::ffi::c_void; 63usize],
404}
405#[repr(C)]
406#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
407pub struct _NV_ENC_CREATE_BITSTREAM_BUFFER {
408 pub version: u32,
409 pub size: u32,
410 pub memoryHeap: NV_ENC_MEMORY_HEAP,
411 pub reserved: u32,
412 pub bitstreamBuffer: NV_ENC_OUTPUT_PTR,
413 pub bitstreamBufferPtr: *mut ::core::ffi::c_void,
414 pub reserved1: [u32; 58usize],
415 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
416}
417#[repr(C)]
418#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
419pub struct _NV_ENC_MVECTOR {
420 pub mvx: i16,
421 pub mvy: i16,
422}
423#[repr(C)]
424#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
425pub struct _NV_ENC_H264_MV_DATA {
426 pub mv: [NV_ENC_MVECTOR; 4usize],
427 pub mbType: u8,
428 pub partitionType: u8,
429 pub reserved: u16,
430 pub mbCost: u32,
431}
432#[repr(C)]
433#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
434pub struct _NV_ENC_HEVC_MV_DATA {
435 pub mv: [NV_ENC_MVECTOR; 4usize],
436 pub cuType: u8,
437 pub cuSize: u8,
438 pub partitionMode: u8,
439 pub lastCUInCTB: u8,
440}
441#[repr(C)]
442#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
443pub struct _NV_ENC_CREATE_MV_BUFFER {
444 pub version: u32,
445 pub mvBuffer: NV_ENC_OUTPUT_PTR,
446 pub reserved1: [u32; 255usize],
447 pub reserved2: [*mut ::core::ffi::c_void; 63usize],
448}
449#[repr(C)]
450#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
451pub struct _NV_ENC_QP {
452 pub qpInterP: u32,
453 pub qpInterB: u32,
454 pub qpIntra: u32,
455}
456#[repr(C)]
457#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
458pub struct _NV_ENC_RC_PARAMS {
459 pub version: u32,
460 pub rateControlMode: NV_ENC_PARAMS_RC_MODE,
461 pub constQP: NV_ENC_QP,
462 pub averageBitRate: u32,
463 pub maxBitRate: u32,
464 pub vbvBufferSize: u32,
465 pub vbvInitialDelay: u32,
466 pub _bitfield_align_1: [u16; 0],
467 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
468 pub minQP: NV_ENC_QP,
469 pub maxQP: NV_ENC_QP,
470 pub initialRCQP: NV_ENC_QP,
471 pub temporallayerIdxMask: u32,
472 pub temporalLayerQP: [u8; 8usize],
473 pub targetQuality: u8,
474 pub targetQualityLSB: u8,
475 pub lookaheadDepth: u16,
476 pub lowDelayKeyFrameScale: u8,
477 pub yDcQPIndexOffset: i8,
478 pub uDcQPIndexOffset: i8,
479 pub vDcQPIndexOffset: i8,
480 pub qpMapMode: NV_ENC_QP_MAP_MODE,
481 pub multiPass: NV_ENC_MULTI_PASS,
482 pub alphaLayerBitrateRatio: u32,
483 pub cbQPIndexOffset: i8,
484 pub crQPIndexOffset: i8,
485 pub reserved2: u16,
486 pub reserved: [u32; 4usize],
487}
488#[repr(C)]
489#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
490pub struct _NV_ENC_CLOCK_TIMESTAMP_SET {
491 pub _bitfield_align_1: [u8; 0],
492 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
493 pub timeOffset: u32,
494}
495#[repr(C)]
496#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
497pub struct _NV_ENC_TIME_CODE {
498 pub displayPicStruct: NV_ENC_DISPLAY_PIC_STRUCT,
499 pub clockTimestamp: [NV_ENC_CLOCK_TIMESTAMP_SET; 3usize],
500}
501#[repr(C)]
502#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
503pub struct _NV_ENC_CONFIG_H264_VUI_PARAMETERS {
504 pub overscanInfoPresentFlag: u32,
505 pub overscanInfo: u32,
506 pub videoSignalTypePresentFlag: u32,
507 pub videoFormat: NV_ENC_VUI_VIDEO_FORMAT,
508 pub videoFullRangeFlag: u32,
509 pub colourDescriptionPresentFlag: u32,
510 pub colourPrimaries: NV_ENC_VUI_COLOR_PRIMARIES,
511 pub transferCharacteristics: NV_ENC_VUI_TRANSFER_CHARACTERISTIC,
512 pub colourMatrix: NV_ENC_VUI_MATRIX_COEFFS,
513 pub chromaSampleLocationFlag: u32,
514 pub chromaSampleLocationTop: u32,
515 pub chromaSampleLocationBot: u32,
516 pub bitstreamRestrictionFlag: u32,
517 pub timingInfoPresentFlag: u32,
518 pub numUnitInTicks: u32,
519 pub timeScale: u32,
520 pub reserved: [u32; 12usize],
521}
522#[repr(C)]
523#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
524pub struct _NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE {
525 pub _bitfield_align_1: [u8; 0],
526 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
527 pub reserved1: [u32; 3usize],
528}
529#[repr(C)]
530#[repr(align(4))]
531#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
532pub struct _NVENC_EXTERNAL_ME_HINT {
533 pub _bitfield_align_1: [u16; 0],
534 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
535}
536#[repr(C)]
537#[repr(align(2))]
538#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
539pub struct _NVENC_EXTERNAL_ME_SB_HINT {
540 pub _bitfield_align_1: [u16; 0],
541 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 6usize]>,
542}
543#[repr(C)]
544#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
545pub struct _NV_ENC_CONFIG_H264 {
546 pub _bitfield_align_1: [u16; 0],
547 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
548 pub level: u32,
549 pub idrPeriod: u32,
550 pub separateColourPlaneFlag: u32,
551 pub disableDeblockingFilterIDC: u32,
552 pub numTemporalLayers: u32,
553 pub spsId: u32,
554 pub ppsId: u32,
555 pub adaptiveTransformMode: NV_ENC_H264_ADAPTIVE_TRANSFORM_MODE,
556 pub fmoMode: NV_ENC_H264_FMO_MODE,
557 pub bdirectMode: NV_ENC_H264_BDIRECT_MODE,
558 pub entropyCodingMode: NV_ENC_H264_ENTROPY_CODING_MODE,
559 pub stereoMode: NV_ENC_STEREO_PACKING_MODE,
560 pub intraRefreshPeriod: u32,
561 pub intraRefreshCnt: u32,
562 pub maxNumRefFrames: u32,
563 pub sliceMode: u32,
564 pub sliceModeData: u32,
565 pub h264VUIParameters: NV_ENC_CONFIG_H264_VUI_PARAMETERS,
566 pub ltrNumFrames: u32,
567 pub ltrTrustMode: u32,
568 pub chromaFormatIDC: u32,
569 pub maxTemporalLayers: u32,
570 pub useBFramesAsRef: NV_ENC_BFRAME_REF_MODE,
571 pub numRefL0: NV_ENC_NUM_REF_FRAMES,
572 pub numRefL1: NV_ENC_NUM_REF_FRAMES,
573 pub reserved1: [u32; 267usize],
574 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
575}
576#[repr(C)]
577#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
578pub struct _NV_ENC_CONFIG_HEVC {
579 pub level: u32,
580 pub tier: u32,
581 pub minCUSize: NV_ENC_HEVC_CUSIZE,
582 pub maxCUSize: NV_ENC_HEVC_CUSIZE,
583 pub _bitfield_align_1: [u16; 0],
584 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
585 pub idrPeriod: u32,
586 pub intraRefreshPeriod: u32,
587 pub intraRefreshCnt: u32,
588 pub maxNumRefFramesInDPB: u32,
589 pub ltrNumFrames: u32,
590 pub vpsId: u32,
591 pub spsId: u32,
592 pub ppsId: u32,
593 pub sliceMode: u32,
594 pub sliceModeData: u32,
595 pub maxTemporalLayersMinus1: u32,
596 pub hevcVUIParameters: NV_ENC_CONFIG_HEVC_VUI_PARAMETERS,
597 pub ltrTrustMode: u32,
598 pub useBFramesAsRef: NV_ENC_BFRAME_REF_MODE,
599 pub numRefL0: NV_ENC_NUM_REF_FRAMES,
600 pub numRefL1: NV_ENC_NUM_REF_FRAMES,
601 pub reserved1: [u32; 214usize],
602 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
603}
604#[repr(C)]
605#[repr(align(4))]
606#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
607pub struct _NV_ENC_FILM_GRAIN_PARAMS_AV1 {
608 pub _bitfield_align_1: [u8; 0],
609 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
610 pub pointYValue: [u8; 14usize],
611 pub pointYScaling: [u8; 14usize],
612 pub pointCbValue: [u8; 10usize],
613 pub pointCbScaling: [u8; 10usize],
614 pub pointCrValue: [u8; 10usize],
615 pub pointCrScaling: [u8; 10usize],
616 pub arCoeffsYPlus128: [u8; 24usize],
617 pub arCoeffsCbPlus128: [u8; 25usize],
618 pub arCoeffsCrPlus128: [u8; 25usize],
619 pub reserved2: [u8; 2usize],
620 pub cbMult: u8,
621 pub cbLumaMult: u8,
622 pub cbOffset: u16,
623 pub crMult: u8,
624 pub crLumaMult: u8,
625 pub crOffset: u16,
626}
627#[repr(C)]
628#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
629pub struct _NV_ENC_CONFIG_AV1 {
630 pub level: u32,
631 pub tier: u32,
632 pub minPartSize: NV_ENC_AV1_PART_SIZE,
633 pub maxPartSize: NV_ENC_AV1_PART_SIZE,
634 pub _bitfield_align_1: [u16; 0],
635 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
636 pub idrPeriod: u32,
637 pub intraRefreshPeriod: u32,
638 pub intraRefreshCnt: u32,
639 pub maxNumRefFramesInDPB: u32,
640 pub numTileColumns: u32,
641 pub numTileRows: u32,
642 pub tileWidths: *mut u32,
643 pub tileHeights: *mut u32,
644 pub maxTemporalLayersMinus1: u32,
645 pub colorPrimaries: NV_ENC_VUI_COLOR_PRIMARIES,
646 pub transferCharacteristics: NV_ENC_VUI_TRANSFER_CHARACTERISTIC,
647 pub matrixCoefficients: NV_ENC_VUI_MATRIX_COEFFS,
648 pub colorRange: u32,
649 pub chromaSamplePosition: u32,
650 pub useBFramesAsRef: NV_ENC_BFRAME_REF_MODE,
651 pub filmGrainParams: *mut NV_ENC_FILM_GRAIN_PARAMS_AV1,
652 pub numFwdRefs: NV_ENC_NUM_REF_FRAMES,
653 pub numBwdRefs: NV_ENC_NUM_REF_FRAMES,
654 pub reserved1: [u32; 235usize],
655 pub reserved2: [*mut ::core::ffi::c_void; 62usize],
656}
657#[repr(C)]
658#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
659pub struct _NV_ENC_CONFIG_H264_MEONLY {
660 pub _bitfield_align_1: [u32; 0],
661 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
662 pub reserved1: [u32; 255usize],
663 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
664}
665#[repr(C)]
666#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
667pub struct _NV_ENC_CONFIG_HEVC_MEONLY {
668 pub reserved: [u32; 256usize],
669 pub reserved1: [*mut ::core::ffi::c_void; 64usize],
670}
671#[repr(C)]
672#[derive(Copy, Clone)]
673pub struct _NV_ENC_CONFIG {
674 pub version: u32,
675 pub profileGUID: GUID,
676 pub gopLength: u32,
677 pub frameIntervalP: i32,
678 pub monoChromeEncoding: u32,
679 pub frameFieldMode: NV_ENC_PARAMS_FRAME_FIELD_MODE,
680 pub mvPrecision: NV_ENC_MV_PRECISION,
681 pub rcParams: NV_ENC_RC_PARAMS,
682 pub encodeCodecConfig: NV_ENC_CODEC_CONFIG,
683 pub reserved: [u32; 278usize],
684 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
685}
686#[repr(C)]
687#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
688pub struct _NV_ENC_INITIALIZE_PARAMS {
689 pub version: u32,
690 pub encodeGUID: GUID,
691 pub presetGUID: GUID,
692 pub encodeWidth: u32,
693 pub encodeHeight: u32,
694 pub darWidth: u32,
695 pub darHeight: u32,
696 pub frameRateNum: u32,
697 pub frameRateDen: u32,
698 pub enableEncodeAsync: u32,
699 pub enablePTD: u32,
700 pub _bitfield_align_1: [u32; 0],
701 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
702 pub privDataSize: u32,
703 pub privData: *mut ::core::ffi::c_void,
704 pub encodeConfig: *mut NV_ENC_CONFIG,
705 pub maxEncodeWidth: u32,
706 pub maxEncodeHeight: u32,
707 pub maxMEHintCountsPerBlock: [NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE; 2usize],
708 pub tuningInfo: NV_ENC_TUNING_INFO,
709 pub bufferFormat: NV_ENC_BUFFER_FORMAT,
710 pub numStateBuffers: u32,
711 pub outputStatsLevel: NV_ENC_OUTPUT_STATS_LEVEL,
712 pub reserved: [u32; 285usize],
713 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
714}
715#[repr(C)]
716#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
717pub struct _NV_ENC_RECONFIGURE_PARAMS {
718 pub version: u32,
719 pub reInitEncodeParams: NV_ENC_INITIALIZE_PARAMS,
720 pub _bitfield_align_1: [u32; 0],
721 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
722 pub __bindgen_padding_0: u32,
723}
724#[repr(C)]
725#[derive(Copy, Clone)]
726pub struct _NV_ENC_PRESET_CONFIG {
727 pub version: u32,
728 pub presetCfg: NV_ENC_CONFIG,
729 pub reserved1: [u32; 255usize],
730 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
731}
732#[repr(C)]
733#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
734pub struct _NV_ENC_PIC_PARAMS_MVC {
735 pub version: u32,
736 pub viewID: u32,
737 pub temporalID: u32,
738 pub priorityID: u32,
739 pub reserved1: [u32; 12usize],
740 pub reserved2: [*mut ::core::ffi::c_void; 8usize],
741}
742#[repr(C)]
743#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
744pub struct _NV_ENC_SEI_PAYLOAD {
745 pub payloadSize: u32,
746 pub payloadType: u32,
747 pub payload: *mut u8,
748}
749#[repr(C)]
750#[derive(Copy, Clone)]
751pub struct _NV_ENC_PIC_PARAMS_H264 {
752 pub displayPOCSyntax: u32,
753 pub reserved3: u32,
754 pub refPicFlag: u32,
755 pub colourPlaneId: u32,
756 pub forceIntraRefreshWithFrameCnt: u32,
757 pub _bitfield_align_1: [u32; 0],
758 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
759 pub sliceTypeData: *mut u8,
760 pub sliceTypeArrayCnt: u32,
761 pub seiPayloadArrayCnt: u32,
762 pub seiPayloadArray: *mut NV_ENC_SEI_PAYLOAD,
763 pub sliceMode: u32,
764 pub sliceModeData: u32,
765 pub ltrMarkFrameIdx: u32,
766 pub ltrUseFrameBitmap: u32,
767 pub ltrUsageMode: u32,
768 pub forceIntraSliceCount: u32,
769 pub forceIntraSliceIdx: *mut u32,
770 pub h264ExtPicParams: NV_ENC_PIC_PARAMS_H264_EXT,
771 pub timeCode: NV_ENC_TIME_CODE,
772 pub reserved: [u32; 203usize],
773 pub reserved2: [*mut ::core::ffi::c_void; 61usize],
774}
775#[repr(C)]
776#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
777pub struct _NV_ENC_PIC_PARAMS_HEVC {
778 pub displayPOCSyntax: u32,
779 pub refPicFlag: u32,
780 pub temporalId: u32,
781 pub forceIntraRefreshWithFrameCnt: u32,
782 pub _bitfield_align_1: [u32; 0],
783 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
784 pub sliceTypeData: *mut u8,
785 pub sliceTypeArrayCnt: u32,
786 pub sliceMode: u32,
787 pub sliceModeData: u32,
788 pub ltrMarkFrameIdx: u32,
789 pub ltrUseFrameBitmap: u32,
790 pub ltrUsageMode: u32,
791 pub seiPayloadArrayCnt: u32,
792 pub reserved: u32,
793 pub seiPayloadArray: *mut NV_ENC_SEI_PAYLOAD,
794 pub timeCode: NV_ENC_TIME_CODE,
795 pub reserved2: [u32; 237usize],
796 pub reserved3: [*mut ::core::ffi::c_void; 61usize],
797}
798#[repr(C)]
799#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
800pub struct _NV_ENC_PIC_PARAMS_AV1 {
801 pub displayPOCSyntax: u32,
802 pub refPicFlag: u32,
803 pub temporalId: u32,
804 pub forceIntraRefreshWithFrameCnt: u32,
805 pub _bitfield_align_1: [u32; 0],
806 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
807 pub numTileColumns: u32,
808 pub numTileRows: u32,
809 pub tileWidths: *mut u32,
810 pub tileHeights: *mut u32,
811 pub obuPayloadArrayCnt: u32,
812 pub reserved: u32,
813 pub obuPayloadArray: *mut NV_ENC_SEI_PAYLOAD,
814 pub filmGrainParams: *mut NV_ENC_FILM_GRAIN_PARAMS_AV1,
815 pub reserved2: [u32; 247usize],
816 pub reserved3: [*mut ::core::ffi::c_void; 61usize],
817}
818#[repr(C)]
819#[derive(Copy, Clone)]
820pub struct _NV_ENC_PIC_PARAMS {
821 pub version: u32,
822 pub inputWidth: u32,
823 pub inputHeight: u32,
824 pub inputPitch: u32,
825 pub encodePicFlags: u32,
826 pub frameIdx: u32,
827 pub inputTimeStamp: u64,
828 pub inputDuration: u64,
829 pub inputBuffer: NV_ENC_INPUT_PTR,
830 pub outputBitstream: NV_ENC_OUTPUT_PTR,
831 pub completionEvent: *mut ::core::ffi::c_void,
832 pub bufferFmt: NV_ENC_BUFFER_FORMAT,
833 pub pictureStruct: NV_ENC_PIC_STRUCT,
834 pub pictureType: NV_ENC_PIC_TYPE,
835 pub codecPicParams: NV_ENC_CODEC_PIC_PARAMS,
836 pub meHintCountsPerBlock: [NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE; 2usize],
837 pub meExternalHints: *mut NVENC_EXTERNAL_ME_HINT,
838 pub reserved1: [u32; 6usize],
839 pub reserved2: [*mut ::core::ffi::c_void; 2usize],
840 pub qpDeltaMap: *mut i8,
841 pub qpDeltaMapSize: u32,
842 pub reservedBitFields: u32,
843 pub meHintRefPicDist: [u16; 2usize],
844 pub alphaBuffer: NV_ENC_INPUT_PTR,
845 pub meExternalSbHints: *mut NVENC_EXTERNAL_ME_SB_HINT,
846 pub meSbHintsCount: u32,
847 pub stateBufferIdx: u32,
848 pub outputReconBuffer: NV_ENC_OUTPUT_PTR,
849 pub reserved3: [u32; 284usize],
850 pub reserved4: [*mut ::core::ffi::c_void; 57usize],
851}
852#[repr(C)]
853#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
854pub struct _NV_ENC_MEONLY_PARAMS {
855 pub version: u32,
856 pub inputWidth: u32,
857 pub inputHeight: u32,
858 pub inputBuffer: NV_ENC_INPUT_PTR,
859 pub referenceFrame: NV_ENC_INPUT_PTR,
860 pub mvBuffer: NV_ENC_OUTPUT_PTR,
861 pub bufferFmt: NV_ENC_BUFFER_FORMAT,
862 pub completionEvent: *mut ::core::ffi::c_void,
863 pub viewID: u32,
864 pub meHintCountsPerBlock: [NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE; 2usize],
865 pub meExternalHints: *mut NVENC_EXTERNAL_ME_HINT,
866 pub reserved1: [u32; 243usize],
867 pub reserved2: [*mut ::core::ffi::c_void; 59usize],
868}
869#[repr(C)]
870#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
871pub struct _NV_ENC_LOCK_BITSTREAM {
872 pub version: u32,
873 pub _bitfield_align_1: [u32; 0],
874 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
875 pub outputBitstream: *mut ::core::ffi::c_void,
876 pub sliceOffsets: *mut u32,
877 pub frameIdx: u32,
878 pub hwEncodeStatus: u32,
879 pub numSlices: u32,
880 pub bitstreamSizeInBytes: u32,
881 pub outputTimeStamp: u64,
882 pub outputDuration: u64,
883 pub bitstreamBufferPtr: *mut ::core::ffi::c_void,
884 pub pictureType: NV_ENC_PIC_TYPE,
885 pub pictureStruct: NV_ENC_PIC_STRUCT,
886 pub frameAvgQP: u32,
887 pub frameSatd: u32,
888 pub ltrFrameIdx: u32,
889 pub ltrFrameBitmap: u32,
890 pub temporalId: u32,
891 pub intraMBCount: u32,
892 pub interMBCount: u32,
893 pub averageMVX: i32,
894 pub averageMVY: i32,
895 pub alphaLayerSizeInBytes: u32,
896 pub outputStatsPtrSize: u32,
897 pub outputStatsPtr: *mut ::core::ffi::c_void,
898 pub frameIdxDisplay: u32,
899 pub reserved1: [u32; 220usize],
900 pub reserved2: [*mut ::core::ffi::c_void; 63usize],
901 pub reservedInternal: [u32; 8usize],
902}
903#[repr(C)]
904#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
905pub struct _NV_ENC_LOCK_INPUT_BUFFER {
906 pub version: u32,
907 pub _bitfield_align_1: [u32; 0],
908 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
909 pub inputBuffer: NV_ENC_INPUT_PTR,
910 pub bufferDataPtr: *mut ::core::ffi::c_void,
911 pub pitch: u32,
912 pub reserved1: [u32; 251usize],
913 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
914}
915#[repr(C)]
916#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
917pub struct _NV_ENC_MAP_INPUT_RESOURCE {
918 pub version: u32,
919 pub subResourceIndex: u32,
920 pub inputResource: *mut ::core::ffi::c_void,
921 pub registeredResource: NV_ENC_REGISTERED_PTR,
922 pub mappedResource: NV_ENC_INPUT_PTR,
923 pub mappedBufferFmt: NV_ENC_BUFFER_FORMAT,
924 pub reserved1: [u32; 251usize],
925 pub reserved2: [*mut ::core::ffi::c_void; 63usize],
926}
927#[repr(C)]
928#[derive(Debug, Default, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
929pub struct _NV_ENC_INPUT_RESOURCE_OPENGL_TEX {
930 pub texture: u32,
931 pub target: u32,
932}
933#[repr(C)]
934#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
935pub struct _NV_ENC_FENCE_POINT_D3D12 {
936 pub version: u32,
937 pub reserved: u32,
938 pub pFence: *mut ::core::ffi::c_void,
939 pub waitValue: u64,
940 pub signalValue: u64,
941 pub _bitfield_align_1: [u32; 0],
942 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
943 pub reserved1: [u32; 7usize],
944}
945#[repr(C)]
946#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
947pub struct _NV_ENC_INPUT_RESOURCE_D3D12 {
948 pub version: u32,
949 pub reserved: u32,
950 pub pInputBuffer: NV_ENC_INPUT_PTR,
951 pub inputFencePoint: NV_ENC_FENCE_POINT_D3D12,
952 pub reserved1: [u32; 16usize],
953 pub reserved2: [*mut ::core::ffi::c_void; 16usize],
954}
955#[repr(C)]
956#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
957pub struct _NV_ENC_OUTPUT_RESOURCE_D3D12 {
958 pub version: u32,
959 pub reserved: u32,
960 pub pOutputBuffer: NV_ENC_INPUT_PTR,
961 pub outputFencePoint: NV_ENC_FENCE_POINT_D3D12,
962 pub reserved1: [u32; 16usize],
963 pub reserved2: [*mut ::core::ffi::c_void; 16usize],
964}
965#[repr(C)]
966#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
967pub struct _NV_ENC_REGISTER_RESOURCE {
968 pub version: u32,
969 pub resourceType: NV_ENC_INPUT_RESOURCE_TYPE,
970 pub width: u32,
971 pub height: u32,
972 pub pitch: u32,
973 pub subResourceIndex: u32,
974 pub resourceToRegister: *mut ::core::ffi::c_void,
975 pub registeredResource: NV_ENC_REGISTERED_PTR,
976 pub bufferFormat: NV_ENC_BUFFER_FORMAT,
977 pub bufferUsage: NV_ENC_BUFFER_USAGE,
978 pub pInputFencePoint: *mut NV_ENC_FENCE_POINT_D3D12,
979 pub chromaOffset: [u32; 2usize],
980 pub reserved1: [u32; 245usize],
981 pub reserved2: [*mut ::core::ffi::c_void; 61usize],
982}
983#[repr(C)]
984#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
985pub struct _NV_ENC_STAT {
986 pub version: u32,
987 pub reserved: u32,
988 pub outputBitStream: NV_ENC_OUTPUT_PTR,
989 pub bitStreamSize: u32,
990 pub picType: u32,
991 pub lastValidByteOffset: u32,
992 pub sliceOffsets: [u32; 16usize],
993 pub picIdx: u32,
994 pub frameAvgQP: u32,
995 pub _bitfield_align_1: [u32; 0],
996 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
997 pub ltrFrameIdx: u32,
998 pub intraMBCount: u32,
999 pub interMBCount: u32,
1000 pub averageMVX: i32,
1001 pub averageMVY: i32,
1002 pub reserved1: [u32; 226usize],
1003 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
1004}
1005#[repr(C)]
1006#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1007pub struct _NV_ENC_SEQUENCE_PARAM_PAYLOAD {
1008 pub version: u32,
1009 pub inBufferSize: u32,
1010 pub spsId: u32,
1011 pub ppsId: u32,
1012 pub spsppsBuffer: *mut ::core::ffi::c_void,
1013 pub outSPSPPSPayloadSize: *mut u32,
1014 pub reserved: [u32; 250usize],
1015 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
1016}
1017#[repr(C)]
1018#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1019pub struct _NV_ENC_EVENT_PARAMS {
1020 pub version: u32,
1021 pub reserved: u32,
1022 pub completionEvent: *mut ::core::ffi::c_void,
1023 pub reserved1: [u32; 253usize],
1024 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
1025}
1026#[repr(C)]
1027#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1028pub struct _NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS {
1029 pub version: u32,
1030 pub deviceType: NV_ENC_DEVICE_TYPE,
1031 pub device: *mut ::core::ffi::c_void,
1032 pub reserved: *mut ::core::ffi::c_void,
1033 pub apiVersion: u32,
1034 pub reserved1: [u32; 253usize],
1035 pub reserved2: [*mut ::core::ffi::c_void; 64usize],
1036}
1037#[repr(C)]
1038#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
1039pub struct _NV_ENCODE_API_FUNCTION_LIST {
1040 pub version: u32,
1041 pub reserved: u32,
1042 pub nvEncOpenEncodeSession: PNVENCOPENENCODESESSION,
1043 pub nvEncGetEncodeGUIDCount: PNVENCGETENCODEGUIDCOUNT,
1044 pub nvEncGetEncodeProfileGUIDCount: PNVENCGETENCODEPRESETCOUNT,
1045 pub nvEncGetEncodeProfileGUIDs: PNVENCGETENCODEPRESETGUIDS,
1046 pub nvEncGetEncodeGUIDs: PNVENCGETENCODEGUIDS,
1047 pub nvEncGetInputFormatCount: PNVENCGETINPUTFORMATCOUNT,
1048 pub nvEncGetInputFormats: PNVENCGETINPUTFORMATS,
1049 pub nvEncGetEncodeCaps: PNVENCGETENCODECAPS,
1050 pub nvEncGetEncodePresetCount: PNVENCGETENCODEPRESETCOUNT,
1051 pub nvEncGetEncodePresetGUIDs: PNVENCGETENCODEPRESETGUIDS,
1052 pub nvEncGetEncodePresetConfig: PNVENCGETENCODEPRESETCONFIG,
1053 pub nvEncInitializeEncoder: PNVENCINITIALIZEENCODER,
1054 pub nvEncCreateInputBuffer: PNVENCCREATEINPUTBUFFER,
1055 pub nvEncDestroyInputBuffer: PNVENCDESTROYINPUTBUFFER,
1056 pub nvEncCreateBitstreamBuffer: PNVENCCREATEBITSTREAMBUFFER,
1057 pub nvEncDestroyBitstreamBuffer: PNVENCDESTROYBITSTREAMBUFFER,
1058 pub nvEncEncodePicture: PNVENCENCODEPICTURE,
1059 pub nvEncLockBitstream: PNVENCLOCKBITSTREAM,
1060 pub nvEncUnlockBitstream: PNVENCUNLOCKBITSTREAM,
1061 pub nvEncLockInputBuffer: PNVENCLOCKINPUTBUFFER,
1062 pub nvEncUnlockInputBuffer: PNVENCUNLOCKINPUTBUFFER,
1063 pub nvEncGetEncodeStats: PNVENCGETENCODESTATS,
1064 pub nvEncGetSequenceParams: PNVENCGETSEQUENCEPARAMS,
1065 pub nvEncRegisterAsyncEvent: PNVENCREGISTERASYNCEVENT,
1066 pub nvEncUnregisterAsyncEvent: PNVENCUNREGISTERASYNCEVENT,
1067 pub nvEncMapInputResource: PNVENCMAPINPUTRESOURCE,
1068 pub nvEncUnmapInputResource: PNVENCUNMAPINPUTRESOURCE,
1069 pub nvEncDestroyEncoder: PNVENCDESTROYENCODER,
1070 pub nvEncInvalidateRefFrames: PNVENCINVALIDATEREFFRAMES,
1071 pub nvEncOpenEncodeSessionEx: PNVENCOPENENCODESESSIONEX,
1072 pub nvEncRegisterResource: PNVENCREGISTERRESOURCE,
1073 pub nvEncUnregisterResource: PNVENCUNREGISTERRESOURCE,
1074 pub nvEncReconfigureEncoder: PNVENCRECONFIGUREENCODER,
1075 pub reserved1: *mut ::core::ffi::c_void,
1076 pub nvEncCreateMVBuffer: PNVENCCREATEMVBUFFER,
1077 pub nvEncDestroyMVBuffer: PNVENCDESTROYMVBUFFER,
1078 pub nvEncRunMotionEstimationOnly: PNVENCRUNMOTIONESTIMATIONONLY,
1079 pub nvEncGetLastErrorString: PNVENCGETLASTERROR,
1080 pub nvEncSetIOCudaStreams: PNVENCSETIOCUDASTREAMS,
1081 pub nvEncGetEncodePresetConfigEx: PNVENCGETENCODEPRESETCONFIGEX,
1082 pub nvEncGetSequenceParamEx: PNVENCGETSEQUENCEPARAMEX,
1083 pub nvEncRestoreEncoderState: PNVENCRESTOREENCODERSTATE,
1084 pub nvEncLookaheadPicture: PNVENCLOOKAHEADPICTURE,
1085 pub reserved2: [*mut ::core::ffi::c_void; 275usize],
1086}
1087pub const NVENCAPI_MAJOR_VERSION: u32 = 12;
1088pub const NVENCAPI_MINOR_VERSION: u32 = 1;
1089pub const NVENCAPI_VERSION: u32 = 16777228;
1090pub const NVENC_INFINITE_GOPLENGTH: u32 = 4294967295;
1091pub const NV_MAX_SEQ_HDR_LEN: u32 = 512;
1092pub const NV_MAX_TILE_COLS_AV1: u32 = 64;
1093pub const NV_MAX_TILE_ROWS_AV1: u32 = 64;
1094#[test]
1095fn bindgen_test_layout__GUID() {
1096 const UNINIT: ::core::mem::MaybeUninit<_GUID> = ::core::mem::MaybeUninit::uninit();
1097 let ptr = UNINIT.as_ptr();
1098 assert_eq!(
1099 ::core::mem::size_of::<_GUID>(),
1100 16usize,
1101 concat!("Size of: ", stringify!(_GUID))
1102 );
1103 assert_eq!(
1104 ::core::mem::align_of::<_GUID>(),
1105 4usize,
1106 concat!("Alignment of ", stringify!(_GUID))
1107 );
1108 assert_eq!(
1109 unsafe { ::core::ptr::addr_of!((*ptr).Data1) as usize - ptr as usize },
1110 0usize,
1111 concat!(
1112 "Offset of field: ",
1113 stringify!(_GUID),
1114 "::",
1115 stringify!(Data1)
1116 )
1117 );
1118 assert_eq!(
1119 unsafe { ::core::ptr::addr_of!((*ptr).Data2) as usize - ptr as usize },
1120 4usize,
1121 concat!(
1122 "Offset of field: ",
1123 stringify!(_GUID),
1124 "::",
1125 stringify!(Data2)
1126 )
1127 );
1128 assert_eq!(
1129 unsafe { ::core::ptr::addr_of!((*ptr).Data3) as usize - ptr as usize },
1130 6usize,
1131 concat!(
1132 "Offset of field: ",
1133 stringify!(_GUID),
1134 "::",
1135 stringify!(Data3)
1136 )
1137 );
1138 assert_eq!(
1139 unsafe { ::core::ptr::addr_of!((*ptr).Data4) as usize - ptr as usize },
1140 8usize,
1141 concat!(
1142 "Offset of field: ",
1143 stringify!(_GUID),
1144 "::",
1145 stringify!(Data4)
1146 )
1147 );
1148}
1149#[test]
1150fn bindgen_test_layout__NVENC_RECT() {
1151 const UNINIT: ::core::mem::MaybeUninit<_NVENC_RECT> = ::core::mem::MaybeUninit::uninit();
1152 let ptr = UNINIT.as_ptr();
1153 assert_eq!(
1154 ::core::mem::size_of::<_NVENC_RECT>(),
1155 16usize,
1156 concat!("Size of: ", stringify!(_NVENC_RECT))
1157 );
1158 assert_eq!(
1159 ::core::mem::align_of::<_NVENC_RECT>(),
1160 4usize,
1161 concat!("Alignment of ", stringify!(_NVENC_RECT))
1162 );
1163 assert_eq!(
1164 unsafe { ::core::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
1165 0usize,
1166 concat!(
1167 "Offset of field: ",
1168 stringify!(_NVENC_RECT),
1169 "::",
1170 stringify!(left)
1171 )
1172 );
1173 assert_eq!(
1174 unsafe { ::core::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
1175 4usize,
1176 concat!(
1177 "Offset of field: ",
1178 stringify!(_NVENC_RECT),
1179 "::",
1180 stringify!(top)
1181 )
1182 );
1183 assert_eq!(
1184 unsafe { ::core::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
1185 8usize,
1186 concat!(
1187 "Offset of field: ",
1188 stringify!(_NVENC_RECT),
1189 "::",
1190 stringify!(right)
1191 )
1192 );
1193 assert_eq!(
1194 unsafe { ::core::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
1195 12usize,
1196 concat!(
1197 "Offset of field: ",
1198 stringify!(_NVENC_RECT),
1199 "::",
1200 stringify!(bottom)
1201 )
1202 );
1203}
1204#[test]
1205fn bindgen_test_layout__NV_ENC_CAPS_PARAM() {
1206 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CAPS_PARAM> = ::core::mem::MaybeUninit::uninit();
1207 let ptr = UNINIT.as_ptr();
1208 assert_eq!(
1209 ::core::mem::size_of::<_NV_ENC_CAPS_PARAM>(),
1210 256usize,
1211 concat!("Size of: ", stringify!(_NV_ENC_CAPS_PARAM))
1212 );
1213 assert_eq!(
1214 ::core::mem::align_of::<_NV_ENC_CAPS_PARAM>(),
1215 4usize,
1216 concat!("Alignment of ", stringify!(_NV_ENC_CAPS_PARAM))
1217 );
1218 assert_eq!(
1219 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1220 0usize,
1221 concat!(
1222 "Offset of field: ",
1223 stringify!(_NV_ENC_CAPS_PARAM),
1224 "::",
1225 stringify!(version)
1226 )
1227 );
1228 assert_eq!(
1229 unsafe { ::core::ptr::addr_of!((*ptr).capsToQuery) as usize - ptr as usize },
1230 4usize,
1231 concat!(
1232 "Offset of field: ",
1233 stringify!(_NV_ENC_CAPS_PARAM),
1234 "::",
1235 stringify!(capsToQuery)
1236 )
1237 );
1238 assert_eq!(
1239 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1240 8usize,
1241 concat!(
1242 "Offset of field: ",
1243 stringify!(_NV_ENC_CAPS_PARAM),
1244 "::",
1245 stringify!(reserved)
1246 )
1247 );
1248}
1249#[test]
1250fn bindgen_test_layout__NV_ENC_RESTORE_ENCODER_STATE_PARAMS() {
1251 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_RESTORE_ENCODER_STATE_PARAMS> =
1252 ::core::mem::MaybeUninit::uninit();
1253 let ptr = UNINIT.as_ptr();
1254 assert_eq!(
1255 ::core::mem::size_of::<_NV_ENC_RESTORE_ENCODER_STATE_PARAMS>(),
1256 800usize,
1257 concat!(
1258 "Size of: ",
1259 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS)
1260 )
1261 );
1262 assert_eq!(
1263 ::core::mem::align_of::<_NV_ENC_RESTORE_ENCODER_STATE_PARAMS>(),
1264 8usize,
1265 concat!(
1266 "Alignment of ",
1267 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS)
1268 )
1269 );
1270 assert_eq!(
1271 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1272 0usize,
1273 concat!(
1274 "Offset of field: ",
1275 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS),
1276 "::",
1277 stringify!(version)
1278 )
1279 );
1280 assert_eq!(
1281 unsafe { ::core::ptr::addr_of!((*ptr).bufferIdx) as usize - ptr as usize },
1282 4usize,
1283 concat!(
1284 "Offset of field: ",
1285 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS),
1286 "::",
1287 stringify!(bufferIdx)
1288 )
1289 );
1290 assert_eq!(
1291 unsafe { ::core::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
1292 8usize,
1293 concat!(
1294 "Offset of field: ",
1295 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS),
1296 "::",
1297 stringify!(state)
1298 )
1299 );
1300 assert_eq!(
1301 unsafe { ::core::ptr::addr_of!((*ptr).outputBitstream) as usize - ptr as usize },
1302 16usize,
1303 concat!(
1304 "Offset of field: ",
1305 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS),
1306 "::",
1307 stringify!(outputBitstream)
1308 )
1309 );
1310 assert_eq!(
1311 unsafe { ::core::ptr::addr_of!((*ptr).completionEvent) as usize - ptr as usize },
1312 24usize,
1313 concat!(
1314 "Offset of field: ",
1315 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS),
1316 "::",
1317 stringify!(completionEvent)
1318 )
1319 );
1320 assert_eq!(
1321 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
1322 32usize,
1323 concat!(
1324 "Offset of field: ",
1325 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS),
1326 "::",
1327 stringify!(reserved1)
1328 )
1329 );
1330 assert_eq!(
1331 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
1332 288usize,
1333 concat!(
1334 "Offset of field: ",
1335 stringify!(_NV_ENC_RESTORE_ENCODER_STATE_PARAMS),
1336 "::",
1337 stringify!(reserved2)
1338 )
1339 );
1340}
1341#[test]
1342fn bindgen_test_layout__NV_ENC_OUTPUT_STATS_BLOCK() {
1343 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_OUTPUT_STATS_BLOCK> =
1344 ::core::mem::MaybeUninit::uninit();
1345 let ptr = UNINIT.as_ptr();
1346 assert_eq!(
1347 ::core::mem::size_of::<_NV_ENC_OUTPUT_STATS_BLOCK>(),
1348 64usize,
1349 concat!("Size of: ", stringify!(_NV_ENC_OUTPUT_STATS_BLOCK))
1350 );
1351 assert_eq!(
1352 ::core::mem::align_of::<_NV_ENC_OUTPUT_STATS_BLOCK>(),
1353 4usize,
1354 concat!("Alignment of ", stringify!(_NV_ENC_OUTPUT_STATS_BLOCK))
1355 );
1356 assert_eq!(
1357 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1358 0usize,
1359 concat!(
1360 "Offset of field: ",
1361 stringify!(_NV_ENC_OUTPUT_STATS_BLOCK),
1362 "::",
1363 stringify!(version)
1364 )
1365 );
1366 assert_eq!(
1367 unsafe { ::core::ptr::addr_of!((*ptr).QP) as usize - ptr as usize },
1368 4usize,
1369 concat!(
1370 "Offset of field: ",
1371 stringify!(_NV_ENC_OUTPUT_STATS_BLOCK),
1372 "::",
1373 stringify!(QP)
1374 )
1375 );
1376 assert_eq!(
1377 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1378 5usize,
1379 concat!(
1380 "Offset of field: ",
1381 stringify!(_NV_ENC_OUTPUT_STATS_BLOCK),
1382 "::",
1383 stringify!(reserved)
1384 )
1385 );
1386 assert_eq!(
1387 unsafe { ::core::ptr::addr_of!((*ptr).bitcount) as usize - ptr as usize },
1388 8usize,
1389 concat!(
1390 "Offset of field: ",
1391 stringify!(_NV_ENC_OUTPUT_STATS_BLOCK),
1392 "::",
1393 stringify!(bitcount)
1394 )
1395 );
1396 assert_eq!(
1397 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
1398 12usize,
1399 concat!(
1400 "Offset of field: ",
1401 stringify!(_NV_ENC_OUTPUT_STATS_BLOCK),
1402 "::",
1403 stringify!(reserved1)
1404 )
1405 );
1406}
1407#[test]
1408fn bindgen_test_layout__NV_ENC_OUTPUT_STATS_ROW() {
1409 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_OUTPUT_STATS_ROW> =
1410 ::core::mem::MaybeUninit::uninit();
1411 let ptr = UNINIT.as_ptr();
1412 assert_eq!(
1413 ::core::mem::size_of::<_NV_ENC_OUTPUT_STATS_ROW>(),
1414 64usize,
1415 concat!("Size of: ", stringify!(_NV_ENC_OUTPUT_STATS_ROW))
1416 );
1417 assert_eq!(
1418 ::core::mem::align_of::<_NV_ENC_OUTPUT_STATS_ROW>(),
1419 4usize,
1420 concat!("Alignment of ", stringify!(_NV_ENC_OUTPUT_STATS_ROW))
1421 );
1422 assert_eq!(
1423 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1424 0usize,
1425 concat!(
1426 "Offset of field: ",
1427 stringify!(_NV_ENC_OUTPUT_STATS_ROW),
1428 "::",
1429 stringify!(version)
1430 )
1431 );
1432 assert_eq!(
1433 unsafe { ::core::ptr::addr_of!((*ptr).QP) as usize - ptr as usize },
1434 4usize,
1435 concat!(
1436 "Offset of field: ",
1437 stringify!(_NV_ENC_OUTPUT_STATS_ROW),
1438 "::",
1439 stringify!(QP)
1440 )
1441 );
1442 assert_eq!(
1443 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1444 5usize,
1445 concat!(
1446 "Offset of field: ",
1447 stringify!(_NV_ENC_OUTPUT_STATS_ROW),
1448 "::",
1449 stringify!(reserved)
1450 )
1451 );
1452 assert_eq!(
1453 unsafe { ::core::ptr::addr_of!((*ptr).bitcount) as usize - ptr as usize },
1454 8usize,
1455 concat!(
1456 "Offset of field: ",
1457 stringify!(_NV_ENC_OUTPUT_STATS_ROW),
1458 "::",
1459 stringify!(bitcount)
1460 )
1461 );
1462 assert_eq!(
1463 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
1464 12usize,
1465 concat!(
1466 "Offset of field: ",
1467 stringify!(_NV_ENC_OUTPUT_STATS_ROW),
1468 "::",
1469 stringify!(reserved1)
1470 )
1471 );
1472}
1473#[test]
1474fn bindgen_test_layout__NV_ENC_ENCODE_OUT_PARAMS() {
1475 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_ENCODE_OUT_PARAMS> =
1476 ::core::mem::MaybeUninit::uninit();
1477 let ptr = UNINIT.as_ptr();
1478 assert_eq!(
1479 ::core::mem::size_of::<_NV_ENC_ENCODE_OUT_PARAMS>(),
1480 256usize,
1481 concat!("Size of: ", stringify!(_NV_ENC_ENCODE_OUT_PARAMS))
1482 );
1483 assert_eq!(
1484 ::core::mem::align_of::<_NV_ENC_ENCODE_OUT_PARAMS>(),
1485 4usize,
1486 concat!("Alignment of ", stringify!(_NV_ENC_ENCODE_OUT_PARAMS))
1487 );
1488 assert_eq!(
1489 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1490 0usize,
1491 concat!(
1492 "Offset of field: ",
1493 stringify!(_NV_ENC_ENCODE_OUT_PARAMS),
1494 "::",
1495 stringify!(version)
1496 )
1497 );
1498 assert_eq!(
1499 unsafe { ::core::ptr::addr_of!((*ptr).bitstreamSizeInBytes) as usize - ptr as usize },
1500 4usize,
1501 concat!(
1502 "Offset of field: ",
1503 stringify!(_NV_ENC_ENCODE_OUT_PARAMS),
1504 "::",
1505 stringify!(bitstreamSizeInBytes)
1506 )
1507 );
1508 assert_eq!(
1509 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1510 8usize,
1511 concat!(
1512 "Offset of field: ",
1513 stringify!(_NV_ENC_ENCODE_OUT_PARAMS),
1514 "::",
1515 stringify!(reserved)
1516 )
1517 );
1518}
1519#[test]
1520fn bindgen_test_layout__NV_ENC_LOOKAHEAD_PIC_PARAMS() {
1521 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_LOOKAHEAD_PIC_PARAMS> =
1522 ::core::mem::MaybeUninit::uninit();
1523 let ptr = UNINIT.as_ptr();
1524 assert_eq!(
1525 ::core::mem::size_of::<_NV_ENC_LOOKAHEAD_PIC_PARAMS>(),
1526 792usize,
1527 concat!("Size of: ", stringify!(_NV_ENC_LOOKAHEAD_PIC_PARAMS))
1528 );
1529 assert_eq!(
1530 ::core::mem::align_of::<_NV_ENC_LOOKAHEAD_PIC_PARAMS>(),
1531 8usize,
1532 concat!("Alignment of ", stringify!(_NV_ENC_LOOKAHEAD_PIC_PARAMS))
1533 );
1534 assert_eq!(
1535 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1536 0usize,
1537 concat!(
1538 "Offset of field: ",
1539 stringify!(_NV_ENC_LOOKAHEAD_PIC_PARAMS),
1540 "::",
1541 stringify!(version)
1542 )
1543 );
1544 assert_eq!(
1545 unsafe { ::core::ptr::addr_of!((*ptr).inputBuffer) as usize - ptr as usize },
1546 8usize,
1547 concat!(
1548 "Offset of field: ",
1549 stringify!(_NV_ENC_LOOKAHEAD_PIC_PARAMS),
1550 "::",
1551 stringify!(inputBuffer)
1552 )
1553 );
1554 assert_eq!(
1555 unsafe { ::core::ptr::addr_of!((*ptr).pictureType) as usize - ptr as usize },
1556 16usize,
1557 concat!(
1558 "Offset of field: ",
1559 stringify!(_NV_ENC_LOOKAHEAD_PIC_PARAMS),
1560 "::",
1561 stringify!(pictureType)
1562 )
1563 );
1564 assert_eq!(
1565 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1566 20usize,
1567 concat!(
1568 "Offset of field: ",
1569 stringify!(_NV_ENC_LOOKAHEAD_PIC_PARAMS),
1570 "::",
1571 stringify!(reserved)
1572 )
1573 );
1574 assert_eq!(
1575 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
1576 280usize,
1577 concat!(
1578 "Offset of field: ",
1579 stringify!(_NV_ENC_LOOKAHEAD_PIC_PARAMS),
1580 "::",
1581 stringify!(reserved1)
1582 )
1583 );
1584}
1585#[test]
1586fn bindgen_test_layout__NV_ENC_CREATE_INPUT_BUFFER() {
1587 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CREATE_INPUT_BUFFER> =
1588 ::core::mem::MaybeUninit::uninit();
1589 let ptr = UNINIT.as_ptr();
1590 assert_eq!(
1591 ::core::mem::size_of::<_NV_ENC_CREATE_INPUT_BUFFER>(),
1592 776usize,
1593 concat!("Size of: ", stringify!(_NV_ENC_CREATE_INPUT_BUFFER))
1594 );
1595 assert_eq!(
1596 ::core::mem::align_of::<_NV_ENC_CREATE_INPUT_BUFFER>(),
1597 8usize,
1598 concat!("Alignment of ", stringify!(_NV_ENC_CREATE_INPUT_BUFFER))
1599 );
1600 assert_eq!(
1601 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1602 0usize,
1603 concat!(
1604 "Offset of field: ",
1605 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1606 "::",
1607 stringify!(version)
1608 )
1609 );
1610 assert_eq!(
1611 unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
1612 4usize,
1613 concat!(
1614 "Offset of field: ",
1615 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1616 "::",
1617 stringify!(width)
1618 )
1619 );
1620 assert_eq!(
1621 unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
1622 8usize,
1623 concat!(
1624 "Offset of field: ",
1625 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1626 "::",
1627 stringify!(height)
1628 )
1629 );
1630 assert_eq!(
1631 unsafe { ::core::ptr::addr_of!((*ptr).memoryHeap) as usize - ptr as usize },
1632 12usize,
1633 concat!(
1634 "Offset of field: ",
1635 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1636 "::",
1637 stringify!(memoryHeap)
1638 )
1639 );
1640 assert_eq!(
1641 unsafe { ::core::ptr::addr_of!((*ptr).bufferFmt) as usize - ptr as usize },
1642 16usize,
1643 concat!(
1644 "Offset of field: ",
1645 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1646 "::",
1647 stringify!(bufferFmt)
1648 )
1649 );
1650 assert_eq!(
1651 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1652 20usize,
1653 concat!(
1654 "Offset of field: ",
1655 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1656 "::",
1657 stringify!(reserved)
1658 )
1659 );
1660 assert_eq!(
1661 unsafe { ::core::ptr::addr_of!((*ptr).inputBuffer) as usize - ptr as usize },
1662 24usize,
1663 concat!(
1664 "Offset of field: ",
1665 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1666 "::",
1667 stringify!(inputBuffer)
1668 )
1669 );
1670 assert_eq!(
1671 unsafe { ::core::ptr::addr_of!((*ptr).pSysMemBuffer) as usize - ptr as usize },
1672 32usize,
1673 concat!(
1674 "Offset of field: ",
1675 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1676 "::",
1677 stringify!(pSysMemBuffer)
1678 )
1679 );
1680 assert_eq!(
1681 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
1682 40usize,
1683 concat!(
1684 "Offset of field: ",
1685 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1686 "::",
1687 stringify!(reserved1)
1688 )
1689 );
1690 assert_eq!(
1691 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
1692 272usize,
1693 concat!(
1694 "Offset of field: ",
1695 stringify!(_NV_ENC_CREATE_INPUT_BUFFER),
1696 "::",
1697 stringify!(reserved2)
1698 )
1699 );
1700}
1701#[test]
1702fn bindgen_test_layout__NV_ENC_CREATE_BITSTREAM_BUFFER() {
1703 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CREATE_BITSTREAM_BUFFER> =
1704 ::core::mem::MaybeUninit::uninit();
1705 let ptr = UNINIT.as_ptr();
1706 assert_eq!(
1707 ::core::mem::size_of::<_NV_ENC_CREATE_BITSTREAM_BUFFER>(),
1708 776usize,
1709 concat!("Size of: ", stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER))
1710 );
1711 assert_eq!(
1712 ::core::mem::align_of::<_NV_ENC_CREATE_BITSTREAM_BUFFER>(),
1713 8usize,
1714 concat!("Alignment of ", stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER))
1715 );
1716 assert_eq!(
1717 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1718 0usize,
1719 concat!(
1720 "Offset of field: ",
1721 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1722 "::",
1723 stringify!(version)
1724 )
1725 );
1726 assert_eq!(
1727 unsafe { ::core::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
1728 4usize,
1729 concat!(
1730 "Offset of field: ",
1731 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1732 "::",
1733 stringify!(size)
1734 )
1735 );
1736 assert_eq!(
1737 unsafe { ::core::ptr::addr_of!((*ptr).memoryHeap) as usize - ptr as usize },
1738 8usize,
1739 concat!(
1740 "Offset of field: ",
1741 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1742 "::",
1743 stringify!(memoryHeap)
1744 )
1745 );
1746 assert_eq!(
1747 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1748 12usize,
1749 concat!(
1750 "Offset of field: ",
1751 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1752 "::",
1753 stringify!(reserved)
1754 )
1755 );
1756 assert_eq!(
1757 unsafe { ::core::ptr::addr_of!((*ptr).bitstreamBuffer) as usize - ptr as usize },
1758 16usize,
1759 concat!(
1760 "Offset of field: ",
1761 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1762 "::",
1763 stringify!(bitstreamBuffer)
1764 )
1765 );
1766 assert_eq!(
1767 unsafe { ::core::ptr::addr_of!((*ptr).bitstreamBufferPtr) as usize - ptr as usize },
1768 24usize,
1769 concat!(
1770 "Offset of field: ",
1771 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1772 "::",
1773 stringify!(bitstreamBufferPtr)
1774 )
1775 );
1776 assert_eq!(
1777 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
1778 32usize,
1779 concat!(
1780 "Offset of field: ",
1781 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1782 "::",
1783 stringify!(reserved1)
1784 )
1785 );
1786 assert_eq!(
1787 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
1788 264usize,
1789 concat!(
1790 "Offset of field: ",
1791 stringify!(_NV_ENC_CREATE_BITSTREAM_BUFFER),
1792 "::",
1793 stringify!(reserved2)
1794 )
1795 );
1796}
1797#[test]
1798fn bindgen_test_layout__NV_ENC_MVECTOR() {
1799 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_MVECTOR> = ::core::mem::MaybeUninit::uninit();
1800 let ptr = UNINIT.as_ptr();
1801 assert_eq!(
1802 ::core::mem::size_of::<_NV_ENC_MVECTOR>(),
1803 4usize,
1804 concat!("Size of: ", stringify!(_NV_ENC_MVECTOR))
1805 );
1806 assert_eq!(
1807 ::core::mem::align_of::<_NV_ENC_MVECTOR>(),
1808 2usize,
1809 concat!("Alignment of ", stringify!(_NV_ENC_MVECTOR))
1810 );
1811 assert_eq!(
1812 unsafe { ::core::ptr::addr_of!((*ptr).mvx) as usize - ptr as usize },
1813 0usize,
1814 concat!(
1815 "Offset of field: ",
1816 stringify!(_NV_ENC_MVECTOR),
1817 "::",
1818 stringify!(mvx)
1819 )
1820 );
1821 assert_eq!(
1822 unsafe { ::core::ptr::addr_of!((*ptr).mvy) as usize - ptr as usize },
1823 2usize,
1824 concat!(
1825 "Offset of field: ",
1826 stringify!(_NV_ENC_MVECTOR),
1827 "::",
1828 stringify!(mvy)
1829 )
1830 );
1831}
1832#[test]
1833fn bindgen_test_layout__NV_ENC_H264_MV_DATA() {
1834 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_H264_MV_DATA> =
1835 ::core::mem::MaybeUninit::uninit();
1836 let ptr = UNINIT.as_ptr();
1837 assert_eq!(
1838 ::core::mem::size_of::<_NV_ENC_H264_MV_DATA>(),
1839 24usize,
1840 concat!("Size of: ", stringify!(_NV_ENC_H264_MV_DATA))
1841 );
1842 assert_eq!(
1843 ::core::mem::align_of::<_NV_ENC_H264_MV_DATA>(),
1844 4usize,
1845 concat!("Alignment of ", stringify!(_NV_ENC_H264_MV_DATA))
1846 );
1847 assert_eq!(
1848 unsafe { ::core::ptr::addr_of!((*ptr).mv) as usize - ptr as usize },
1849 0usize,
1850 concat!(
1851 "Offset of field: ",
1852 stringify!(_NV_ENC_H264_MV_DATA),
1853 "::",
1854 stringify!(mv)
1855 )
1856 );
1857 assert_eq!(
1858 unsafe { ::core::ptr::addr_of!((*ptr).mbType) as usize - ptr as usize },
1859 16usize,
1860 concat!(
1861 "Offset of field: ",
1862 stringify!(_NV_ENC_H264_MV_DATA),
1863 "::",
1864 stringify!(mbType)
1865 )
1866 );
1867 assert_eq!(
1868 unsafe { ::core::ptr::addr_of!((*ptr).partitionType) as usize - ptr as usize },
1869 17usize,
1870 concat!(
1871 "Offset of field: ",
1872 stringify!(_NV_ENC_H264_MV_DATA),
1873 "::",
1874 stringify!(partitionType)
1875 )
1876 );
1877 assert_eq!(
1878 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1879 18usize,
1880 concat!(
1881 "Offset of field: ",
1882 stringify!(_NV_ENC_H264_MV_DATA),
1883 "::",
1884 stringify!(reserved)
1885 )
1886 );
1887 assert_eq!(
1888 unsafe { ::core::ptr::addr_of!((*ptr).mbCost) as usize - ptr as usize },
1889 20usize,
1890 concat!(
1891 "Offset of field: ",
1892 stringify!(_NV_ENC_H264_MV_DATA),
1893 "::",
1894 stringify!(mbCost)
1895 )
1896 );
1897}
1898#[test]
1899fn bindgen_test_layout__NV_ENC_HEVC_MV_DATA() {
1900 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_HEVC_MV_DATA> =
1901 ::core::mem::MaybeUninit::uninit();
1902 let ptr = UNINIT.as_ptr();
1903 assert_eq!(
1904 ::core::mem::size_of::<_NV_ENC_HEVC_MV_DATA>(),
1905 20usize,
1906 concat!("Size of: ", stringify!(_NV_ENC_HEVC_MV_DATA))
1907 );
1908 assert_eq!(
1909 ::core::mem::align_of::<_NV_ENC_HEVC_MV_DATA>(),
1910 2usize,
1911 concat!("Alignment of ", stringify!(_NV_ENC_HEVC_MV_DATA))
1912 );
1913 assert_eq!(
1914 unsafe { ::core::ptr::addr_of!((*ptr).mv) as usize - ptr as usize },
1915 0usize,
1916 concat!(
1917 "Offset of field: ",
1918 stringify!(_NV_ENC_HEVC_MV_DATA),
1919 "::",
1920 stringify!(mv)
1921 )
1922 );
1923 assert_eq!(
1924 unsafe { ::core::ptr::addr_of!((*ptr).cuType) as usize - ptr as usize },
1925 16usize,
1926 concat!(
1927 "Offset of field: ",
1928 stringify!(_NV_ENC_HEVC_MV_DATA),
1929 "::",
1930 stringify!(cuType)
1931 )
1932 );
1933 assert_eq!(
1934 unsafe { ::core::ptr::addr_of!((*ptr).cuSize) as usize - ptr as usize },
1935 17usize,
1936 concat!(
1937 "Offset of field: ",
1938 stringify!(_NV_ENC_HEVC_MV_DATA),
1939 "::",
1940 stringify!(cuSize)
1941 )
1942 );
1943 assert_eq!(
1944 unsafe { ::core::ptr::addr_of!((*ptr).partitionMode) as usize - ptr as usize },
1945 18usize,
1946 concat!(
1947 "Offset of field: ",
1948 stringify!(_NV_ENC_HEVC_MV_DATA),
1949 "::",
1950 stringify!(partitionMode)
1951 )
1952 );
1953 assert_eq!(
1954 unsafe { ::core::ptr::addr_of!((*ptr).lastCUInCTB) as usize - ptr as usize },
1955 19usize,
1956 concat!(
1957 "Offset of field: ",
1958 stringify!(_NV_ENC_HEVC_MV_DATA),
1959 "::",
1960 stringify!(lastCUInCTB)
1961 )
1962 );
1963}
1964#[test]
1965fn bindgen_test_layout__NV_ENC_CREATE_MV_BUFFER() {
1966 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CREATE_MV_BUFFER> =
1967 ::core::mem::MaybeUninit::uninit();
1968 let ptr = UNINIT.as_ptr();
1969 assert_eq!(
1970 ::core::mem::size_of::<_NV_ENC_CREATE_MV_BUFFER>(),
1971 1544usize,
1972 concat!("Size of: ", stringify!(_NV_ENC_CREATE_MV_BUFFER))
1973 );
1974 assert_eq!(
1975 ::core::mem::align_of::<_NV_ENC_CREATE_MV_BUFFER>(),
1976 8usize,
1977 concat!("Alignment of ", stringify!(_NV_ENC_CREATE_MV_BUFFER))
1978 );
1979 assert_eq!(
1980 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1981 0usize,
1982 concat!(
1983 "Offset of field: ",
1984 stringify!(_NV_ENC_CREATE_MV_BUFFER),
1985 "::",
1986 stringify!(version)
1987 )
1988 );
1989 assert_eq!(
1990 unsafe { ::core::ptr::addr_of!((*ptr).mvBuffer) as usize - ptr as usize },
1991 8usize,
1992 concat!(
1993 "Offset of field: ",
1994 stringify!(_NV_ENC_CREATE_MV_BUFFER),
1995 "::",
1996 stringify!(mvBuffer)
1997 )
1998 );
1999 assert_eq!(
2000 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
2001 16usize,
2002 concat!(
2003 "Offset of field: ",
2004 stringify!(_NV_ENC_CREATE_MV_BUFFER),
2005 "::",
2006 stringify!(reserved1)
2007 )
2008 );
2009 assert_eq!(
2010 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
2011 1040usize,
2012 concat!(
2013 "Offset of field: ",
2014 stringify!(_NV_ENC_CREATE_MV_BUFFER),
2015 "::",
2016 stringify!(reserved2)
2017 )
2018 );
2019}
2020#[test]
2021fn bindgen_test_layout__NV_ENC_QP() {
2022 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_QP> = ::core::mem::MaybeUninit::uninit();
2023 let ptr = UNINIT.as_ptr();
2024 assert_eq!(
2025 ::core::mem::size_of::<_NV_ENC_QP>(),
2026 12usize,
2027 concat!("Size of: ", stringify!(_NV_ENC_QP))
2028 );
2029 assert_eq!(
2030 ::core::mem::align_of::<_NV_ENC_QP>(),
2031 4usize,
2032 concat!("Alignment of ", stringify!(_NV_ENC_QP))
2033 );
2034 assert_eq!(
2035 unsafe { ::core::ptr::addr_of!((*ptr).qpInterP) as usize - ptr as usize },
2036 0usize,
2037 concat!(
2038 "Offset of field: ",
2039 stringify!(_NV_ENC_QP),
2040 "::",
2041 stringify!(qpInterP)
2042 )
2043 );
2044 assert_eq!(
2045 unsafe { ::core::ptr::addr_of!((*ptr).qpInterB) as usize - ptr as usize },
2046 4usize,
2047 concat!(
2048 "Offset of field: ",
2049 stringify!(_NV_ENC_QP),
2050 "::",
2051 stringify!(qpInterB)
2052 )
2053 );
2054 assert_eq!(
2055 unsafe { ::core::ptr::addr_of!((*ptr).qpIntra) as usize - ptr as usize },
2056 8usize,
2057 concat!(
2058 "Offset of field: ",
2059 stringify!(_NV_ENC_QP),
2060 "::",
2061 stringify!(qpIntra)
2062 )
2063 );
2064}
2065#[test]
2066fn bindgen_test_layout__NV_ENC_RC_PARAMS() {
2067 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_RC_PARAMS> = ::core::mem::MaybeUninit::uninit();
2068 let ptr = UNINIT.as_ptr();
2069 assert_eq!(
2070 ::core::mem::size_of::<_NV_ENC_RC_PARAMS>(),
2071 128usize,
2072 concat!("Size of: ", stringify!(_NV_ENC_RC_PARAMS))
2073 );
2074 assert_eq!(
2075 ::core::mem::align_of::<_NV_ENC_RC_PARAMS>(),
2076 4usize,
2077 concat!("Alignment of ", stringify!(_NV_ENC_RC_PARAMS))
2078 );
2079 assert_eq!(
2080 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2081 0usize,
2082 concat!(
2083 "Offset of field: ",
2084 stringify!(_NV_ENC_RC_PARAMS),
2085 "::",
2086 stringify!(version)
2087 )
2088 );
2089 assert_eq!(
2090 unsafe { ::core::ptr::addr_of!((*ptr).rateControlMode) as usize - ptr as usize },
2091 4usize,
2092 concat!(
2093 "Offset of field: ",
2094 stringify!(_NV_ENC_RC_PARAMS),
2095 "::",
2096 stringify!(rateControlMode)
2097 )
2098 );
2099 assert_eq!(
2100 unsafe { ::core::ptr::addr_of!((*ptr).constQP) as usize - ptr as usize },
2101 8usize,
2102 concat!(
2103 "Offset of field: ",
2104 stringify!(_NV_ENC_RC_PARAMS),
2105 "::",
2106 stringify!(constQP)
2107 )
2108 );
2109 assert_eq!(
2110 unsafe { ::core::ptr::addr_of!((*ptr).averageBitRate) as usize - ptr as usize },
2111 20usize,
2112 concat!(
2113 "Offset of field: ",
2114 stringify!(_NV_ENC_RC_PARAMS),
2115 "::",
2116 stringify!(averageBitRate)
2117 )
2118 );
2119 assert_eq!(
2120 unsafe { ::core::ptr::addr_of!((*ptr).maxBitRate) as usize - ptr as usize },
2121 24usize,
2122 concat!(
2123 "Offset of field: ",
2124 stringify!(_NV_ENC_RC_PARAMS),
2125 "::",
2126 stringify!(maxBitRate)
2127 )
2128 );
2129 assert_eq!(
2130 unsafe { ::core::ptr::addr_of!((*ptr).vbvBufferSize) as usize - ptr as usize },
2131 28usize,
2132 concat!(
2133 "Offset of field: ",
2134 stringify!(_NV_ENC_RC_PARAMS),
2135 "::",
2136 stringify!(vbvBufferSize)
2137 )
2138 );
2139 assert_eq!(
2140 unsafe { ::core::ptr::addr_of!((*ptr).vbvInitialDelay) as usize - ptr as usize },
2141 32usize,
2142 concat!(
2143 "Offset of field: ",
2144 stringify!(_NV_ENC_RC_PARAMS),
2145 "::",
2146 stringify!(vbvInitialDelay)
2147 )
2148 );
2149 assert_eq!(
2150 unsafe { ::core::ptr::addr_of!((*ptr).minQP) as usize - ptr as usize },
2151 40usize,
2152 concat!(
2153 "Offset of field: ",
2154 stringify!(_NV_ENC_RC_PARAMS),
2155 "::",
2156 stringify!(minQP)
2157 )
2158 );
2159 assert_eq!(
2160 unsafe { ::core::ptr::addr_of!((*ptr).maxQP) as usize - ptr as usize },
2161 52usize,
2162 concat!(
2163 "Offset of field: ",
2164 stringify!(_NV_ENC_RC_PARAMS),
2165 "::",
2166 stringify!(maxQP)
2167 )
2168 );
2169 assert_eq!(
2170 unsafe { ::core::ptr::addr_of!((*ptr).initialRCQP) as usize - ptr as usize },
2171 64usize,
2172 concat!(
2173 "Offset of field: ",
2174 stringify!(_NV_ENC_RC_PARAMS),
2175 "::",
2176 stringify!(initialRCQP)
2177 )
2178 );
2179 assert_eq!(
2180 unsafe { ::core::ptr::addr_of!((*ptr).temporallayerIdxMask) as usize - ptr as usize },
2181 76usize,
2182 concat!(
2183 "Offset of field: ",
2184 stringify!(_NV_ENC_RC_PARAMS),
2185 "::",
2186 stringify!(temporallayerIdxMask)
2187 )
2188 );
2189 assert_eq!(
2190 unsafe { ::core::ptr::addr_of!((*ptr).temporalLayerQP) as usize - ptr as usize },
2191 80usize,
2192 concat!(
2193 "Offset of field: ",
2194 stringify!(_NV_ENC_RC_PARAMS),
2195 "::",
2196 stringify!(temporalLayerQP)
2197 )
2198 );
2199 assert_eq!(
2200 unsafe { ::core::ptr::addr_of!((*ptr).targetQuality) as usize - ptr as usize },
2201 88usize,
2202 concat!(
2203 "Offset of field: ",
2204 stringify!(_NV_ENC_RC_PARAMS),
2205 "::",
2206 stringify!(targetQuality)
2207 )
2208 );
2209 assert_eq!(
2210 unsafe { ::core::ptr::addr_of!((*ptr).targetQualityLSB) as usize - ptr as usize },
2211 89usize,
2212 concat!(
2213 "Offset of field: ",
2214 stringify!(_NV_ENC_RC_PARAMS),
2215 "::",
2216 stringify!(targetQualityLSB)
2217 )
2218 );
2219 assert_eq!(
2220 unsafe { ::core::ptr::addr_of!((*ptr).lookaheadDepth) as usize - ptr as usize },
2221 90usize,
2222 concat!(
2223 "Offset of field: ",
2224 stringify!(_NV_ENC_RC_PARAMS),
2225 "::",
2226 stringify!(lookaheadDepth)
2227 )
2228 );
2229 assert_eq!(
2230 unsafe { ::core::ptr::addr_of!((*ptr).lowDelayKeyFrameScale) as usize - ptr as usize },
2231 92usize,
2232 concat!(
2233 "Offset of field: ",
2234 stringify!(_NV_ENC_RC_PARAMS),
2235 "::",
2236 stringify!(lowDelayKeyFrameScale)
2237 )
2238 );
2239 assert_eq!(
2240 unsafe { ::core::ptr::addr_of!((*ptr).yDcQPIndexOffset) as usize - ptr as usize },
2241 93usize,
2242 concat!(
2243 "Offset of field: ",
2244 stringify!(_NV_ENC_RC_PARAMS),
2245 "::",
2246 stringify!(yDcQPIndexOffset)
2247 )
2248 );
2249 assert_eq!(
2250 unsafe { ::core::ptr::addr_of!((*ptr).uDcQPIndexOffset) as usize - ptr as usize },
2251 94usize,
2252 concat!(
2253 "Offset of field: ",
2254 stringify!(_NV_ENC_RC_PARAMS),
2255 "::",
2256 stringify!(uDcQPIndexOffset)
2257 )
2258 );
2259 assert_eq!(
2260 unsafe { ::core::ptr::addr_of!((*ptr).vDcQPIndexOffset) as usize - ptr as usize },
2261 95usize,
2262 concat!(
2263 "Offset of field: ",
2264 stringify!(_NV_ENC_RC_PARAMS),
2265 "::",
2266 stringify!(vDcQPIndexOffset)
2267 )
2268 );
2269 assert_eq!(
2270 unsafe { ::core::ptr::addr_of!((*ptr).qpMapMode) as usize - ptr as usize },
2271 96usize,
2272 concat!(
2273 "Offset of field: ",
2274 stringify!(_NV_ENC_RC_PARAMS),
2275 "::",
2276 stringify!(qpMapMode)
2277 )
2278 );
2279 assert_eq!(
2280 unsafe { ::core::ptr::addr_of!((*ptr).multiPass) as usize - ptr as usize },
2281 100usize,
2282 concat!(
2283 "Offset of field: ",
2284 stringify!(_NV_ENC_RC_PARAMS),
2285 "::",
2286 stringify!(multiPass)
2287 )
2288 );
2289 assert_eq!(
2290 unsafe { ::core::ptr::addr_of!((*ptr).alphaLayerBitrateRatio) as usize - ptr as usize },
2291 104usize,
2292 concat!(
2293 "Offset of field: ",
2294 stringify!(_NV_ENC_RC_PARAMS),
2295 "::",
2296 stringify!(alphaLayerBitrateRatio)
2297 )
2298 );
2299 assert_eq!(
2300 unsafe { ::core::ptr::addr_of!((*ptr).cbQPIndexOffset) as usize - ptr as usize },
2301 108usize,
2302 concat!(
2303 "Offset of field: ",
2304 stringify!(_NV_ENC_RC_PARAMS),
2305 "::",
2306 stringify!(cbQPIndexOffset)
2307 )
2308 );
2309 assert_eq!(
2310 unsafe { ::core::ptr::addr_of!((*ptr).crQPIndexOffset) as usize - ptr as usize },
2311 109usize,
2312 concat!(
2313 "Offset of field: ",
2314 stringify!(_NV_ENC_RC_PARAMS),
2315 "::",
2316 stringify!(crQPIndexOffset)
2317 )
2318 );
2319 assert_eq!(
2320 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
2321 110usize,
2322 concat!(
2323 "Offset of field: ",
2324 stringify!(_NV_ENC_RC_PARAMS),
2325 "::",
2326 stringify!(reserved2)
2327 )
2328 );
2329 assert_eq!(
2330 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
2331 112usize,
2332 concat!(
2333 "Offset of field: ",
2334 stringify!(_NV_ENC_RC_PARAMS),
2335 "::",
2336 stringify!(reserved)
2337 )
2338 );
2339}
2340#[test]
2341fn bindgen_test_layout__NV_ENC_CLOCK_TIMESTAMP_SET() {
2342 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CLOCK_TIMESTAMP_SET> =
2343 ::core::mem::MaybeUninit::uninit();
2344 let ptr = UNINIT.as_ptr();
2345 assert_eq!(
2346 ::core::mem::size_of::<_NV_ENC_CLOCK_TIMESTAMP_SET>(),
2347 8usize,
2348 concat!("Size of: ", stringify!(_NV_ENC_CLOCK_TIMESTAMP_SET))
2349 );
2350 assert_eq!(
2351 ::core::mem::align_of::<_NV_ENC_CLOCK_TIMESTAMP_SET>(),
2352 4usize,
2353 concat!("Alignment of ", stringify!(_NV_ENC_CLOCK_TIMESTAMP_SET))
2354 );
2355 assert_eq!(
2356 unsafe { ::core::ptr::addr_of!((*ptr).timeOffset) as usize - ptr as usize },
2357 4usize,
2358 concat!(
2359 "Offset of field: ",
2360 stringify!(_NV_ENC_CLOCK_TIMESTAMP_SET),
2361 "::",
2362 stringify!(timeOffset)
2363 )
2364 );
2365}
2366#[test]
2367fn bindgen_test_layout__NV_ENC_TIME_CODE() {
2368 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_TIME_CODE> = ::core::mem::MaybeUninit::uninit();
2369 let ptr = UNINIT.as_ptr();
2370 assert_eq!(
2371 ::core::mem::size_of::<_NV_ENC_TIME_CODE>(),
2372 28usize,
2373 concat!("Size of: ", stringify!(_NV_ENC_TIME_CODE))
2374 );
2375 assert_eq!(
2376 ::core::mem::align_of::<_NV_ENC_TIME_CODE>(),
2377 4usize,
2378 concat!("Alignment of ", stringify!(_NV_ENC_TIME_CODE))
2379 );
2380 assert_eq!(
2381 unsafe { ::core::ptr::addr_of!((*ptr).displayPicStruct) as usize - ptr as usize },
2382 0usize,
2383 concat!(
2384 "Offset of field: ",
2385 stringify!(_NV_ENC_TIME_CODE),
2386 "::",
2387 stringify!(displayPicStruct)
2388 )
2389 );
2390 assert_eq!(
2391 unsafe { ::core::ptr::addr_of!((*ptr).clockTimestamp) as usize - ptr as usize },
2392 4usize,
2393 concat!(
2394 "Offset of field: ",
2395 stringify!(_NV_ENC_TIME_CODE),
2396 "::",
2397 stringify!(clockTimestamp)
2398 )
2399 );
2400}
2401#[test]
2402fn bindgen_test_layout__NV_ENC_CONFIG_H264_VUI_PARAMETERS() {
2403 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CONFIG_H264_VUI_PARAMETERS> =
2404 ::core::mem::MaybeUninit::uninit();
2405 let ptr = UNINIT.as_ptr();
2406 assert_eq!(
2407 ::core::mem::size_of::<_NV_ENC_CONFIG_H264_VUI_PARAMETERS>(),
2408 112usize,
2409 concat!("Size of: ", stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS))
2410 );
2411 assert_eq!(
2412 ::core::mem::align_of::<_NV_ENC_CONFIG_H264_VUI_PARAMETERS>(),
2413 4usize,
2414 concat!(
2415 "Alignment of ",
2416 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS)
2417 )
2418 );
2419 assert_eq!(
2420 unsafe { ::core::ptr::addr_of!((*ptr).overscanInfoPresentFlag) as usize - ptr as usize },
2421 0usize,
2422 concat!(
2423 "Offset of field: ",
2424 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2425 "::",
2426 stringify!(overscanInfoPresentFlag)
2427 )
2428 );
2429 assert_eq!(
2430 unsafe { ::core::ptr::addr_of!((*ptr).overscanInfo) as usize - ptr as usize },
2431 4usize,
2432 concat!(
2433 "Offset of field: ",
2434 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2435 "::",
2436 stringify!(overscanInfo)
2437 )
2438 );
2439 assert_eq!(
2440 unsafe { ::core::ptr::addr_of!((*ptr).videoSignalTypePresentFlag) as usize - ptr as usize },
2441 8usize,
2442 concat!(
2443 "Offset of field: ",
2444 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2445 "::",
2446 stringify!(videoSignalTypePresentFlag)
2447 )
2448 );
2449 assert_eq!(
2450 unsafe { ::core::ptr::addr_of!((*ptr).videoFormat) as usize - ptr as usize },
2451 12usize,
2452 concat!(
2453 "Offset of field: ",
2454 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2455 "::",
2456 stringify!(videoFormat)
2457 )
2458 );
2459 assert_eq!(
2460 unsafe { ::core::ptr::addr_of!((*ptr).videoFullRangeFlag) as usize - ptr as usize },
2461 16usize,
2462 concat!(
2463 "Offset of field: ",
2464 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2465 "::",
2466 stringify!(videoFullRangeFlag)
2467 )
2468 );
2469 assert_eq!(
2470 unsafe {
2471 ::core::ptr::addr_of!((*ptr).colourDescriptionPresentFlag) as usize - ptr as usize
2472 },
2473 20usize,
2474 concat!(
2475 "Offset of field: ",
2476 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2477 "::",
2478 stringify!(colourDescriptionPresentFlag)
2479 )
2480 );
2481 assert_eq!(
2482 unsafe { ::core::ptr::addr_of!((*ptr).colourPrimaries) as usize - ptr as usize },
2483 24usize,
2484 concat!(
2485 "Offset of field: ",
2486 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2487 "::",
2488 stringify!(colourPrimaries)
2489 )
2490 );
2491 assert_eq!(
2492 unsafe { ::core::ptr::addr_of!((*ptr).transferCharacteristics) as usize - ptr as usize },
2493 28usize,
2494 concat!(
2495 "Offset of field: ",
2496 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2497 "::",
2498 stringify!(transferCharacteristics)
2499 )
2500 );
2501 assert_eq!(
2502 unsafe { ::core::ptr::addr_of!((*ptr).colourMatrix) as usize - ptr as usize },
2503 32usize,
2504 concat!(
2505 "Offset of field: ",
2506 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2507 "::",
2508 stringify!(colourMatrix)
2509 )
2510 );
2511 assert_eq!(
2512 unsafe { ::core::ptr::addr_of!((*ptr).chromaSampleLocationFlag) as usize - ptr as usize },
2513 36usize,
2514 concat!(
2515 "Offset of field: ",
2516 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2517 "::",
2518 stringify!(chromaSampleLocationFlag)
2519 )
2520 );
2521 assert_eq!(
2522 unsafe { ::core::ptr::addr_of!((*ptr).chromaSampleLocationTop) as usize - ptr as usize },
2523 40usize,
2524 concat!(
2525 "Offset of field: ",
2526 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2527 "::",
2528 stringify!(chromaSampleLocationTop)
2529 )
2530 );
2531 assert_eq!(
2532 unsafe { ::core::ptr::addr_of!((*ptr).chromaSampleLocationBot) as usize - ptr as usize },
2533 44usize,
2534 concat!(
2535 "Offset of field: ",
2536 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2537 "::",
2538 stringify!(chromaSampleLocationBot)
2539 )
2540 );
2541 assert_eq!(
2542 unsafe { ::core::ptr::addr_of!((*ptr).bitstreamRestrictionFlag) as usize - ptr as usize },
2543 48usize,
2544 concat!(
2545 "Offset of field: ",
2546 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2547 "::",
2548 stringify!(bitstreamRestrictionFlag)
2549 )
2550 );
2551 assert_eq!(
2552 unsafe { ::core::ptr::addr_of!((*ptr).timingInfoPresentFlag) as usize - ptr as usize },
2553 52usize,
2554 concat!(
2555 "Offset of field: ",
2556 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2557 "::",
2558 stringify!(timingInfoPresentFlag)
2559 )
2560 );
2561 assert_eq!(
2562 unsafe { ::core::ptr::addr_of!((*ptr).numUnitInTicks) as usize - ptr as usize },
2563 56usize,
2564 concat!(
2565 "Offset of field: ",
2566 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2567 "::",
2568 stringify!(numUnitInTicks)
2569 )
2570 );
2571 assert_eq!(
2572 unsafe { ::core::ptr::addr_of!((*ptr).timeScale) as usize - ptr as usize },
2573 60usize,
2574 concat!(
2575 "Offset of field: ",
2576 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2577 "::",
2578 stringify!(timeScale)
2579 )
2580 );
2581 assert_eq!(
2582 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
2583 64usize,
2584 concat!(
2585 "Offset of field: ",
2586 stringify!(_NV_ENC_CONFIG_H264_VUI_PARAMETERS),
2587 "::",
2588 stringify!(reserved)
2589 )
2590 );
2591}
2592#[test]
2593fn bindgen_test_layout__NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE() {
2594 const UNINIT: ::core::mem::MaybeUninit<_NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE> =
2595 ::core::mem::MaybeUninit::uninit();
2596 let ptr = UNINIT.as_ptr();
2597 assert_eq!(
2598 ::core::mem::size_of::<_NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE>(),
2599 16usize,
2600 concat!(
2601 "Size of: ",
2602 stringify!(_NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE)
2603 )
2604 );
2605 assert_eq!(
2606 ::core::mem::align_of::<_NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE>(),
2607 4usize,
2608 concat!(
2609 "Alignment of ",
2610 stringify!(_NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE)
2611 )
2612 );
2613 assert_eq!(
2614 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
2615 4usize,
2616 concat!(
2617 "Offset of field: ",
2618 stringify!(_NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE),
2619 "::",
2620 stringify!(reserved1)
2621 )
2622 );
2623}
2624#[test]
2625fn bindgen_test_layout__NVENC_EXTERNAL_ME_HINT() {
2626 assert_eq!(
2627 ::core::mem::size_of::<_NVENC_EXTERNAL_ME_HINT>(),
2628 4usize,
2629 concat!("Size of: ", stringify!(_NVENC_EXTERNAL_ME_HINT))
2630 );
2631 assert_eq!(
2632 ::core::mem::align_of::<_NVENC_EXTERNAL_ME_HINT>(),
2633 4usize,
2634 concat!("Alignment of ", stringify!(_NVENC_EXTERNAL_ME_HINT))
2635 );
2636}
2637#[test]
2638fn bindgen_test_layout__NVENC_EXTERNAL_ME_SB_HINT() {
2639 assert_eq!(
2640 ::core::mem::size_of::<_NVENC_EXTERNAL_ME_SB_HINT>(),
2641 6usize,
2642 concat!("Size of: ", stringify!(_NVENC_EXTERNAL_ME_SB_HINT))
2643 );
2644 assert_eq!(
2645 ::core::mem::align_of::<_NVENC_EXTERNAL_ME_SB_HINT>(),
2646 2usize,
2647 concat!("Alignment of ", stringify!(_NVENC_EXTERNAL_ME_SB_HINT))
2648 );
2649}
2650#[test]
2651fn bindgen_test_layout__NV_ENC_CONFIG_H264() {
2652 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CONFIG_H264> =
2653 ::core::mem::MaybeUninit::uninit();
2654 let ptr = UNINIT.as_ptr();
2655 assert_eq!(
2656 ::core::mem::size_of::<_NV_ENC_CONFIG_H264>(),
2657 1792usize,
2658 concat!("Size of: ", stringify!(_NV_ENC_CONFIG_H264))
2659 );
2660 assert_eq!(
2661 ::core::mem::align_of::<_NV_ENC_CONFIG_H264>(),
2662 8usize,
2663 concat!("Alignment of ", stringify!(_NV_ENC_CONFIG_H264))
2664 );
2665 assert_eq!(
2666 unsafe { ::core::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
2667 4usize,
2668 concat!(
2669 "Offset of field: ",
2670 stringify!(_NV_ENC_CONFIG_H264),
2671 "::",
2672 stringify!(level)
2673 )
2674 );
2675 assert_eq!(
2676 unsafe { ::core::ptr::addr_of!((*ptr).idrPeriod) as usize - ptr as usize },
2677 8usize,
2678 concat!(
2679 "Offset of field: ",
2680 stringify!(_NV_ENC_CONFIG_H264),
2681 "::",
2682 stringify!(idrPeriod)
2683 )
2684 );
2685 assert_eq!(
2686 unsafe { ::core::ptr::addr_of!((*ptr).separateColourPlaneFlag) as usize - ptr as usize },
2687 12usize,
2688 concat!(
2689 "Offset of field: ",
2690 stringify!(_NV_ENC_CONFIG_H264),
2691 "::",
2692 stringify!(separateColourPlaneFlag)
2693 )
2694 );
2695 assert_eq!(
2696 unsafe { ::core::ptr::addr_of!((*ptr).disableDeblockingFilterIDC) as usize - ptr as usize },
2697 16usize,
2698 concat!(
2699 "Offset of field: ",
2700 stringify!(_NV_ENC_CONFIG_H264),
2701 "::",
2702 stringify!(disableDeblockingFilterIDC)
2703 )
2704 );
2705 assert_eq!(
2706 unsafe { ::core::ptr::addr_of!((*ptr).numTemporalLayers) as usize - ptr as usize },
2707 20usize,
2708 concat!(
2709 "Offset of field: ",
2710 stringify!(_NV_ENC_CONFIG_H264),
2711 "::",
2712 stringify!(numTemporalLayers)
2713 )
2714 );
2715 assert_eq!(
2716 unsafe { ::core::ptr::addr_of!((*ptr).spsId) as usize - ptr as usize },
2717 24usize,
2718 concat!(
2719 "Offset of field: ",
2720 stringify!(_NV_ENC_CONFIG_H264),
2721 "::",
2722 stringify!(spsId)
2723 )
2724 );
2725 assert_eq!(
2726 unsafe { ::core::ptr::addr_of!((*ptr).ppsId) as usize - ptr as usize },
2727 28usize,
2728 concat!(
2729 "Offset of field: ",
2730 stringify!(_NV_ENC_CONFIG_H264),
2731 "::",
2732 stringify!(ppsId)
2733 )
2734 );
2735 assert_eq!(
2736 unsafe { ::core::ptr::addr_of!((*ptr).adaptiveTransformMode) as usize - ptr as usize },
2737 32usize,
2738 concat!(
2739 "Offset of field: ",
2740 stringify!(_NV_ENC_CONFIG_H264),
2741 "::",
2742 stringify!(adaptiveTransformMode)
2743 )
2744 );
2745 assert_eq!(
2746 unsafe { ::core::ptr::addr_of!((*ptr).fmoMode) as usize - ptr as usize },
2747 36usize,
2748 concat!(
2749 "Offset of field: ",
2750 stringify!(_NV_ENC_CONFIG_H264),
2751 "::",
2752 stringify!(fmoMode)
2753 )
2754 );
2755 assert_eq!(
2756 unsafe { ::core::ptr::addr_of!((*ptr).bdirectMode) as usize - ptr as usize },
2757 40usize,
2758 concat!(
2759 "Offset of field: ",
2760 stringify!(_NV_ENC_CONFIG_H264),
2761 "::",
2762 stringify!(bdirectMode)
2763 )
2764 );
2765 assert_eq!(
2766 unsafe { ::core::ptr::addr_of!((*ptr).entropyCodingMode) as usize - ptr as usize },
2767 44usize,
2768 concat!(
2769 "Offset of field: ",
2770 stringify!(_NV_ENC_CONFIG_H264),
2771 "::",
2772 stringify!(entropyCodingMode)
2773 )
2774 );
2775 assert_eq!(
2776 unsafe { ::core::ptr::addr_of!((*ptr).stereoMode) as usize - ptr as usize },
2777 48usize,
2778 concat!(
2779 "Offset of field: ",
2780 stringify!(_NV_ENC_CONFIG_H264),
2781 "::",
2782 stringify!(stereoMode)
2783 )
2784 );
2785 assert_eq!(
2786 unsafe { ::core::ptr::addr_of!((*ptr).intraRefreshPeriod) as usize - ptr as usize },
2787 52usize,
2788 concat!(
2789 "Offset of field: ",
2790 stringify!(_NV_ENC_CONFIG_H264),
2791 "::",
2792 stringify!(intraRefreshPeriod)
2793 )
2794 );
2795 assert_eq!(
2796 unsafe { ::core::ptr::addr_of!((*ptr).intraRefreshCnt) as usize - ptr as usize },
2797 56usize,
2798 concat!(
2799 "Offset of field: ",
2800 stringify!(_NV_ENC_CONFIG_H264),
2801 "::",
2802 stringify!(intraRefreshCnt)
2803 )
2804 );
2805 assert_eq!(
2806 unsafe { ::core::ptr::addr_of!((*ptr).maxNumRefFrames) as usize - ptr as usize },
2807 60usize,
2808 concat!(
2809 "Offset of field: ",
2810 stringify!(_NV_ENC_CONFIG_H264),
2811 "::",
2812 stringify!(maxNumRefFrames)
2813 )
2814 );
2815 assert_eq!(
2816 unsafe { ::core::ptr::addr_of!((*ptr).sliceMode) as usize - ptr as usize },
2817 64usize,
2818 concat!(
2819 "Offset of field: ",
2820 stringify!(_NV_ENC_CONFIG_H264),
2821 "::",
2822 stringify!(sliceMode)
2823 )
2824 );
2825 assert_eq!(
2826 unsafe { ::core::ptr::addr_of!((*ptr).sliceModeData) as usize - ptr as usize },
2827 68usize,
2828 concat!(
2829 "Offset of field: ",
2830 stringify!(_NV_ENC_CONFIG_H264),
2831 "::",
2832 stringify!(sliceModeData)
2833 )
2834 );
2835 assert_eq!(
2836 unsafe { ::core::ptr::addr_of!((*ptr).h264VUIParameters) as usize - ptr as usize },
2837 72usize,
2838 concat!(
2839 "Offset of field: ",
2840 stringify!(_NV_ENC_CONFIG_H264),
2841 "::",
2842 stringify!(h264VUIParameters)
2843 )
2844 );
2845 assert_eq!(
2846 unsafe { ::core::ptr::addr_of!((*ptr).ltrNumFrames) as usize - ptr as usize },
2847 184usize,
2848 concat!(
2849 "Offset of field: ",
2850 stringify!(_NV_ENC_CONFIG_H264),
2851 "::",
2852 stringify!(ltrNumFrames)
2853 )
2854 );
2855 assert_eq!(
2856 unsafe { ::core::ptr::addr_of!((*ptr).ltrTrustMode) as usize - ptr as usize },
2857 188usize,
2858 concat!(
2859 "Offset of field: ",
2860 stringify!(_NV_ENC_CONFIG_H264),
2861 "::",
2862 stringify!(ltrTrustMode)
2863 )
2864 );
2865 assert_eq!(
2866 unsafe { ::core::ptr::addr_of!((*ptr).chromaFormatIDC) as usize - ptr as usize },
2867 192usize,
2868 concat!(
2869 "Offset of field: ",
2870 stringify!(_NV_ENC_CONFIG_H264),
2871 "::",
2872 stringify!(chromaFormatIDC)
2873 )
2874 );
2875 assert_eq!(
2876 unsafe { ::core::ptr::addr_of!((*ptr).maxTemporalLayers) as usize - ptr as usize },
2877 196usize,
2878 concat!(
2879 "Offset of field: ",
2880 stringify!(_NV_ENC_CONFIG_H264),
2881 "::",
2882 stringify!(maxTemporalLayers)
2883 )
2884 );
2885 assert_eq!(
2886 unsafe { ::core::ptr::addr_of!((*ptr).useBFramesAsRef) as usize - ptr as usize },
2887 200usize,
2888 concat!(
2889 "Offset of field: ",
2890 stringify!(_NV_ENC_CONFIG_H264),
2891 "::",
2892 stringify!(useBFramesAsRef)
2893 )
2894 );
2895 assert_eq!(
2896 unsafe { ::core::ptr::addr_of!((*ptr).numRefL0) as usize - ptr as usize },
2897 204usize,
2898 concat!(
2899 "Offset of field: ",
2900 stringify!(_NV_ENC_CONFIG_H264),
2901 "::",
2902 stringify!(numRefL0)
2903 )
2904 );
2905 assert_eq!(
2906 unsafe { ::core::ptr::addr_of!((*ptr).numRefL1) as usize - ptr as usize },
2907 208usize,
2908 concat!(
2909 "Offset of field: ",
2910 stringify!(_NV_ENC_CONFIG_H264),
2911 "::",
2912 stringify!(numRefL1)
2913 )
2914 );
2915 assert_eq!(
2916 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
2917 212usize,
2918 concat!(
2919 "Offset of field: ",
2920 stringify!(_NV_ENC_CONFIG_H264),
2921 "::",
2922 stringify!(reserved1)
2923 )
2924 );
2925 assert_eq!(
2926 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
2927 1280usize,
2928 concat!(
2929 "Offset of field: ",
2930 stringify!(_NV_ENC_CONFIG_H264),
2931 "::",
2932 stringify!(reserved2)
2933 )
2934 );
2935}
2936#[test]
2937fn bindgen_test_layout__NV_ENC_CONFIG_HEVC() {
2938 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CONFIG_HEVC> =
2939 ::core::mem::MaybeUninit::uninit();
2940 let ptr = UNINIT.as_ptr();
2941 assert_eq!(
2942 ::core::mem::size_of::<_NV_ENC_CONFIG_HEVC>(),
2943 1560usize,
2944 concat!("Size of: ", stringify!(_NV_ENC_CONFIG_HEVC))
2945 );
2946 assert_eq!(
2947 ::core::mem::align_of::<_NV_ENC_CONFIG_HEVC>(),
2948 8usize,
2949 concat!("Alignment of ", stringify!(_NV_ENC_CONFIG_HEVC))
2950 );
2951 assert_eq!(
2952 unsafe { ::core::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
2953 0usize,
2954 concat!(
2955 "Offset of field: ",
2956 stringify!(_NV_ENC_CONFIG_HEVC),
2957 "::",
2958 stringify!(level)
2959 )
2960 );
2961 assert_eq!(
2962 unsafe { ::core::ptr::addr_of!((*ptr).tier) as usize - ptr as usize },
2963 4usize,
2964 concat!(
2965 "Offset of field: ",
2966 stringify!(_NV_ENC_CONFIG_HEVC),
2967 "::",
2968 stringify!(tier)
2969 )
2970 );
2971 assert_eq!(
2972 unsafe { ::core::ptr::addr_of!((*ptr).minCUSize) as usize - ptr as usize },
2973 8usize,
2974 concat!(
2975 "Offset of field: ",
2976 stringify!(_NV_ENC_CONFIG_HEVC),
2977 "::",
2978 stringify!(minCUSize)
2979 )
2980 );
2981 assert_eq!(
2982 unsafe { ::core::ptr::addr_of!((*ptr).maxCUSize) as usize - ptr as usize },
2983 12usize,
2984 concat!(
2985 "Offset of field: ",
2986 stringify!(_NV_ENC_CONFIG_HEVC),
2987 "::",
2988 stringify!(maxCUSize)
2989 )
2990 );
2991 assert_eq!(
2992 unsafe { ::core::ptr::addr_of!((*ptr).idrPeriod) as usize - ptr as usize },
2993 20usize,
2994 concat!(
2995 "Offset of field: ",
2996 stringify!(_NV_ENC_CONFIG_HEVC),
2997 "::",
2998 stringify!(idrPeriod)
2999 )
3000 );
3001 assert_eq!(
3002 unsafe { ::core::ptr::addr_of!((*ptr).intraRefreshPeriod) as usize - ptr as usize },
3003 24usize,
3004 concat!(
3005 "Offset of field: ",
3006 stringify!(_NV_ENC_CONFIG_HEVC),
3007 "::",
3008 stringify!(intraRefreshPeriod)
3009 )
3010 );
3011 assert_eq!(
3012 unsafe { ::core::ptr::addr_of!((*ptr).intraRefreshCnt) as usize - ptr as usize },
3013 28usize,
3014 concat!(
3015 "Offset of field: ",
3016 stringify!(_NV_ENC_CONFIG_HEVC),
3017 "::",
3018 stringify!(intraRefreshCnt)
3019 )
3020 );
3021 assert_eq!(
3022 unsafe { ::core::ptr::addr_of!((*ptr).maxNumRefFramesInDPB) as usize - ptr as usize },
3023 32usize,
3024 concat!(
3025 "Offset of field: ",
3026 stringify!(_NV_ENC_CONFIG_HEVC),
3027 "::",
3028 stringify!(maxNumRefFramesInDPB)
3029 )
3030 );
3031 assert_eq!(
3032 unsafe { ::core::ptr::addr_of!((*ptr).ltrNumFrames) as usize - ptr as usize },
3033 36usize,
3034 concat!(
3035 "Offset of field: ",
3036 stringify!(_NV_ENC_CONFIG_HEVC),
3037 "::",
3038 stringify!(ltrNumFrames)
3039 )
3040 );
3041 assert_eq!(
3042 unsafe { ::core::ptr::addr_of!((*ptr).vpsId) as usize - ptr as usize },
3043 40usize,
3044 concat!(
3045 "Offset of field: ",
3046 stringify!(_NV_ENC_CONFIG_HEVC),
3047 "::",
3048 stringify!(vpsId)
3049 )
3050 );
3051 assert_eq!(
3052 unsafe { ::core::ptr::addr_of!((*ptr).spsId) as usize - ptr as usize },
3053 44usize,
3054 concat!(
3055 "Offset of field: ",
3056 stringify!(_NV_ENC_CONFIG_HEVC),
3057 "::",
3058 stringify!(spsId)
3059 )
3060 );
3061 assert_eq!(
3062 unsafe { ::core::ptr::addr_of!((*ptr).ppsId) as usize - ptr as usize },
3063 48usize,
3064 concat!(
3065 "Offset of field: ",
3066 stringify!(_NV_ENC_CONFIG_HEVC),
3067 "::",
3068 stringify!(ppsId)
3069 )
3070 );
3071 assert_eq!(
3072 unsafe { ::core::ptr::addr_of!((*ptr).sliceMode) as usize - ptr as usize },
3073 52usize,
3074 concat!(
3075 "Offset of field: ",
3076 stringify!(_NV_ENC_CONFIG_HEVC),
3077 "::",
3078 stringify!(sliceMode)
3079 )
3080 );
3081 assert_eq!(
3082 unsafe { ::core::ptr::addr_of!((*ptr).sliceModeData) as usize - ptr as usize },
3083 56usize,
3084 concat!(
3085 "Offset of field: ",
3086 stringify!(_NV_ENC_CONFIG_HEVC),
3087 "::",
3088 stringify!(sliceModeData)
3089 )
3090 );
3091 assert_eq!(
3092 unsafe { ::core::ptr::addr_of!((*ptr).maxTemporalLayersMinus1) as usize - ptr as usize },
3093 60usize,
3094 concat!(
3095 "Offset of field: ",
3096 stringify!(_NV_ENC_CONFIG_HEVC),
3097 "::",
3098 stringify!(maxTemporalLayersMinus1)
3099 )
3100 );
3101 assert_eq!(
3102 unsafe { ::core::ptr::addr_of!((*ptr).hevcVUIParameters) as usize - ptr as usize },
3103 64usize,
3104 concat!(
3105 "Offset of field: ",
3106 stringify!(_NV_ENC_CONFIG_HEVC),
3107 "::",
3108 stringify!(hevcVUIParameters)
3109 )
3110 );
3111 assert_eq!(
3112 unsafe { ::core::ptr::addr_of!((*ptr).ltrTrustMode) as usize - ptr as usize },
3113 176usize,
3114 concat!(
3115 "Offset of field: ",
3116 stringify!(_NV_ENC_CONFIG_HEVC),
3117 "::",
3118 stringify!(ltrTrustMode)
3119 )
3120 );
3121 assert_eq!(
3122 unsafe { ::core::ptr::addr_of!((*ptr).useBFramesAsRef) as usize - ptr as usize },
3123 180usize,
3124 concat!(
3125 "Offset of field: ",
3126 stringify!(_NV_ENC_CONFIG_HEVC),
3127 "::",
3128 stringify!(useBFramesAsRef)
3129 )
3130 );
3131 assert_eq!(
3132 unsafe { ::core::ptr::addr_of!((*ptr).numRefL0) as usize - ptr as usize },
3133 184usize,
3134 concat!(
3135 "Offset of field: ",
3136 stringify!(_NV_ENC_CONFIG_HEVC),
3137 "::",
3138 stringify!(numRefL0)
3139 )
3140 );
3141 assert_eq!(
3142 unsafe { ::core::ptr::addr_of!((*ptr).numRefL1) as usize - ptr as usize },
3143 188usize,
3144 concat!(
3145 "Offset of field: ",
3146 stringify!(_NV_ENC_CONFIG_HEVC),
3147 "::",
3148 stringify!(numRefL1)
3149 )
3150 );
3151 assert_eq!(
3152 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
3153 192usize,
3154 concat!(
3155 "Offset of field: ",
3156 stringify!(_NV_ENC_CONFIG_HEVC),
3157 "::",
3158 stringify!(reserved1)
3159 )
3160 );
3161 assert_eq!(
3162 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
3163 1048usize,
3164 concat!(
3165 "Offset of field: ",
3166 stringify!(_NV_ENC_CONFIG_HEVC),
3167 "::",
3168 stringify!(reserved2)
3169 )
3170 );
3171}
3172#[test]
3173fn bindgen_test_layout__NV_ENC_FILM_GRAIN_PARAMS_AV1() {
3174 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_FILM_GRAIN_PARAMS_AV1> =
3175 ::core::mem::MaybeUninit::uninit();
3176 let ptr = UNINIT.as_ptr();
3177 assert_eq!(
3178 ::core::mem::size_of::<_NV_ENC_FILM_GRAIN_PARAMS_AV1>(),
3179 156usize,
3180 concat!("Size of: ", stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1))
3181 );
3182 assert_eq!(
3183 ::core::mem::align_of::<_NV_ENC_FILM_GRAIN_PARAMS_AV1>(),
3184 4usize,
3185 concat!("Alignment of ", stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1))
3186 );
3187 assert_eq!(
3188 unsafe { ::core::ptr::addr_of!((*ptr).pointYValue) as usize - ptr as usize },
3189 4usize,
3190 concat!(
3191 "Offset of field: ",
3192 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3193 "::",
3194 stringify!(pointYValue)
3195 )
3196 );
3197 assert_eq!(
3198 unsafe { ::core::ptr::addr_of!((*ptr).pointYScaling) as usize - ptr as usize },
3199 18usize,
3200 concat!(
3201 "Offset of field: ",
3202 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3203 "::",
3204 stringify!(pointYScaling)
3205 )
3206 );
3207 assert_eq!(
3208 unsafe { ::core::ptr::addr_of!((*ptr).pointCbValue) as usize - ptr as usize },
3209 32usize,
3210 concat!(
3211 "Offset of field: ",
3212 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3213 "::",
3214 stringify!(pointCbValue)
3215 )
3216 );
3217 assert_eq!(
3218 unsafe { ::core::ptr::addr_of!((*ptr).pointCbScaling) as usize - ptr as usize },
3219 42usize,
3220 concat!(
3221 "Offset of field: ",
3222 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3223 "::",
3224 stringify!(pointCbScaling)
3225 )
3226 );
3227 assert_eq!(
3228 unsafe { ::core::ptr::addr_of!((*ptr).pointCrValue) as usize - ptr as usize },
3229 52usize,
3230 concat!(
3231 "Offset of field: ",
3232 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3233 "::",
3234 stringify!(pointCrValue)
3235 )
3236 );
3237 assert_eq!(
3238 unsafe { ::core::ptr::addr_of!((*ptr).pointCrScaling) as usize - ptr as usize },
3239 62usize,
3240 concat!(
3241 "Offset of field: ",
3242 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3243 "::",
3244 stringify!(pointCrScaling)
3245 )
3246 );
3247 assert_eq!(
3248 unsafe { ::core::ptr::addr_of!((*ptr).arCoeffsYPlus128) as usize - ptr as usize },
3249 72usize,
3250 concat!(
3251 "Offset of field: ",
3252 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3253 "::",
3254 stringify!(arCoeffsYPlus128)
3255 )
3256 );
3257 assert_eq!(
3258 unsafe { ::core::ptr::addr_of!((*ptr).arCoeffsCbPlus128) as usize - ptr as usize },
3259 96usize,
3260 concat!(
3261 "Offset of field: ",
3262 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3263 "::",
3264 stringify!(arCoeffsCbPlus128)
3265 )
3266 );
3267 assert_eq!(
3268 unsafe { ::core::ptr::addr_of!((*ptr).arCoeffsCrPlus128) as usize - ptr as usize },
3269 121usize,
3270 concat!(
3271 "Offset of field: ",
3272 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3273 "::",
3274 stringify!(arCoeffsCrPlus128)
3275 )
3276 );
3277 assert_eq!(
3278 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
3279 146usize,
3280 concat!(
3281 "Offset of field: ",
3282 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3283 "::",
3284 stringify!(reserved2)
3285 )
3286 );
3287 assert_eq!(
3288 unsafe { ::core::ptr::addr_of!((*ptr).cbMult) as usize - ptr as usize },
3289 148usize,
3290 concat!(
3291 "Offset of field: ",
3292 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3293 "::",
3294 stringify!(cbMult)
3295 )
3296 );
3297 assert_eq!(
3298 unsafe { ::core::ptr::addr_of!((*ptr).cbLumaMult) as usize - ptr as usize },
3299 149usize,
3300 concat!(
3301 "Offset of field: ",
3302 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3303 "::",
3304 stringify!(cbLumaMult)
3305 )
3306 );
3307 assert_eq!(
3308 unsafe { ::core::ptr::addr_of!((*ptr).cbOffset) as usize - ptr as usize },
3309 150usize,
3310 concat!(
3311 "Offset of field: ",
3312 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3313 "::",
3314 stringify!(cbOffset)
3315 )
3316 );
3317 assert_eq!(
3318 unsafe { ::core::ptr::addr_of!((*ptr).crMult) as usize - ptr as usize },
3319 152usize,
3320 concat!(
3321 "Offset of field: ",
3322 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3323 "::",
3324 stringify!(crMult)
3325 )
3326 );
3327 assert_eq!(
3328 unsafe { ::core::ptr::addr_of!((*ptr).crLumaMult) as usize - ptr as usize },
3329 153usize,
3330 concat!(
3331 "Offset of field: ",
3332 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3333 "::",
3334 stringify!(crLumaMult)
3335 )
3336 );
3337 assert_eq!(
3338 unsafe { ::core::ptr::addr_of!((*ptr).crOffset) as usize - ptr as usize },
3339 154usize,
3340 concat!(
3341 "Offset of field: ",
3342 stringify!(_NV_ENC_FILM_GRAIN_PARAMS_AV1),
3343 "::",
3344 stringify!(crOffset)
3345 )
3346 );
3347}
3348#[test]
3349fn bindgen_test_layout__NV_ENC_CONFIG_AV1() {
3350 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CONFIG_AV1> = ::core::mem::MaybeUninit::uninit();
3351 let ptr = UNINIT.as_ptr();
3352 assert_eq!(
3353 ::core::mem::size_of::<_NV_ENC_CONFIG_AV1>(),
3354 1552usize,
3355 concat!("Size of: ", stringify!(_NV_ENC_CONFIG_AV1))
3356 );
3357 assert_eq!(
3358 ::core::mem::align_of::<_NV_ENC_CONFIG_AV1>(),
3359 8usize,
3360 concat!("Alignment of ", stringify!(_NV_ENC_CONFIG_AV1))
3361 );
3362 assert_eq!(
3363 unsafe { ::core::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
3364 0usize,
3365 concat!(
3366 "Offset of field: ",
3367 stringify!(_NV_ENC_CONFIG_AV1),
3368 "::",
3369 stringify!(level)
3370 )
3371 );
3372 assert_eq!(
3373 unsafe { ::core::ptr::addr_of!((*ptr).tier) as usize - ptr as usize },
3374 4usize,
3375 concat!(
3376 "Offset of field: ",
3377 stringify!(_NV_ENC_CONFIG_AV1),
3378 "::",
3379 stringify!(tier)
3380 )
3381 );
3382 assert_eq!(
3383 unsafe { ::core::ptr::addr_of!((*ptr).minPartSize) as usize - ptr as usize },
3384 8usize,
3385 concat!(
3386 "Offset of field: ",
3387 stringify!(_NV_ENC_CONFIG_AV1),
3388 "::",
3389 stringify!(minPartSize)
3390 )
3391 );
3392 assert_eq!(
3393 unsafe { ::core::ptr::addr_of!((*ptr).maxPartSize) as usize - ptr as usize },
3394 12usize,
3395 concat!(
3396 "Offset of field: ",
3397 stringify!(_NV_ENC_CONFIG_AV1),
3398 "::",
3399 stringify!(maxPartSize)
3400 )
3401 );
3402 assert_eq!(
3403 unsafe { ::core::ptr::addr_of!((*ptr).idrPeriod) as usize - ptr as usize },
3404 20usize,
3405 concat!(
3406 "Offset of field: ",
3407 stringify!(_NV_ENC_CONFIG_AV1),
3408 "::",
3409 stringify!(idrPeriod)
3410 )
3411 );
3412 assert_eq!(
3413 unsafe { ::core::ptr::addr_of!((*ptr).intraRefreshPeriod) as usize - ptr as usize },
3414 24usize,
3415 concat!(
3416 "Offset of field: ",
3417 stringify!(_NV_ENC_CONFIG_AV1),
3418 "::",
3419 stringify!(intraRefreshPeriod)
3420 )
3421 );
3422 assert_eq!(
3423 unsafe { ::core::ptr::addr_of!((*ptr).intraRefreshCnt) as usize - ptr as usize },
3424 28usize,
3425 concat!(
3426 "Offset of field: ",
3427 stringify!(_NV_ENC_CONFIG_AV1),
3428 "::",
3429 stringify!(intraRefreshCnt)
3430 )
3431 );
3432 assert_eq!(
3433 unsafe { ::core::ptr::addr_of!((*ptr).maxNumRefFramesInDPB) as usize - ptr as usize },
3434 32usize,
3435 concat!(
3436 "Offset of field: ",
3437 stringify!(_NV_ENC_CONFIG_AV1),
3438 "::",
3439 stringify!(maxNumRefFramesInDPB)
3440 )
3441 );
3442 assert_eq!(
3443 unsafe { ::core::ptr::addr_of!((*ptr).numTileColumns) as usize - ptr as usize },
3444 36usize,
3445 concat!(
3446 "Offset of field: ",
3447 stringify!(_NV_ENC_CONFIG_AV1),
3448 "::",
3449 stringify!(numTileColumns)
3450 )
3451 );
3452 assert_eq!(
3453 unsafe { ::core::ptr::addr_of!((*ptr).numTileRows) as usize - ptr as usize },
3454 40usize,
3455 concat!(
3456 "Offset of field: ",
3457 stringify!(_NV_ENC_CONFIG_AV1),
3458 "::",
3459 stringify!(numTileRows)
3460 )
3461 );
3462 assert_eq!(
3463 unsafe { ::core::ptr::addr_of!((*ptr).tileWidths) as usize - ptr as usize },
3464 48usize,
3465 concat!(
3466 "Offset of field: ",
3467 stringify!(_NV_ENC_CONFIG_AV1),
3468 "::",
3469 stringify!(tileWidths)
3470 )
3471 );
3472 assert_eq!(
3473 unsafe { ::core::ptr::addr_of!((*ptr).tileHeights) as usize - ptr as usize },
3474 56usize,
3475 concat!(
3476 "Offset of field: ",
3477 stringify!(_NV_ENC_CONFIG_AV1),
3478 "::",
3479 stringify!(tileHeights)
3480 )
3481 );
3482 assert_eq!(
3483 unsafe { ::core::ptr::addr_of!((*ptr).maxTemporalLayersMinus1) as usize - ptr as usize },
3484 64usize,
3485 concat!(
3486 "Offset of field: ",
3487 stringify!(_NV_ENC_CONFIG_AV1),
3488 "::",
3489 stringify!(maxTemporalLayersMinus1)
3490 )
3491 );
3492 assert_eq!(
3493 unsafe { ::core::ptr::addr_of!((*ptr).colorPrimaries) as usize - ptr as usize },
3494 68usize,
3495 concat!(
3496 "Offset of field: ",
3497 stringify!(_NV_ENC_CONFIG_AV1),
3498 "::",
3499 stringify!(colorPrimaries)
3500 )
3501 );
3502 assert_eq!(
3503 unsafe { ::core::ptr::addr_of!((*ptr).transferCharacteristics) as usize - ptr as usize },
3504 72usize,
3505 concat!(
3506 "Offset of field: ",
3507 stringify!(_NV_ENC_CONFIG_AV1),
3508 "::",
3509 stringify!(transferCharacteristics)
3510 )
3511 );
3512 assert_eq!(
3513 unsafe { ::core::ptr::addr_of!((*ptr).matrixCoefficients) as usize - ptr as usize },
3514 76usize,
3515 concat!(
3516 "Offset of field: ",
3517 stringify!(_NV_ENC_CONFIG_AV1),
3518 "::",
3519 stringify!(matrixCoefficients)
3520 )
3521 );
3522 assert_eq!(
3523 unsafe { ::core::ptr::addr_of!((*ptr).colorRange) as usize - ptr as usize },
3524 80usize,
3525 concat!(
3526 "Offset of field: ",
3527 stringify!(_NV_ENC_CONFIG_AV1),
3528 "::",
3529 stringify!(colorRange)
3530 )
3531 );
3532 assert_eq!(
3533 unsafe { ::core::ptr::addr_of!((*ptr).chromaSamplePosition) as usize - ptr as usize },
3534 84usize,
3535 concat!(
3536 "Offset of field: ",
3537 stringify!(_NV_ENC_CONFIG_AV1),
3538 "::",
3539 stringify!(chromaSamplePosition)
3540 )
3541 );
3542 assert_eq!(
3543 unsafe { ::core::ptr::addr_of!((*ptr).useBFramesAsRef) as usize - ptr as usize },
3544 88usize,
3545 concat!(
3546 "Offset of field: ",
3547 stringify!(_NV_ENC_CONFIG_AV1),
3548 "::",
3549 stringify!(useBFramesAsRef)
3550 )
3551 );
3552 assert_eq!(
3553 unsafe { ::core::ptr::addr_of!((*ptr).filmGrainParams) as usize - ptr as usize },
3554 96usize,
3555 concat!(
3556 "Offset of field: ",
3557 stringify!(_NV_ENC_CONFIG_AV1),
3558 "::",
3559 stringify!(filmGrainParams)
3560 )
3561 );
3562 assert_eq!(
3563 unsafe { ::core::ptr::addr_of!((*ptr).numFwdRefs) as usize - ptr as usize },
3564 104usize,
3565 concat!(
3566 "Offset of field: ",
3567 stringify!(_NV_ENC_CONFIG_AV1),
3568 "::",
3569 stringify!(numFwdRefs)
3570 )
3571 );
3572 assert_eq!(
3573 unsafe { ::core::ptr::addr_of!((*ptr).numBwdRefs) as usize - ptr as usize },
3574 108usize,
3575 concat!(
3576 "Offset of field: ",
3577 stringify!(_NV_ENC_CONFIG_AV1),
3578 "::",
3579 stringify!(numBwdRefs)
3580 )
3581 );
3582 assert_eq!(
3583 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
3584 112usize,
3585 concat!(
3586 "Offset of field: ",
3587 stringify!(_NV_ENC_CONFIG_AV1),
3588 "::",
3589 stringify!(reserved1)
3590 )
3591 );
3592 assert_eq!(
3593 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
3594 1056usize,
3595 concat!(
3596 "Offset of field: ",
3597 stringify!(_NV_ENC_CONFIG_AV1),
3598 "::",
3599 stringify!(reserved2)
3600 )
3601 );
3602}
3603#[test]
3604fn bindgen_test_layout__NV_ENC_CONFIG_H264_MEONLY() {
3605 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CONFIG_H264_MEONLY> =
3606 ::core::mem::MaybeUninit::uninit();
3607 let ptr = UNINIT.as_ptr();
3608 assert_eq!(
3609 ::core::mem::size_of::<_NV_ENC_CONFIG_H264_MEONLY>(),
3610 1536usize,
3611 concat!("Size of: ", stringify!(_NV_ENC_CONFIG_H264_MEONLY))
3612 );
3613 assert_eq!(
3614 ::core::mem::align_of::<_NV_ENC_CONFIG_H264_MEONLY>(),
3615 8usize,
3616 concat!("Alignment of ", stringify!(_NV_ENC_CONFIG_H264_MEONLY))
3617 );
3618 assert_eq!(
3619 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
3620 4usize,
3621 concat!(
3622 "Offset of field: ",
3623 stringify!(_NV_ENC_CONFIG_H264_MEONLY),
3624 "::",
3625 stringify!(reserved1)
3626 )
3627 );
3628 assert_eq!(
3629 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
3630 1024usize,
3631 concat!(
3632 "Offset of field: ",
3633 stringify!(_NV_ENC_CONFIG_H264_MEONLY),
3634 "::",
3635 stringify!(reserved2)
3636 )
3637 );
3638}
3639#[test]
3640fn bindgen_test_layout__NV_ENC_CONFIG_HEVC_MEONLY() {
3641 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CONFIG_HEVC_MEONLY> =
3642 ::core::mem::MaybeUninit::uninit();
3643 let ptr = UNINIT.as_ptr();
3644 assert_eq!(
3645 ::core::mem::size_of::<_NV_ENC_CONFIG_HEVC_MEONLY>(),
3646 1536usize,
3647 concat!("Size of: ", stringify!(_NV_ENC_CONFIG_HEVC_MEONLY))
3648 );
3649 assert_eq!(
3650 ::core::mem::align_of::<_NV_ENC_CONFIG_HEVC_MEONLY>(),
3651 8usize,
3652 concat!("Alignment of ", stringify!(_NV_ENC_CONFIG_HEVC_MEONLY))
3653 );
3654 assert_eq!(
3655 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
3656 0usize,
3657 concat!(
3658 "Offset of field: ",
3659 stringify!(_NV_ENC_CONFIG_HEVC_MEONLY),
3660 "::",
3661 stringify!(reserved)
3662 )
3663 );
3664 assert_eq!(
3665 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
3666 1024usize,
3667 concat!(
3668 "Offset of field: ",
3669 stringify!(_NV_ENC_CONFIG_HEVC_MEONLY),
3670 "::",
3671 stringify!(reserved1)
3672 )
3673 );
3674}
3675#[test]
3676fn bindgen_test_layout__NV_ENC_CODEC_CONFIG() {
3677 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CODEC_CONFIG> =
3678 ::core::mem::MaybeUninit::uninit();
3679 let ptr = UNINIT.as_ptr();
3680 assert_eq!(
3681 ::core::mem::size_of::<_NV_ENC_CODEC_CONFIG>(),
3682 1792usize,
3683 concat!("Size of: ", stringify!(_NV_ENC_CODEC_CONFIG))
3684 );
3685 assert_eq!(
3686 ::core::mem::align_of::<_NV_ENC_CODEC_CONFIG>(),
3687 8usize,
3688 concat!("Alignment of ", stringify!(_NV_ENC_CODEC_CONFIG))
3689 );
3690 assert_eq!(
3691 unsafe { ::core::ptr::addr_of!((*ptr).h264Config) as usize - ptr as usize },
3692 0usize,
3693 concat!(
3694 "Offset of field: ",
3695 stringify!(_NV_ENC_CODEC_CONFIG),
3696 "::",
3697 stringify!(h264Config)
3698 )
3699 );
3700 assert_eq!(
3701 unsafe { ::core::ptr::addr_of!((*ptr).hevcConfig) as usize - ptr as usize },
3702 0usize,
3703 concat!(
3704 "Offset of field: ",
3705 stringify!(_NV_ENC_CODEC_CONFIG),
3706 "::",
3707 stringify!(hevcConfig)
3708 )
3709 );
3710 assert_eq!(
3711 unsafe { ::core::ptr::addr_of!((*ptr).av1Config) as usize - ptr as usize },
3712 0usize,
3713 concat!(
3714 "Offset of field: ",
3715 stringify!(_NV_ENC_CODEC_CONFIG),
3716 "::",
3717 stringify!(av1Config)
3718 )
3719 );
3720 assert_eq!(
3721 unsafe { ::core::ptr::addr_of!((*ptr).h264MeOnlyConfig) as usize - ptr as usize },
3722 0usize,
3723 concat!(
3724 "Offset of field: ",
3725 stringify!(_NV_ENC_CODEC_CONFIG),
3726 "::",
3727 stringify!(h264MeOnlyConfig)
3728 )
3729 );
3730 assert_eq!(
3731 unsafe { ::core::ptr::addr_of!((*ptr).hevcMeOnlyConfig) as usize - ptr as usize },
3732 0usize,
3733 concat!(
3734 "Offset of field: ",
3735 stringify!(_NV_ENC_CODEC_CONFIG),
3736 "::",
3737 stringify!(hevcMeOnlyConfig)
3738 )
3739 );
3740 assert_eq!(
3741 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
3742 0usize,
3743 concat!(
3744 "Offset of field: ",
3745 stringify!(_NV_ENC_CODEC_CONFIG),
3746 "::",
3747 stringify!(reserved)
3748 )
3749 );
3750}
3751#[test]
3752fn bindgen_test_layout__NV_ENC_CONFIG() {
3753 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CONFIG> = ::core::mem::MaybeUninit::uninit();
3754 let ptr = UNINIT.as_ptr();
3755 assert_eq!(
3756 ::core::mem::size_of::<_NV_ENC_CONFIG>(),
3757 3584usize,
3758 concat!("Size of: ", stringify!(_NV_ENC_CONFIG))
3759 );
3760 assert_eq!(
3761 ::core::mem::align_of::<_NV_ENC_CONFIG>(),
3762 8usize,
3763 concat!("Alignment of ", stringify!(_NV_ENC_CONFIG))
3764 );
3765 assert_eq!(
3766 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
3767 0usize,
3768 concat!(
3769 "Offset of field: ",
3770 stringify!(_NV_ENC_CONFIG),
3771 "::",
3772 stringify!(version)
3773 )
3774 );
3775 assert_eq!(
3776 unsafe { ::core::ptr::addr_of!((*ptr).profileGUID) as usize - ptr as usize },
3777 4usize,
3778 concat!(
3779 "Offset of field: ",
3780 stringify!(_NV_ENC_CONFIG),
3781 "::",
3782 stringify!(profileGUID)
3783 )
3784 );
3785 assert_eq!(
3786 unsafe { ::core::ptr::addr_of!((*ptr).gopLength) as usize - ptr as usize },
3787 20usize,
3788 concat!(
3789 "Offset of field: ",
3790 stringify!(_NV_ENC_CONFIG),
3791 "::",
3792 stringify!(gopLength)
3793 )
3794 );
3795 assert_eq!(
3796 unsafe { ::core::ptr::addr_of!((*ptr).frameIntervalP) as usize - ptr as usize },
3797 24usize,
3798 concat!(
3799 "Offset of field: ",
3800 stringify!(_NV_ENC_CONFIG),
3801 "::",
3802 stringify!(frameIntervalP)
3803 )
3804 );
3805 assert_eq!(
3806 unsafe { ::core::ptr::addr_of!((*ptr).monoChromeEncoding) as usize - ptr as usize },
3807 28usize,
3808 concat!(
3809 "Offset of field: ",
3810 stringify!(_NV_ENC_CONFIG),
3811 "::",
3812 stringify!(monoChromeEncoding)
3813 )
3814 );
3815 assert_eq!(
3816 unsafe { ::core::ptr::addr_of!((*ptr).frameFieldMode) as usize - ptr as usize },
3817 32usize,
3818 concat!(
3819 "Offset of field: ",
3820 stringify!(_NV_ENC_CONFIG),
3821 "::",
3822 stringify!(frameFieldMode)
3823 )
3824 );
3825 assert_eq!(
3826 unsafe { ::core::ptr::addr_of!((*ptr).mvPrecision) as usize - ptr as usize },
3827 36usize,
3828 concat!(
3829 "Offset of field: ",
3830 stringify!(_NV_ENC_CONFIG),
3831 "::",
3832 stringify!(mvPrecision)
3833 )
3834 );
3835 assert_eq!(
3836 unsafe { ::core::ptr::addr_of!((*ptr).rcParams) as usize - ptr as usize },
3837 40usize,
3838 concat!(
3839 "Offset of field: ",
3840 stringify!(_NV_ENC_CONFIG),
3841 "::",
3842 stringify!(rcParams)
3843 )
3844 );
3845 assert_eq!(
3846 unsafe { ::core::ptr::addr_of!((*ptr).encodeCodecConfig) as usize - ptr as usize },
3847 168usize,
3848 concat!(
3849 "Offset of field: ",
3850 stringify!(_NV_ENC_CONFIG),
3851 "::",
3852 stringify!(encodeCodecConfig)
3853 )
3854 );
3855 assert_eq!(
3856 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
3857 1960usize,
3858 concat!(
3859 "Offset of field: ",
3860 stringify!(_NV_ENC_CONFIG),
3861 "::",
3862 stringify!(reserved)
3863 )
3864 );
3865 assert_eq!(
3866 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
3867 3072usize,
3868 concat!(
3869 "Offset of field: ",
3870 stringify!(_NV_ENC_CONFIG),
3871 "::",
3872 stringify!(reserved2)
3873 )
3874 );
3875}
3876#[test]
3877fn bindgen_test_layout__NV_ENC_INITIALIZE_PARAMS() {
3878 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_INITIALIZE_PARAMS> =
3879 ::core::mem::MaybeUninit::uninit();
3880 let ptr = UNINIT.as_ptr();
3881 assert_eq!(
3882 ::core::mem::size_of::<_NV_ENC_INITIALIZE_PARAMS>(),
3883 1808usize,
3884 concat!("Size of: ", stringify!(_NV_ENC_INITIALIZE_PARAMS))
3885 );
3886 assert_eq!(
3887 ::core::mem::align_of::<_NV_ENC_INITIALIZE_PARAMS>(),
3888 8usize,
3889 concat!("Alignment of ", stringify!(_NV_ENC_INITIALIZE_PARAMS))
3890 );
3891 assert_eq!(
3892 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
3893 0usize,
3894 concat!(
3895 "Offset of field: ",
3896 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3897 "::",
3898 stringify!(version)
3899 )
3900 );
3901 assert_eq!(
3902 unsafe { ::core::ptr::addr_of!((*ptr).encodeGUID) as usize - ptr as usize },
3903 4usize,
3904 concat!(
3905 "Offset of field: ",
3906 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3907 "::",
3908 stringify!(encodeGUID)
3909 )
3910 );
3911 assert_eq!(
3912 unsafe { ::core::ptr::addr_of!((*ptr).presetGUID) as usize - ptr as usize },
3913 20usize,
3914 concat!(
3915 "Offset of field: ",
3916 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3917 "::",
3918 stringify!(presetGUID)
3919 )
3920 );
3921 assert_eq!(
3922 unsafe { ::core::ptr::addr_of!((*ptr).encodeWidth) as usize - ptr as usize },
3923 36usize,
3924 concat!(
3925 "Offset of field: ",
3926 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3927 "::",
3928 stringify!(encodeWidth)
3929 )
3930 );
3931 assert_eq!(
3932 unsafe { ::core::ptr::addr_of!((*ptr).encodeHeight) as usize - ptr as usize },
3933 40usize,
3934 concat!(
3935 "Offset of field: ",
3936 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3937 "::",
3938 stringify!(encodeHeight)
3939 )
3940 );
3941 assert_eq!(
3942 unsafe { ::core::ptr::addr_of!((*ptr).darWidth) as usize - ptr as usize },
3943 44usize,
3944 concat!(
3945 "Offset of field: ",
3946 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3947 "::",
3948 stringify!(darWidth)
3949 )
3950 );
3951 assert_eq!(
3952 unsafe { ::core::ptr::addr_of!((*ptr).darHeight) as usize - ptr as usize },
3953 48usize,
3954 concat!(
3955 "Offset of field: ",
3956 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3957 "::",
3958 stringify!(darHeight)
3959 )
3960 );
3961 assert_eq!(
3962 unsafe { ::core::ptr::addr_of!((*ptr).frameRateNum) as usize - ptr as usize },
3963 52usize,
3964 concat!(
3965 "Offset of field: ",
3966 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3967 "::",
3968 stringify!(frameRateNum)
3969 )
3970 );
3971 assert_eq!(
3972 unsafe { ::core::ptr::addr_of!((*ptr).frameRateDen) as usize - ptr as usize },
3973 56usize,
3974 concat!(
3975 "Offset of field: ",
3976 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3977 "::",
3978 stringify!(frameRateDen)
3979 )
3980 );
3981 assert_eq!(
3982 unsafe { ::core::ptr::addr_of!((*ptr).enableEncodeAsync) as usize - ptr as usize },
3983 60usize,
3984 concat!(
3985 "Offset of field: ",
3986 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3987 "::",
3988 stringify!(enableEncodeAsync)
3989 )
3990 );
3991 assert_eq!(
3992 unsafe { ::core::ptr::addr_of!((*ptr).enablePTD) as usize - ptr as usize },
3993 64usize,
3994 concat!(
3995 "Offset of field: ",
3996 stringify!(_NV_ENC_INITIALIZE_PARAMS),
3997 "::",
3998 stringify!(enablePTD)
3999 )
4000 );
4001 assert_eq!(
4002 unsafe { ::core::ptr::addr_of!((*ptr).privDataSize) as usize - ptr as usize },
4003 72usize,
4004 concat!(
4005 "Offset of field: ",
4006 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4007 "::",
4008 stringify!(privDataSize)
4009 )
4010 );
4011 assert_eq!(
4012 unsafe { ::core::ptr::addr_of!((*ptr).privData) as usize - ptr as usize },
4013 80usize,
4014 concat!(
4015 "Offset of field: ",
4016 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4017 "::",
4018 stringify!(privData)
4019 )
4020 );
4021 assert_eq!(
4022 unsafe { ::core::ptr::addr_of!((*ptr).encodeConfig) as usize - ptr as usize },
4023 88usize,
4024 concat!(
4025 "Offset of field: ",
4026 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4027 "::",
4028 stringify!(encodeConfig)
4029 )
4030 );
4031 assert_eq!(
4032 unsafe { ::core::ptr::addr_of!((*ptr).maxEncodeWidth) as usize - ptr as usize },
4033 96usize,
4034 concat!(
4035 "Offset of field: ",
4036 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4037 "::",
4038 stringify!(maxEncodeWidth)
4039 )
4040 );
4041 assert_eq!(
4042 unsafe { ::core::ptr::addr_of!((*ptr).maxEncodeHeight) as usize - ptr as usize },
4043 100usize,
4044 concat!(
4045 "Offset of field: ",
4046 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4047 "::",
4048 stringify!(maxEncodeHeight)
4049 )
4050 );
4051 assert_eq!(
4052 unsafe { ::core::ptr::addr_of!((*ptr).maxMEHintCountsPerBlock) as usize - ptr as usize },
4053 104usize,
4054 concat!(
4055 "Offset of field: ",
4056 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4057 "::",
4058 stringify!(maxMEHintCountsPerBlock)
4059 )
4060 );
4061 assert_eq!(
4062 unsafe { ::core::ptr::addr_of!((*ptr).tuningInfo) as usize - ptr as usize },
4063 136usize,
4064 concat!(
4065 "Offset of field: ",
4066 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4067 "::",
4068 stringify!(tuningInfo)
4069 )
4070 );
4071 assert_eq!(
4072 unsafe { ::core::ptr::addr_of!((*ptr).bufferFormat) as usize - ptr as usize },
4073 140usize,
4074 concat!(
4075 "Offset of field: ",
4076 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4077 "::",
4078 stringify!(bufferFormat)
4079 )
4080 );
4081 assert_eq!(
4082 unsafe { ::core::ptr::addr_of!((*ptr).numStateBuffers) as usize - ptr as usize },
4083 144usize,
4084 concat!(
4085 "Offset of field: ",
4086 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4087 "::",
4088 stringify!(numStateBuffers)
4089 )
4090 );
4091 assert_eq!(
4092 unsafe { ::core::ptr::addr_of!((*ptr).outputStatsLevel) as usize - ptr as usize },
4093 148usize,
4094 concat!(
4095 "Offset of field: ",
4096 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4097 "::",
4098 stringify!(outputStatsLevel)
4099 )
4100 );
4101 assert_eq!(
4102 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
4103 152usize,
4104 concat!(
4105 "Offset of field: ",
4106 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4107 "::",
4108 stringify!(reserved)
4109 )
4110 );
4111 assert_eq!(
4112 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
4113 1296usize,
4114 concat!(
4115 "Offset of field: ",
4116 stringify!(_NV_ENC_INITIALIZE_PARAMS),
4117 "::",
4118 stringify!(reserved2)
4119 )
4120 );
4121}
4122#[test]
4123fn bindgen_test_layout__NV_ENC_RECONFIGURE_PARAMS() {
4124 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_RECONFIGURE_PARAMS> =
4125 ::core::mem::MaybeUninit::uninit();
4126 let ptr = UNINIT.as_ptr();
4127 assert_eq!(
4128 ::core::mem::size_of::<_NV_ENC_RECONFIGURE_PARAMS>(),
4129 1824usize,
4130 concat!("Size of: ", stringify!(_NV_ENC_RECONFIGURE_PARAMS))
4131 );
4132 assert_eq!(
4133 ::core::mem::align_of::<_NV_ENC_RECONFIGURE_PARAMS>(),
4134 8usize,
4135 concat!("Alignment of ", stringify!(_NV_ENC_RECONFIGURE_PARAMS))
4136 );
4137 assert_eq!(
4138 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
4139 0usize,
4140 concat!(
4141 "Offset of field: ",
4142 stringify!(_NV_ENC_RECONFIGURE_PARAMS),
4143 "::",
4144 stringify!(version)
4145 )
4146 );
4147 assert_eq!(
4148 unsafe { ::core::ptr::addr_of!((*ptr).reInitEncodeParams) as usize - ptr as usize },
4149 8usize,
4150 concat!(
4151 "Offset of field: ",
4152 stringify!(_NV_ENC_RECONFIGURE_PARAMS),
4153 "::",
4154 stringify!(reInitEncodeParams)
4155 )
4156 );
4157}
4158#[test]
4159fn bindgen_test_layout__NV_ENC_PRESET_CONFIG() {
4160 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_PRESET_CONFIG> =
4161 ::core::mem::MaybeUninit::uninit();
4162 let ptr = UNINIT.as_ptr();
4163 assert_eq!(
4164 ::core::mem::size_of::<_NV_ENC_PRESET_CONFIG>(),
4165 5128usize,
4166 concat!("Size of: ", stringify!(_NV_ENC_PRESET_CONFIG))
4167 );
4168 assert_eq!(
4169 ::core::mem::align_of::<_NV_ENC_PRESET_CONFIG>(),
4170 8usize,
4171 concat!("Alignment of ", stringify!(_NV_ENC_PRESET_CONFIG))
4172 );
4173 assert_eq!(
4174 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
4175 0usize,
4176 concat!(
4177 "Offset of field: ",
4178 stringify!(_NV_ENC_PRESET_CONFIG),
4179 "::",
4180 stringify!(version)
4181 )
4182 );
4183 assert_eq!(
4184 unsafe { ::core::ptr::addr_of!((*ptr).presetCfg) as usize - ptr as usize },
4185 8usize,
4186 concat!(
4187 "Offset of field: ",
4188 stringify!(_NV_ENC_PRESET_CONFIG),
4189 "::",
4190 stringify!(presetCfg)
4191 )
4192 );
4193 assert_eq!(
4194 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
4195 3592usize,
4196 concat!(
4197 "Offset of field: ",
4198 stringify!(_NV_ENC_PRESET_CONFIG),
4199 "::",
4200 stringify!(reserved1)
4201 )
4202 );
4203 assert_eq!(
4204 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
4205 4616usize,
4206 concat!(
4207 "Offset of field: ",
4208 stringify!(_NV_ENC_PRESET_CONFIG),
4209 "::",
4210 stringify!(reserved2)
4211 )
4212 );
4213}
4214#[test]
4215fn bindgen_test_layout__NV_ENC_PIC_PARAMS_MVC() {
4216 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_PIC_PARAMS_MVC> =
4217 ::core::mem::MaybeUninit::uninit();
4218 let ptr = UNINIT.as_ptr();
4219 assert_eq!(
4220 ::core::mem::size_of::<_NV_ENC_PIC_PARAMS_MVC>(),
4221 128usize,
4222 concat!("Size of: ", stringify!(_NV_ENC_PIC_PARAMS_MVC))
4223 );
4224 assert_eq!(
4225 ::core::mem::align_of::<_NV_ENC_PIC_PARAMS_MVC>(),
4226 8usize,
4227 concat!("Alignment of ", stringify!(_NV_ENC_PIC_PARAMS_MVC))
4228 );
4229 assert_eq!(
4230 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
4231 0usize,
4232 concat!(
4233 "Offset of field: ",
4234 stringify!(_NV_ENC_PIC_PARAMS_MVC),
4235 "::",
4236 stringify!(version)
4237 )
4238 );
4239 assert_eq!(
4240 unsafe { ::core::ptr::addr_of!((*ptr).viewID) as usize - ptr as usize },
4241 4usize,
4242 concat!(
4243 "Offset of field: ",
4244 stringify!(_NV_ENC_PIC_PARAMS_MVC),
4245 "::",
4246 stringify!(viewID)
4247 )
4248 );
4249 assert_eq!(
4250 unsafe { ::core::ptr::addr_of!((*ptr).temporalID) as usize - ptr as usize },
4251 8usize,
4252 concat!(
4253 "Offset of field: ",
4254 stringify!(_NV_ENC_PIC_PARAMS_MVC),
4255 "::",
4256 stringify!(temporalID)
4257 )
4258 );
4259 assert_eq!(
4260 unsafe { ::core::ptr::addr_of!((*ptr).priorityID) as usize - ptr as usize },
4261 12usize,
4262 concat!(
4263 "Offset of field: ",
4264 stringify!(_NV_ENC_PIC_PARAMS_MVC),
4265 "::",
4266 stringify!(priorityID)
4267 )
4268 );
4269 assert_eq!(
4270 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
4271 16usize,
4272 concat!(
4273 "Offset of field: ",
4274 stringify!(_NV_ENC_PIC_PARAMS_MVC),
4275 "::",
4276 stringify!(reserved1)
4277 )
4278 );
4279 assert_eq!(
4280 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
4281 64usize,
4282 concat!(
4283 "Offset of field: ",
4284 stringify!(_NV_ENC_PIC_PARAMS_MVC),
4285 "::",
4286 stringify!(reserved2)
4287 )
4288 );
4289}
4290#[test]
4291fn bindgen_test_layout__NV_ENC_PIC_PARAMS_H264_EXT() {
4292 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_PIC_PARAMS_H264_EXT> =
4293 ::core::mem::MaybeUninit::uninit();
4294 let ptr = UNINIT.as_ptr();
4295 assert_eq!(
4296 ::core::mem::size_of::<_NV_ENC_PIC_PARAMS_H264_EXT>(),
4297 128usize,
4298 concat!("Size of: ", stringify!(_NV_ENC_PIC_PARAMS_H264_EXT))
4299 );
4300 assert_eq!(
4301 ::core::mem::align_of::<_NV_ENC_PIC_PARAMS_H264_EXT>(),
4302 8usize,
4303 concat!("Alignment of ", stringify!(_NV_ENC_PIC_PARAMS_H264_EXT))
4304 );
4305 assert_eq!(
4306 unsafe { ::core::ptr::addr_of!((*ptr).mvcPicParams) as usize - ptr as usize },
4307 0usize,
4308 concat!(
4309 "Offset of field: ",
4310 stringify!(_NV_ENC_PIC_PARAMS_H264_EXT),
4311 "::",
4312 stringify!(mvcPicParams)
4313 )
4314 );
4315 assert_eq!(
4316 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
4317 0usize,
4318 concat!(
4319 "Offset of field: ",
4320 stringify!(_NV_ENC_PIC_PARAMS_H264_EXT),
4321 "::",
4322 stringify!(reserved1)
4323 )
4324 );
4325}
4326#[test]
4327fn bindgen_test_layout__NV_ENC_SEI_PAYLOAD() {
4328 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_SEI_PAYLOAD> =
4329 ::core::mem::MaybeUninit::uninit();
4330 let ptr = UNINIT.as_ptr();
4331 assert_eq!(
4332 ::core::mem::size_of::<_NV_ENC_SEI_PAYLOAD>(),
4333 16usize,
4334 concat!("Size of: ", stringify!(_NV_ENC_SEI_PAYLOAD))
4335 );
4336 assert_eq!(
4337 ::core::mem::align_of::<_NV_ENC_SEI_PAYLOAD>(),
4338 8usize,
4339 concat!("Alignment of ", stringify!(_NV_ENC_SEI_PAYLOAD))
4340 );
4341 assert_eq!(
4342 unsafe { ::core::ptr::addr_of!((*ptr).payloadSize) as usize - ptr as usize },
4343 0usize,
4344 concat!(
4345 "Offset of field: ",
4346 stringify!(_NV_ENC_SEI_PAYLOAD),
4347 "::",
4348 stringify!(payloadSize)
4349 )
4350 );
4351 assert_eq!(
4352 unsafe { ::core::ptr::addr_of!((*ptr).payloadType) as usize - ptr as usize },
4353 4usize,
4354 concat!(
4355 "Offset of field: ",
4356 stringify!(_NV_ENC_SEI_PAYLOAD),
4357 "::",
4358 stringify!(payloadType)
4359 )
4360 );
4361 assert_eq!(
4362 unsafe { ::core::ptr::addr_of!((*ptr).payload) as usize - ptr as usize },
4363 8usize,
4364 concat!(
4365 "Offset of field: ",
4366 stringify!(_NV_ENC_SEI_PAYLOAD),
4367 "::",
4368 stringify!(payload)
4369 )
4370 );
4371}
4372#[test]
4373fn bindgen_test_layout__NV_ENC_PIC_PARAMS_H264() {
4374 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_PIC_PARAMS_H264> =
4375 ::core::mem::MaybeUninit::uninit();
4376 let ptr = UNINIT.as_ptr();
4377 assert_eq!(
4378 ::core::mem::size_of::<_NV_ENC_PIC_PARAMS_H264>(),
4379 1536usize,
4380 concat!("Size of: ", stringify!(_NV_ENC_PIC_PARAMS_H264))
4381 );
4382 assert_eq!(
4383 ::core::mem::align_of::<_NV_ENC_PIC_PARAMS_H264>(),
4384 8usize,
4385 concat!("Alignment of ", stringify!(_NV_ENC_PIC_PARAMS_H264))
4386 );
4387 assert_eq!(
4388 unsafe { ::core::ptr::addr_of!((*ptr).displayPOCSyntax) as usize - ptr as usize },
4389 0usize,
4390 concat!(
4391 "Offset of field: ",
4392 stringify!(_NV_ENC_PIC_PARAMS_H264),
4393 "::",
4394 stringify!(displayPOCSyntax)
4395 )
4396 );
4397 assert_eq!(
4398 unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
4399 4usize,
4400 concat!(
4401 "Offset of field: ",
4402 stringify!(_NV_ENC_PIC_PARAMS_H264),
4403 "::",
4404 stringify!(reserved3)
4405 )
4406 );
4407 assert_eq!(
4408 unsafe { ::core::ptr::addr_of!((*ptr).refPicFlag) as usize - ptr as usize },
4409 8usize,
4410 concat!(
4411 "Offset of field: ",
4412 stringify!(_NV_ENC_PIC_PARAMS_H264),
4413 "::",
4414 stringify!(refPicFlag)
4415 )
4416 );
4417 assert_eq!(
4418 unsafe { ::core::ptr::addr_of!((*ptr).colourPlaneId) as usize - ptr as usize },
4419 12usize,
4420 concat!(
4421 "Offset of field: ",
4422 stringify!(_NV_ENC_PIC_PARAMS_H264),
4423 "::",
4424 stringify!(colourPlaneId)
4425 )
4426 );
4427 assert_eq!(
4428 unsafe {
4429 ::core::ptr::addr_of!((*ptr).forceIntraRefreshWithFrameCnt) as usize - ptr as usize
4430 },
4431 16usize,
4432 concat!(
4433 "Offset of field: ",
4434 stringify!(_NV_ENC_PIC_PARAMS_H264),
4435 "::",
4436 stringify!(forceIntraRefreshWithFrameCnt)
4437 )
4438 );
4439 assert_eq!(
4440 unsafe { ::core::ptr::addr_of!((*ptr).sliceTypeData) as usize - ptr as usize },
4441 24usize,
4442 concat!(
4443 "Offset of field: ",
4444 stringify!(_NV_ENC_PIC_PARAMS_H264),
4445 "::",
4446 stringify!(sliceTypeData)
4447 )
4448 );
4449 assert_eq!(
4450 unsafe { ::core::ptr::addr_of!((*ptr).sliceTypeArrayCnt) as usize - ptr as usize },
4451 32usize,
4452 concat!(
4453 "Offset of field: ",
4454 stringify!(_NV_ENC_PIC_PARAMS_H264),
4455 "::",
4456 stringify!(sliceTypeArrayCnt)
4457 )
4458 );
4459 assert_eq!(
4460 unsafe { ::core::ptr::addr_of!((*ptr).seiPayloadArrayCnt) as usize - ptr as usize },
4461 36usize,
4462 concat!(
4463 "Offset of field: ",
4464 stringify!(_NV_ENC_PIC_PARAMS_H264),
4465 "::",
4466 stringify!(seiPayloadArrayCnt)
4467 )
4468 );
4469 assert_eq!(
4470 unsafe { ::core::ptr::addr_of!((*ptr).seiPayloadArray) as usize - ptr as usize },
4471 40usize,
4472 concat!(
4473 "Offset of field: ",
4474 stringify!(_NV_ENC_PIC_PARAMS_H264),
4475 "::",
4476 stringify!(seiPayloadArray)
4477 )
4478 );
4479 assert_eq!(
4480 unsafe { ::core::ptr::addr_of!((*ptr).sliceMode) as usize - ptr as usize },
4481 48usize,
4482 concat!(
4483 "Offset of field: ",
4484 stringify!(_NV_ENC_PIC_PARAMS_H264),
4485 "::",
4486 stringify!(sliceMode)
4487 )
4488 );
4489 assert_eq!(
4490 unsafe { ::core::ptr::addr_of!((*ptr).sliceModeData) as usize - ptr as usize },
4491 52usize,
4492 concat!(
4493 "Offset of field: ",
4494 stringify!(_NV_ENC_PIC_PARAMS_H264),
4495 "::",
4496 stringify!(sliceModeData)
4497 )
4498 );
4499 assert_eq!(
4500 unsafe { ::core::ptr::addr_of!((*ptr).ltrMarkFrameIdx) as usize - ptr as usize },
4501 56usize,
4502 concat!(
4503 "Offset of field: ",
4504 stringify!(_NV_ENC_PIC_PARAMS_H264),
4505 "::",
4506 stringify!(ltrMarkFrameIdx)
4507 )
4508 );
4509 assert_eq!(
4510 unsafe { ::core::ptr::addr_of!((*ptr).ltrUseFrameBitmap) as usize - ptr as usize },
4511 60usize,
4512 concat!(
4513 "Offset of field: ",
4514 stringify!(_NV_ENC_PIC_PARAMS_H264),
4515 "::",
4516 stringify!(ltrUseFrameBitmap)
4517 )
4518 );
4519 assert_eq!(
4520 unsafe { ::core::ptr::addr_of!((*ptr).ltrUsageMode) as usize - ptr as usize },
4521 64usize,
4522 concat!(
4523 "Offset of field: ",
4524 stringify!(_NV_ENC_PIC_PARAMS_H264),
4525 "::",
4526 stringify!(ltrUsageMode)
4527 )
4528 );
4529 assert_eq!(
4530 unsafe { ::core::ptr::addr_of!((*ptr).forceIntraSliceCount) as usize - ptr as usize },
4531 68usize,
4532 concat!(
4533 "Offset of field: ",
4534 stringify!(_NV_ENC_PIC_PARAMS_H264),
4535 "::",
4536 stringify!(forceIntraSliceCount)
4537 )
4538 );
4539 assert_eq!(
4540 unsafe { ::core::ptr::addr_of!((*ptr).forceIntraSliceIdx) as usize - ptr as usize },
4541 72usize,
4542 concat!(
4543 "Offset of field: ",
4544 stringify!(_NV_ENC_PIC_PARAMS_H264),
4545 "::",
4546 stringify!(forceIntraSliceIdx)
4547 )
4548 );
4549 assert_eq!(
4550 unsafe { ::core::ptr::addr_of!((*ptr).h264ExtPicParams) as usize - ptr as usize },
4551 80usize,
4552 concat!(
4553 "Offset of field: ",
4554 stringify!(_NV_ENC_PIC_PARAMS_H264),
4555 "::",
4556 stringify!(h264ExtPicParams)
4557 )
4558 );
4559 assert_eq!(
4560 unsafe { ::core::ptr::addr_of!((*ptr).timeCode) as usize - ptr as usize },
4561 208usize,
4562 concat!(
4563 "Offset of field: ",
4564 stringify!(_NV_ENC_PIC_PARAMS_H264),
4565 "::",
4566 stringify!(timeCode)
4567 )
4568 );
4569 assert_eq!(
4570 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
4571 236usize,
4572 concat!(
4573 "Offset of field: ",
4574 stringify!(_NV_ENC_PIC_PARAMS_H264),
4575 "::",
4576 stringify!(reserved)
4577 )
4578 );
4579 assert_eq!(
4580 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
4581 1048usize,
4582 concat!(
4583 "Offset of field: ",
4584 stringify!(_NV_ENC_PIC_PARAMS_H264),
4585 "::",
4586 stringify!(reserved2)
4587 )
4588 );
4589}
4590#[test]
4591fn bindgen_test_layout__NV_ENC_PIC_PARAMS_HEVC() {
4592 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_PIC_PARAMS_HEVC> =
4593 ::core::mem::MaybeUninit::uninit();
4594 let ptr = UNINIT.as_ptr();
4595 assert_eq!(
4596 ::core::mem::size_of::<_NV_ENC_PIC_PARAMS_HEVC>(),
4597 1536usize,
4598 concat!("Size of: ", stringify!(_NV_ENC_PIC_PARAMS_HEVC))
4599 );
4600 assert_eq!(
4601 ::core::mem::align_of::<_NV_ENC_PIC_PARAMS_HEVC>(),
4602 8usize,
4603 concat!("Alignment of ", stringify!(_NV_ENC_PIC_PARAMS_HEVC))
4604 );
4605 assert_eq!(
4606 unsafe { ::core::ptr::addr_of!((*ptr).displayPOCSyntax) as usize - ptr as usize },
4607 0usize,
4608 concat!(
4609 "Offset of field: ",
4610 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4611 "::",
4612 stringify!(displayPOCSyntax)
4613 )
4614 );
4615 assert_eq!(
4616 unsafe { ::core::ptr::addr_of!((*ptr).refPicFlag) as usize - ptr as usize },
4617 4usize,
4618 concat!(
4619 "Offset of field: ",
4620 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4621 "::",
4622 stringify!(refPicFlag)
4623 )
4624 );
4625 assert_eq!(
4626 unsafe { ::core::ptr::addr_of!((*ptr).temporalId) as usize - ptr as usize },
4627 8usize,
4628 concat!(
4629 "Offset of field: ",
4630 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4631 "::",
4632 stringify!(temporalId)
4633 )
4634 );
4635 assert_eq!(
4636 unsafe {
4637 ::core::ptr::addr_of!((*ptr).forceIntraRefreshWithFrameCnt) as usize - ptr as usize
4638 },
4639 12usize,
4640 concat!(
4641 "Offset of field: ",
4642 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4643 "::",
4644 stringify!(forceIntraRefreshWithFrameCnt)
4645 )
4646 );
4647 assert_eq!(
4648 unsafe { ::core::ptr::addr_of!((*ptr).sliceTypeData) as usize - ptr as usize },
4649 24usize,
4650 concat!(
4651 "Offset of field: ",
4652 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4653 "::",
4654 stringify!(sliceTypeData)
4655 )
4656 );
4657 assert_eq!(
4658 unsafe { ::core::ptr::addr_of!((*ptr).sliceTypeArrayCnt) as usize - ptr as usize },
4659 32usize,
4660 concat!(
4661 "Offset of field: ",
4662 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4663 "::",
4664 stringify!(sliceTypeArrayCnt)
4665 )
4666 );
4667 assert_eq!(
4668 unsafe { ::core::ptr::addr_of!((*ptr).sliceMode) as usize - ptr as usize },
4669 36usize,
4670 concat!(
4671 "Offset of field: ",
4672 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4673 "::",
4674 stringify!(sliceMode)
4675 )
4676 );
4677 assert_eq!(
4678 unsafe { ::core::ptr::addr_of!((*ptr).sliceModeData) as usize - ptr as usize },
4679 40usize,
4680 concat!(
4681 "Offset of field: ",
4682 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4683 "::",
4684 stringify!(sliceModeData)
4685 )
4686 );
4687 assert_eq!(
4688 unsafe { ::core::ptr::addr_of!((*ptr).ltrMarkFrameIdx) as usize - ptr as usize },
4689 44usize,
4690 concat!(
4691 "Offset of field: ",
4692 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4693 "::",
4694 stringify!(ltrMarkFrameIdx)
4695 )
4696 );
4697 assert_eq!(
4698 unsafe { ::core::ptr::addr_of!((*ptr).ltrUseFrameBitmap) as usize - ptr as usize },
4699 48usize,
4700 concat!(
4701 "Offset of field: ",
4702 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4703 "::",
4704 stringify!(ltrUseFrameBitmap)
4705 )
4706 );
4707 assert_eq!(
4708 unsafe { ::core::ptr::addr_of!((*ptr).ltrUsageMode) as usize - ptr as usize },
4709 52usize,
4710 concat!(
4711 "Offset of field: ",
4712 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4713 "::",
4714 stringify!(ltrUsageMode)
4715 )
4716 );
4717 assert_eq!(
4718 unsafe { ::core::ptr::addr_of!((*ptr).seiPayloadArrayCnt) as usize - ptr as usize },
4719 56usize,
4720 concat!(
4721 "Offset of field: ",
4722 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4723 "::",
4724 stringify!(seiPayloadArrayCnt)
4725 )
4726 );
4727 assert_eq!(
4728 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
4729 60usize,
4730 concat!(
4731 "Offset of field: ",
4732 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4733 "::",
4734 stringify!(reserved)
4735 )
4736 );
4737 assert_eq!(
4738 unsafe { ::core::ptr::addr_of!((*ptr).seiPayloadArray) as usize - ptr as usize },
4739 64usize,
4740 concat!(
4741 "Offset of field: ",
4742 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4743 "::",
4744 stringify!(seiPayloadArray)
4745 )
4746 );
4747 assert_eq!(
4748 unsafe { ::core::ptr::addr_of!((*ptr).timeCode) as usize - ptr as usize },
4749 72usize,
4750 concat!(
4751 "Offset of field: ",
4752 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4753 "::",
4754 stringify!(timeCode)
4755 )
4756 );
4757 assert_eq!(
4758 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
4759 100usize,
4760 concat!(
4761 "Offset of field: ",
4762 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4763 "::",
4764 stringify!(reserved2)
4765 )
4766 );
4767 assert_eq!(
4768 unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
4769 1048usize,
4770 concat!(
4771 "Offset of field: ",
4772 stringify!(_NV_ENC_PIC_PARAMS_HEVC),
4773 "::",
4774 stringify!(reserved3)
4775 )
4776 );
4777}
4778#[test]
4779fn bindgen_test_layout__NV_ENC_PIC_PARAMS_AV1() {
4780 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_PIC_PARAMS_AV1> =
4781 ::core::mem::MaybeUninit::uninit();
4782 let ptr = UNINIT.as_ptr();
4783 assert_eq!(
4784 ::core::mem::size_of::<_NV_ENC_PIC_PARAMS_AV1>(),
4785 1552usize,
4786 concat!("Size of: ", stringify!(_NV_ENC_PIC_PARAMS_AV1))
4787 );
4788 assert_eq!(
4789 ::core::mem::align_of::<_NV_ENC_PIC_PARAMS_AV1>(),
4790 8usize,
4791 concat!("Alignment of ", stringify!(_NV_ENC_PIC_PARAMS_AV1))
4792 );
4793 assert_eq!(
4794 unsafe { ::core::ptr::addr_of!((*ptr).displayPOCSyntax) as usize - ptr as usize },
4795 0usize,
4796 concat!(
4797 "Offset of field: ",
4798 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4799 "::",
4800 stringify!(displayPOCSyntax)
4801 )
4802 );
4803 assert_eq!(
4804 unsafe { ::core::ptr::addr_of!((*ptr).refPicFlag) as usize - ptr as usize },
4805 4usize,
4806 concat!(
4807 "Offset of field: ",
4808 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4809 "::",
4810 stringify!(refPicFlag)
4811 )
4812 );
4813 assert_eq!(
4814 unsafe { ::core::ptr::addr_of!((*ptr).temporalId) as usize - ptr as usize },
4815 8usize,
4816 concat!(
4817 "Offset of field: ",
4818 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4819 "::",
4820 stringify!(temporalId)
4821 )
4822 );
4823 assert_eq!(
4824 unsafe {
4825 ::core::ptr::addr_of!((*ptr).forceIntraRefreshWithFrameCnt) as usize - ptr as usize
4826 },
4827 12usize,
4828 concat!(
4829 "Offset of field: ",
4830 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4831 "::",
4832 stringify!(forceIntraRefreshWithFrameCnt)
4833 )
4834 );
4835 assert_eq!(
4836 unsafe { ::core::ptr::addr_of!((*ptr).numTileColumns) as usize - ptr as usize },
4837 20usize,
4838 concat!(
4839 "Offset of field: ",
4840 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4841 "::",
4842 stringify!(numTileColumns)
4843 )
4844 );
4845 assert_eq!(
4846 unsafe { ::core::ptr::addr_of!((*ptr).numTileRows) as usize - ptr as usize },
4847 24usize,
4848 concat!(
4849 "Offset of field: ",
4850 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4851 "::",
4852 stringify!(numTileRows)
4853 )
4854 );
4855 assert_eq!(
4856 unsafe { ::core::ptr::addr_of!((*ptr).tileWidths) as usize - ptr as usize },
4857 32usize,
4858 concat!(
4859 "Offset of field: ",
4860 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4861 "::",
4862 stringify!(tileWidths)
4863 )
4864 );
4865 assert_eq!(
4866 unsafe { ::core::ptr::addr_of!((*ptr).tileHeights) as usize - ptr as usize },
4867 40usize,
4868 concat!(
4869 "Offset of field: ",
4870 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4871 "::",
4872 stringify!(tileHeights)
4873 )
4874 );
4875 assert_eq!(
4876 unsafe { ::core::ptr::addr_of!((*ptr).obuPayloadArrayCnt) as usize - ptr as usize },
4877 48usize,
4878 concat!(
4879 "Offset of field: ",
4880 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4881 "::",
4882 stringify!(obuPayloadArrayCnt)
4883 )
4884 );
4885 assert_eq!(
4886 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
4887 52usize,
4888 concat!(
4889 "Offset of field: ",
4890 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4891 "::",
4892 stringify!(reserved)
4893 )
4894 );
4895 assert_eq!(
4896 unsafe { ::core::ptr::addr_of!((*ptr).obuPayloadArray) as usize - ptr as usize },
4897 56usize,
4898 concat!(
4899 "Offset of field: ",
4900 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4901 "::",
4902 stringify!(obuPayloadArray)
4903 )
4904 );
4905 assert_eq!(
4906 unsafe { ::core::ptr::addr_of!((*ptr).filmGrainParams) as usize - ptr as usize },
4907 64usize,
4908 concat!(
4909 "Offset of field: ",
4910 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4911 "::",
4912 stringify!(filmGrainParams)
4913 )
4914 );
4915 assert_eq!(
4916 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
4917 72usize,
4918 concat!(
4919 "Offset of field: ",
4920 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4921 "::",
4922 stringify!(reserved2)
4923 )
4924 );
4925 assert_eq!(
4926 unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
4927 1064usize,
4928 concat!(
4929 "Offset of field: ",
4930 stringify!(_NV_ENC_PIC_PARAMS_AV1),
4931 "::",
4932 stringify!(reserved3)
4933 )
4934 );
4935}
4936#[test]
4937fn bindgen_test_layout__NV_ENC_CODEC_PIC_PARAMS() {
4938 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_CODEC_PIC_PARAMS> =
4939 ::core::mem::MaybeUninit::uninit();
4940 let ptr = UNINIT.as_ptr();
4941 assert_eq!(
4942 ::core::mem::size_of::<_NV_ENC_CODEC_PIC_PARAMS>(),
4943 1552usize,
4944 concat!("Size of: ", stringify!(_NV_ENC_CODEC_PIC_PARAMS))
4945 );
4946 assert_eq!(
4947 ::core::mem::align_of::<_NV_ENC_CODEC_PIC_PARAMS>(),
4948 8usize,
4949 concat!("Alignment of ", stringify!(_NV_ENC_CODEC_PIC_PARAMS))
4950 );
4951 assert_eq!(
4952 unsafe { ::core::ptr::addr_of!((*ptr).h264PicParams) as usize - ptr as usize },
4953 0usize,
4954 concat!(
4955 "Offset of field: ",
4956 stringify!(_NV_ENC_CODEC_PIC_PARAMS),
4957 "::",
4958 stringify!(h264PicParams)
4959 )
4960 );
4961 assert_eq!(
4962 unsafe { ::core::ptr::addr_of!((*ptr).hevcPicParams) as usize - ptr as usize },
4963 0usize,
4964 concat!(
4965 "Offset of field: ",
4966 stringify!(_NV_ENC_CODEC_PIC_PARAMS),
4967 "::",
4968 stringify!(hevcPicParams)
4969 )
4970 );
4971 assert_eq!(
4972 unsafe { ::core::ptr::addr_of!((*ptr).av1PicParams) as usize - ptr as usize },
4973 0usize,
4974 concat!(
4975 "Offset of field: ",
4976 stringify!(_NV_ENC_CODEC_PIC_PARAMS),
4977 "::",
4978 stringify!(av1PicParams)
4979 )
4980 );
4981 assert_eq!(
4982 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
4983 0usize,
4984 concat!(
4985 "Offset of field: ",
4986 stringify!(_NV_ENC_CODEC_PIC_PARAMS),
4987 "::",
4988 stringify!(reserved)
4989 )
4990 );
4991}
4992#[test]
4993fn bindgen_test_layout__NV_ENC_PIC_PARAMS() {
4994 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_PIC_PARAMS> = ::core::mem::MaybeUninit::uninit();
4995 let ptr = UNINIT.as_ptr();
4996 assert_eq!(
4997 ::core::mem::size_of::<_NV_ENC_PIC_PARAMS>(),
4998 3360usize,
4999 concat!("Size of: ", stringify!(_NV_ENC_PIC_PARAMS))
5000 );
5001 assert_eq!(
5002 ::core::mem::align_of::<_NV_ENC_PIC_PARAMS>(),
5003 8usize,
5004 concat!("Alignment of ", stringify!(_NV_ENC_PIC_PARAMS))
5005 );
5006 assert_eq!(
5007 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
5008 0usize,
5009 concat!(
5010 "Offset of field: ",
5011 stringify!(_NV_ENC_PIC_PARAMS),
5012 "::",
5013 stringify!(version)
5014 )
5015 );
5016 assert_eq!(
5017 unsafe { ::core::ptr::addr_of!((*ptr).inputWidth) as usize - ptr as usize },
5018 4usize,
5019 concat!(
5020 "Offset of field: ",
5021 stringify!(_NV_ENC_PIC_PARAMS),
5022 "::",
5023 stringify!(inputWidth)
5024 )
5025 );
5026 assert_eq!(
5027 unsafe { ::core::ptr::addr_of!((*ptr).inputHeight) as usize - ptr as usize },
5028 8usize,
5029 concat!(
5030 "Offset of field: ",
5031 stringify!(_NV_ENC_PIC_PARAMS),
5032 "::",
5033 stringify!(inputHeight)
5034 )
5035 );
5036 assert_eq!(
5037 unsafe { ::core::ptr::addr_of!((*ptr).inputPitch) as usize - ptr as usize },
5038 12usize,
5039 concat!(
5040 "Offset of field: ",
5041 stringify!(_NV_ENC_PIC_PARAMS),
5042 "::",
5043 stringify!(inputPitch)
5044 )
5045 );
5046 assert_eq!(
5047 unsafe { ::core::ptr::addr_of!((*ptr).encodePicFlags) as usize - ptr as usize },
5048 16usize,
5049 concat!(
5050 "Offset of field: ",
5051 stringify!(_NV_ENC_PIC_PARAMS),
5052 "::",
5053 stringify!(encodePicFlags)
5054 )
5055 );
5056 assert_eq!(
5057 unsafe { ::core::ptr::addr_of!((*ptr).frameIdx) as usize - ptr as usize },
5058 20usize,
5059 concat!(
5060 "Offset of field: ",
5061 stringify!(_NV_ENC_PIC_PARAMS),
5062 "::",
5063 stringify!(frameIdx)
5064 )
5065 );
5066 assert_eq!(
5067 unsafe { ::core::ptr::addr_of!((*ptr).inputTimeStamp) as usize - ptr as usize },
5068 24usize,
5069 concat!(
5070 "Offset of field: ",
5071 stringify!(_NV_ENC_PIC_PARAMS),
5072 "::",
5073 stringify!(inputTimeStamp)
5074 )
5075 );
5076 assert_eq!(
5077 unsafe { ::core::ptr::addr_of!((*ptr).inputDuration) as usize - ptr as usize },
5078 32usize,
5079 concat!(
5080 "Offset of field: ",
5081 stringify!(_NV_ENC_PIC_PARAMS),
5082 "::",
5083 stringify!(inputDuration)
5084 )
5085 );
5086 assert_eq!(
5087 unsafe { ::core::ptr::addr_of!((*ptr).inputBuffer) as usize - ptr as usize },
5088 40usize,
5089 concat!(
5090 "Offset of field: ",
5091 stringify!(_NV_ENC_PIC_PARAMS),
5092 "::",
5093 stringify!(inputBuffer)
5094 )
5095 );
5096 assert_eq!(
5097 unsafe { ::core::ptr::addr_of!((*ptr).outputBitstream) as usize - ptr as usize },
5098 48usize,
5099 concat!(
5100 "Offset of field: ",
5101 stringify!(_NV_ENC_PIC_PARAMS),
5102 "::",
5103 stringify!(outputBitstream)
5104 )
5105 );
5106 assert_eq!(
5107 unsafe { ::core::ptr::addr_of!((*ptr).completionEvent) as usize - ptr as usize },
5108 56usize,
5109 concat!(
5110 "Offset of field: ",
5111 stringify!(_NV_ENC_PIC_PARAMS),
5112 "::",
5113 stringify!(completionEvent)
5114 )
5115 );
5116 assert_eq!(
5117 unsafe { ::core::ptr::addr_of!((*ptr).bufferFmt) as usize - ptr as usize },
5118 64usize,
5119 concat!(
5120 "Offset of field: ",
5121 stringify!(_NV_ENC_PIC_PARAMS),
5122 "::",
5123 stringify!(bufferFmt)
5124 )
5125 );
5126 assert_eq!(
5127 unsafe { ::core::ptr::addr_of!((*ptr).pictureStruct) as usize - ptr as usize },
5128 68usize,
5129 concat!(
5130 "Offset of field: ",
5131 stringify!(_NV_ENC_PIC_PARAMS),
5132 "::",
5133 stringify!(pictureStruct)
5134 )
5135 );
5136 assert_eq!(
5137 unsafe { ::core::ptr::addr_of!((*ptr).pictureType) as usize - ptr as usize },
5138 72usize,
5139 concat!(
5140 "Offset of field: ",
5141 stringify!(_NV_ENC_PIC_PARAMS),
5142 "::",
5143 stringify!(pictureType)
5144 )
5145 );
5146 assert_eq!(
5147 unsafe { ::core::ptr::addr_of!((*ptr).codecPicParams) as usize - ptr as usize },
5148 80usize,
5149 concat!(
5150 "Offset of field: ",
5151 stringify!(_NV_ENC_PIC_PARAMS),
5152 "::",
5153 stringify!(codecPicParams)
5154 )
5155 );
5156 assert_eq!(
5157 unsafe { ::core::ptr::addr_of!((*ptr).meHintCountsPerBlock) as usize - ptr as usize },
5158 1632usize,
5159 concat!(
5160 "Offset of field: ",
5161 stringify!(_NV_ENC_PIC_PARAMS),
5162 "::",
5163 stringify!(meHintCountsPerBlock)
5164 )
5165 );
5166 assert_eq!(
5167 unsafe { ::core::ptr::addr_of!((*ptr).meExternalHints) as usize - ptr as usize },
5168 1664usize,
5169 concat!(
5170 "Offset of field: ",
5171 stringify!(_NV_ENC_PIC_PARAMS),
5172 "::",
5173 stringify!(meExternalHints)
5174 )
5175 );
5176 assert_eq!(
5177 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
5178 1672usize,
5179 concat!(
5180 "Offset of field: ",
5181 stringify!(_NV_ENC_PIC_PARAMS),
5182 "::",
5183 stringify!(reserved1)
5184 )
5185 );
5186 assert_eq!(
5187 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
5188 1696usize,
5189 concat!(
5190 "Offset of field: ",
5191 stringify!(_NV_ENC_PIC_PARAMS),
5192 "::",
5193 stringify!(reserved2)
5194 )
5195 );
5196 assert_eq!(
5197 unsafe { ::core::ptr::addr_of!((*ptr).qpDeltaMap) as usize - ptr as usize },
5198 1712usize,
5199 concat!(
5200 "Offset of field: ",
5201 stringify!(_NV_ENC_PIC_PARAMS),
5202 "::",
5203 stringify!(qpDeltaMap)
5204 )
5205 );
5206 assert_eq!(
5207 unsafe { ::core::ptr::addr_of!((*ptr).qpDeltaMapSize) as usize - ptr as usize },
5208 1720usize,
5209 concat!(
5210 "Offset of field: ",
5211 stringify!(_NV_ENC_PIC_PARAMS),
5212 "::",
5213 stringify!(qpDeltaMapSize)
5214 )
5215 );
5216 assert_eq!(
5217 unsafe { ::core::ptr::addr_of!((*ptr).reservedBitFields) as usize - ptr as usize },
5218 1724usize,
5219 concat!(
5220 "Offset of field: ",
5221 stringify!(_NV_ENC_PIC_PARAMS),
5222 "::",
5223 stringify!(reservedBitFields)
5224 )
5225 );
5226 assert_eq!(
5227 unsafe { ::core::ptr::addr_of!((*ptr).meHintRefPicDist) as usize - ptr as usize },
5228 1728usize,
5229 concat!(
5230 "Offset of field: ",
5231 stringify!(_NV_ENC_PIC_PARAMS),
5232 "::",
5233 stringify!(meHintRefPicDist)
5234 )
5235 );
5236 assert_eq!(
5237 unsafe { ::core::ptr::addr_of!((*ptr).alphaBuffer) as usize - ptr as usize },
5238 1736usize,
5239 concat!(
5240 "Offset of field: ",
5241 stringify!(_NV_ENC_PIC_PARAMS),
5242 "::",
5243 stringify!(alphaBuffer)
5244 )
5245 );
5246 assert_eq!(
5247 unsafe { ::core::ptr::addr_of!((*ptr).meExternalSbHints) as usize - ptr as usize },
5248 1744usize,
5249 concat!(
5250 "Offset of field: ",
5251 stringify!(_NV_ENC_PIC_PARAMS),
5252 "::",
5253 stringify!(meExternalSbHints)
5254 )
5255 );
5256 assert_eq!(
5257 unsafe { ::core::ptr::addr_of!((*ptr).meSbHintsCount) as usize - ptr as usize },
5258 1752usize,
5259 concat!(
5260 "Offset of field: ",
5261 stringify!(_NV_ENC_PIC_PARAMS),
5262 "::",
5263 stringify!(meSbHintsCount)
5264 )
5265 );
5266 assert_eq!(
5267 unsafe { ::core::ptr::addr_of!((*ptr).stateBufferIdx) as usize - ptr as usize },
5268 1756usize,
5269 concat!(
5270 "Offset of field: ",
5271 stringify!(_NV_ENC_PIC_PARAMS),
5272 "::",
5273 stringify!(stateBufferIdx)
5274 )
5275 );
5276 assert_eq!(
5277 unsafe { ::core::ptr::addr_of!((*ptr).outputReconBuffer) as usize - ptr as usize },
5278 1760usize,
5279 concat!(
5280 "Offset of field: ",
5281 stringify!(_NV_ENC_PIC_PARAMS),
5282 "::",
5283 stringify!(outputReconBuffer)
5284 )
5285 );
5286 assert_eq!(
5287 unsafe { ::core::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
5288 1768usize,
5289 concat!(
5290 "Offset of field: ",
5291 stringify!(_NV_ENC_PIC_PARAMS),
5292 "::",
5293 stringify!(reserved3)
5294 )
5295 );
5296 assert_eq!(
5297 unsafe { ::core::ptr::addr_of!((*ptr).reserved4) as usize - ptr as usize },
5298 2904usize,
5299 concat!(
5300 "Offset of field: ",
5301 stringify!(_NV_ENC_PIC_PARAMS),
5302 "::",
5303 stringify!(reserved4)
5304 )
5305 );
5306}
5307#[test]
5308fn bindgen_test_layout__NV_ENC_MEONLY_PARAMS() {
5309 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_MEONLY_PARAMS> =
5310 ::core::mem::MaybeUninit::uninit();
5311 let ptr = UNINIT.as_ptr();
5312 assert_eq!(
5313 ::core::mem::size_of::<_NV_ENC_MEONLY_PARAMS>(),
5314 1552usize,
5315 concat!("Size of: ", stringify!(_NV_ENC_MEONLY_PARAMS))
5316 );
5317 assert_eq!(
5318 ::core::mem::align_of::<_NV_ENC_MEONLY_PARAMS>(),
5319 8usize,
5320 concat!("Alignment of ", stringify!(_NV_ENC_MEONLY_PARAMS))
5321 );
5322 assert_eq!(
5323 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
5324 0usize,
5325 concat!(
5326 "Offset of field: ",
5327 stringify!(_NV_ENC_MEONLY_PARAMS),
5328 "::",
5329 stringify!(version)
5330 )
5331 );
5332 assert_eq!(
5333 unsafe { ::core::ptr::addr_of!((*ptr).inputWidth) as usize - ptr as usize },
5334 4usize,
5335 concat!(
5336 "Offset of field: ",
5337 stringify!(_NV_ENC_MEONLY_PARAMS),
5338 "::",
5339 stringify!(inputWidth)
5340 )
5341 );
5342 assert_eq!(
5343 unsafe { ::core::ptr::addr_of!((*ptr).inputHeight) as usize - ptr as usize },
5344 8usize,
5345 concat!(
5346 "Offset of field: ",
5347 stringify!(_NV_ENC_MEONLY_PARAMS),
5348 "::",
5349 stringify!(inputHeight)
5350 )
5351 );
5352 assert_eq!(
5353 unsafe { ::core::ptr::addr_of!((*ptr).inputBuffer) as usize - ptr as usize },
5354 16usize,
5355 concat!(
5356 "Offset of field: ",
5357 stringify!(_NV_ENC_MEONLY_PARAMS),
5358 "::",
5359 stringify!(inputBuffer)
5360 )
5361 );
5362 assert_eq!(
5363 unsafe { ::core::ptr::addr_of!((*ptr).referenceFrame) as usize - ptr as usize },
5364 24usize,
5365 concat!(
5366 "Offset of field: ",
5367 stringify!(_NV_ENC_MEONLY_PARAMS),
5368 "::",
5369 stringify!(referenceFrame)
5370 )
5371 );
5372 assert_eq!(
5373 unsafe { ::core::ptr::addr_of!((*ptr).mvBuffer) as usize - ptr as usize },
5374 32usize,
5375 concat!(
5376 "Offset of field: ",
5377 stringify!(_NV_ENC_MEONLY_PARAMS),
5378 "::",
5379 stringify!(mvBuffer)
5380 )
5381 );
5382 assert_eq!(
5383 unsafe { ::core::ptr::addr_of!((*ptr).bufferFmt) as usize - ptr as usize },
5384 40usize,
5385 concat!(
5386 "Offset of field: ",
5387 stringify!(_NV_ENC_MEONLY_PARAMS),
5388 "::",
5389 stringify!(bufferFmt)
5390 )
5391 );
5392 assert_eq!(
5393 unsafe { ::core::ptr::addr_of!((*ptr).completionEvent) as usize - ptr as usize },
5394 48usize,
5395 concat!(
5396 "Offset of field: ",
5397 stringify!(_NV_ENC_MEONLY_PARAMS),
5398 "::",
5399 stringify!(completionEvent)
5400 )
5401 );
5402 assert_eq!(
5403 unsafe { ::core::ptr::addr_of!((*ptr).viewID) as usize - ptr as usize },
5404 56usize,
5405 concat!(
5406 "Offset of field: ",
5407 stringify!(_NV_ENC_MEONLY_PARAMS),
5408 "::",
5409 stringify!(viewID)
5410 )
5411 );
5412 assert_eq!(
5413 unsafe { ::core::ptr::addr_of!((*ptr).meHintCountsPerBlock) as usize - ptr as usize },
5414 60usize,
5415 concat!(
5416 "Offset of field: ",
5417 stringify!(_NV_ENC_MEONLY_PARAMS),
5418 "::",
5419 stringify!(meHintCountsPerBlock)
5420 )
5421 );
5422 assert_eq!(
5423 unsafe { ::core::ptr::addr_of!((*ptr).meExternalHints) as usize - ptr as usize },
5424 96usize,
5425 concat!(
5426 "Offset of field: ",
5427 stringify!(_NV_ENC_MEONLY_PARAMS),
5428 "::",
5429 stringify!(meExternalHints)
5430 )
5431 );
5432 assert_eq!(
5433 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
5434 104usize,
5435 concat!(
5436 "Offset of field: ",
5437 stringify!(_NV_ENC_MEONLY_PARAMS),
5438 "::",
5439 stringify!(reserved1)
5440 )
5441 );
5442 assert_eq!(
5443 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
5444 1080usize,
5445 concat!(
5446 "Offset of field: ",
5447 stringify!(_NV_ENC_MEONLY_PARAMS),
5448 "::",
5449 stringify!(reserved2)
5450 )
5451 );
5452}
5453#[test]
5454fn bindgen_test_layout__NV_ENC_LOCK_BITSTREAM() {
5455 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_LOCK_BITSTREAM> =
5456 ::core::mem::MaybeUninit::uninit();
5457 let ptr = UNINIT.as_ptr();
5458 assert_eq!(
5459 ::core::mem::size_of::<_NV_ENC_LOCK_BITSTREAM>(),
5460 1552usize,
5461 concat!("Size of: ", stringify!(_NV_ENC_LOCK_BITSTREAM))
5462 );
5463 assert_eq!(
5464 ::core::mem::align_of::<_NV_ENC_LOCK_BITSTREAM>(),
5465 8usize,
5466 concat!("Alignment of ", stringify!(_NV_ENC_LOCK_BITSTREAM))
5467 );
5468 assert_eq!(
5469 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
5470 0usize,
5471 concat!(
5472 "Offset of field: ",
5473 stringify!(_NV_ENC_LOCK_BITSTREAM),
5474 "::",
5475 stringify!(version)
5476 )
5477 );
5478 assert_eq!(
5479 unsafe { ::core::ptr::addr_of!((*ptr).outputBitstream) as usize - ptr as usize },
5480 8usize,
5481 concat!(
5482 "Offset of field: ",
5483 stringify!(_NV_ENC_LOCK_BITSTREAM),
5484 "::",
5485 stringify!(outputBitstream)
5486 )
5487 );
5488 assert_eq!(
5489 unsafe { ::core::ptr::addr_of!((*ptr).sliceOffsets) as usize - ptr as usize },
5490 16usize,
5491 concat!(
5492 "Offset of field: ",
5493 stringify!(_NV_ENC_LOCK_BITSTREAM),
5494 "::",
5495 stringify!(sliceOffsets)
5496 )
5497 );
5498 assert_eq!(
5499 unsafe { ::core::ptr::addr_of!((*ptr).frameIdx) as usize - ptr as usize },
5500 24usize,
5501 concat!(
5502 "Offset of field: ",
5503 stringify!(_NV_ENC_LOCK_BITSTREAM),
5504 "::",
5505 stringify!(frameIdx)
5506 )
5507 );
5508 assert_eq!(
5509 unsafe { ::core::ptr::addr_of!((*ptr).hwEncodeStatus) as usize - ptr as usize },
5510 28usize,
5511 concat!(
5512 "Offset of field: ",
5513 stringify!(_NV_ENC_LOCK_BITSTREAM),
5514 "::",
5515 stringify!(hwEncodeStatus)
5516 )
5517 );
5518 assert_eq!(
5519 unsafe { ::core::ptr::addr_of!((*ptr).numSlices) as usize - ptr as usize },
5520 32usize,
5521 concat!(
5522 "Offset of field: ",
5523 stringify!(_NV_ENC_LOCK_BITSTREAM),
5524 "::",
5525 stringify!(numSlices)
5526 )
5527 );
5528 assert_eq!(
5529 unsafe { ::core::ptr::addr_of!((*ptr).bitstreamSizeInBytes) as usize - ptr as usize },
5530 36usize,
5531 concat!(
5532 "Offset of field: ",
5533 stringify!(_NV_ENC_LOCK_BITSTREAM),
5534 "::",
5535 stringify!(bitstreamSizeInBytes)
5536 )
5537 );
5538 assert_eq!(
5539 unsafe { ::core::ptr::addr_of!((*ptr).outputTimeStamp) as usize - ptr as usize },
5540 40usize,
5541 concat!(
5542 "Offset of field: ",
5543 stringify!(_NV_ENC_LOCK_BITSTREAM),
5544 "::",
5545 stringify!(outputTimeStamp)
5546 )
5547 );
5548 assert_eq!(
5549 unsafe { ::core::ptr::addr_of!((*ptr).outputDuration) as usize - ptr as usize },
5550 48usize,
5551 concat!(
5552 "Offset of field: ",
5553 stringify!(_NV_ENC_LOCK_BITSTREAM),
5554 "::",
5555 stringify!(outputDuration)
5556 )
5557 );
5558 assert_eq!(
5559 unsafe { ::core::ptr::addr_of!((*ptr).bitstreamBufferPtr) as usize - ptr as usize },
5560 56usize,
5561 concat!(
5562 "Offset of field: ",
5563 stringify!(_NV_ENC_LOCK_BITSTREAM),
5564 "::",
5565 stringify!(bitstreamBufferPtr)
5566 )
5567 );
5568 assert_eq!(
5569 unsafe { ::core::ptr::addr_of!((*ptr).pictureType) as usize - ptr as usize },
5570 64usize,
5571 concat!(
5572 "Offset of field: ",
5573 stringify!(_NV_ENC_LOCK_BITSTREAM),
5574 "::",
5575 stringify!(pictureType)
5576 )
5577 );
5578 assert_eq!(
5579 unsafe { ::core::ptr::addr_of!((*ptr).pictureStruct) as usize - ptr as usize },
5580 68usize,
5581 concat!(
5582 "Offset of field: ",
5583 stringify!(_NV_ENC_LOCK_BITSTREAM),
5584 "::",
5585 stringify!(pictureStruct)
5586 )
5587 );
5588 assert_eq!(
5589 unsafe { ::core::ptr::addr_of!((*ptr).frameAvgQP) as usize - ptr as usize },
5590 72usize,
5591 concat!(
5592 "Offset of field: ",
5593 stringify!(_NV_ENC_LOCK_BITSTREAM),
5594 "::",
5595 stringify!(frameAvgQP)
5596 )
5597 );
5598 assert_eq!(
5599 unsafe { ::core::ptr::addr_of!((*ptr).frameSatd) as usize - ptr as usize },
5600 76usize,
5601 concat!(
5602 "Offset of field: ",
5603 stringify!(_NV_ENC_LOCK_BITSTREAM),
5604 "::",
5605 stringify!(frameSatd)
5606 )
5607 );
5608 assert_eq!(
5609 unsafe { ::core::ptr::addr_of!((*ptr).ltrFrameIdx) as usize - ptr as usize },
5610 80usize,
5611 concat!(
5612 "Offset of field: ",
5613 stringify!(_NV_ENC_LOCK_BITSTREAM),
5614 "::",
5615 stringify!(ltrFrameIdx)
5616 )
5617 );
5618 assert_eq!(
5619 unsafe { ::core::ptr::addr_of!((*ptr).ltrFrameBitmap) as usize - ptr as usize },
5620 84usize,
5621 concat!(
5622 "Offset of field: ",
5623 stringify!(_NV_ENC_LOCK_BITSTREAM),
5624 "::",
5625 stringify!(ltrFrameBitmap)
5626 )
5627 );
5628 assert_eq!(
5629 unsafe { ::core::ptr::addr_of!((*ptr).temporalId) as usize - ptr as usize },
5630 88usize,
5631 concat!(
5632 "Offset of field: ",
5633 stringify!(_NV_ENC_LOCK_BITSTREAM),
5634 "::",
5635 stringify!(temporalId)
5636 )
5637 );
5638 assert_eq!(
5639 unsafe { ::core::ptr::addr_of!((*ptr).intraMBCount) as usize - ptr as usize },
5640 92usize,
5641 concat!(
5642 "Offset of field: ",
5643 stringify!(_NV_ENC_LOCK_BITSTREAM),
5644 "::",
5645 stringify!(intraMBCount)
5646 )
5647 );
5648 assert_eq!(
5649 unsafe { ::core::ptr::addr_of!((*ptr).interMBCount) as usize - ptr as usize },
5650 96usize,
5651 concat!(
5652 "Offset of field: ",
5653 stringify!(_NV_ENC_LOCK_BITSTREAM),
5654 "::",
5655 stringify!(interMBCount)
5656 )
5657 );
5658 assert_eq!(
5659 unsafe { ::core::ptr::addr_of!((*ptr).averageMVX) as usize - ptr as usize },
5660 100usize,
5661 concat!(
5662 "Offset of field: ",
5663 stringify!(_NV_ENC_LOCK_BITSTREAM),
5664 "::",
5665 stringify!(averageMVX)
5666 )
5667 );
5668 assert_eq!(
5669 unsafe { ::core::ptr::addr_of!((*ptr).averageMVY) as usize - ptr as usize },
5670 104usize,
5671 concat!(
5672 "Offset of field: ",
5673 stringify!(_NV_ENC_LOCK_BITSTREAM),
5674 "::",
5675 stringify!(averageMVY)
5676 )
5677 );
5678 assert_eq!(
5679 unsafe { ::core::ptr::addr_of!((*ptr).alphaLayerSizeInBytes) as usize - ptr as usize },
5680 108usize,
5681 concat!(
5682 "Offset of field: ",
5683 stringify!(_NV_ENC_LOCK_BITSTREAM),
5684 "::",
5685 stringify!(alphaLayerSizeInBytes)
5686 )
5687 );
5688 assert_eq!(
5689 unsafe { ::core::ptr::addr_of!((*ptr).outputStatsPtrSize) as usize - ptr as usize },
5690 112usize,
5691 concat!(
5692 "Offset of field: ",
5693 stringify!(_NV_ENC_LOCK_BITSTREAM),
5694 "::",
5695 stringify!(outputStatsPtrSize)
5696 )
5697 );
5698 assert_eq!(
5699 unsafe { ::core::ptr::addr_of!((*ptr).outputStatsPtr) as usize - ptr as usize },
5700 120usize,
5701 concat!(
5702 "Offset of field: ",
5703 stringify!(_NV_ENC_LOCK_BITSTREAM),
5704 "::",
5705 stringify!(outputStatsPtr)
5706 )
5707 );
5708 assert_eq!(
5709 unsafe { ::core::ptr::addr_of!((*ptr).frameIdxDisplay) as usize - ptr as usize },
5710 128usize,
5711 concat!(
5712 "Offset of field: ",
5713 stringify!(_NV_ENC_LOCK_BITSTREAM),
5714 "::",
5715 stringify!(frameIdxDisplay)
5716 )
5717 );
5718 assert_eq!(
5719 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
5720 132usize,
5721 concat!(
5722 "Offset of field: ",
5723 stringify!(_NV_ENC_LOCK_BITSTREAM),
5724 "::",
5725 stringify!(reserved1)
5726 )
5727 );
5728 assert_eq!(
5729 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
5730 1016usize,
5731 concat!(
5732 "Offset of field: ",
5733 stringify!(_NV_ENC_LOCK_BITSTREAM),
5734 "::",
5735 stringify!(reserved2)
5736 )
5737 );
5738 assert_eq!(
5739 unsafe { ::core::ptr::addr_of!((*ptr).reservedInternal) as usize - ptr as usize },
5740 1520usize,
5741 concat!(
5742 "Offset of field: ",
5743 stringify!(_NV_ENC_LOCK_BITSTREAM),
5744 "::",
5745 stringify!(reservedInternal)
5746 )
5747 );
5748}
5749#[test]
5750fn bindgen_test_layout__NV_ENC_LOCK_INPUT_BUFFER() {
5751 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_LOCK_INPUT_BUFFER> =
5752 ::core::mem::MaybeUninit::uninit();
5753 let ptr = UNINIT.as_ptr();
5754 assert_eq!(
5755 ::core::mem::size_of::<_NV_ENC_LOCK_INPUT_BUFFER>(),
5756 1544usize,
5757 concat!("Size of: ", stringify!(_NV_ENC_LOCK_INPUT_BUFFER))
5758 );
5759 assert_eq!(
5760 ::core::mem::align_of::<_NV_ENC_LOCK_INPUT_BUFFER>(),
5761 8usize,
5762 concat!("Alignment of ", stringify!(_NV_ENC_LOCK_INPUT_BUFFER))
5763 );
5764 assert_eq!(
5765 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
5766 0usize,
5767 concat!(
5768 "Offset of field: ",
5769 stringify!(_NV_ENC_LOCK_INPUT_BUFFER),
5770 "::",
5771 stringify!(version)
5772 )
5773 );
5774 assert_eq!(
5775 unsafe { ::core::ptr::addr_of!((*ptr).inputBuffer) as usize - ptr as usize },
5776 8usize,
5777 concat!(
5778 "Offset of field: ",
5779 stringify!(_NV_ENC_LOCK_INPUT_BUFFER),
5780 "::",
5781 stringify!(inputBuffer)
5782 )
5783 );
5784 assert_eq!(
5785 unsafe { ::core::ptr::addr_of!((*ptr).bufferDataPtr) as usize - ptr as usize },
5786 16usize,
5787 concat!(
5788 "Offset of field: ",
5789 stringify!(_NV_ENC_LOCK_INPUT_BUFFER),
5790 "::",
5791 stringify!(bufferDataPtr)
5792 )
5793 );
5794 assert_eq!(
5795 unsafe { ::core::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
5796 24usize,
5797 concat!(
5798 "Offset of field: ",
5799 stringify!(_NV_ENC_LOCK_INPUT_BUFFER),
5800 "::",
5801 stringify!(pitch)
5802 )
5803 );
5804 assert_eq!(
5805 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
5806 28usize,
5807 concat!(
5808 "Offset of field: ",
5809 stringify!(_NV_ENC_LOCK_INPUT_BUFFER),
5810 "::",
5811 stringify!(reserved1)
5812 )
5813 );
5814 assert_eq!(
5815 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
5816 1032usize,
5817 concat!(
5818 "Offset of field: ",
5819 stringify!(_NV_ENC_LOCK_INPUT_BUFFER),
5820 "::",
5821 stringify!(reserved2)
5822 )
5823 );
5824}
5825#[test]
5826fn bindgen_test_layout__NV_ENC_MAP_INPUT_RESOURCE() {
5827 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_MAP_INPUT_RESOURCE> =
5828 ::core::mem::MaybeUninit::uninit();
5829 let ptr = UNINIT.as_ptr();
5830 assert_eq!(
5831 ::core::mem::size_of::<_NV_ENC_MAP_INPUT_RESOURCE>(),
5832 1544usize,
5833 concat!("Size of: ", stringify!(_NV_ENC_MAP_INPUT_RESOURCE))
5834 );
5835 assert_eq!(
5836 ::core::mem::align_of::<_NV_ENC_MAP_INPUT_RESOURCE>(),
5837 8usize,
5838 concat!("Alignment of ", stringify!(_NV_ENC_MAP_INPUT_RESOURCE))
5839 );
5840 assert_eq!(
5841 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
5842 0usize,
5843 concat!(
5844 "Offset of field: ",
5845 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5846 "::",
5847 stringify!(version)
5848 )
5849 );
5850 assert_eq!(
5851 unsafe { ::core::ptr::addr_of!((*ptr).subResourceIndex) as usize - ptr as usize },
5852 4usize,
5853 concat!(
5854 "Offset of field: ",
5855 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5856 "::",
5857 stringify!(subResourceIndex)
5858 )
5859 );
5860 assert_eq!(
5861 unsafe { ::core::ptr::addr_of!((*ptr).inputResource) as usize - ptr as usize },
5862 8usize,
5863 concat!(
5864 "Offset of field: ",
5865 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5866 "::",
5867 stringify!(inputResource)
5868 )
5869 );
5870 assert_eq!(
5871 unsafe { ::core::ptr::addr_of!((*ptr).registeredResource) as usize - ptr as usize },
5872 16usize,
5873 concat!(
5874 "Offset of field: ",
5875 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5876 "::",
5877 stringify!(registeredResource)
5878 )
5879 );
5880 assert_eq!(
5881 unsafe { ::core::ptr::addr_of!((*ptr).mappedResource) as usize - ptr as usize },
5882 24usize,
5883 concat!(
5884 "Offset of field: ",
5885 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5886 "::",
5887 stringify!(mappedResource)
5888 )
5889 );
5890 assert_eq!(
5891 unsafe { ::core::ptr::addr_of!((*ptr).mappedBufferFmt) as usize - ptr as usize },
5892 32usize,
5893 concat!(
5894 "Offset of field: ",
5895 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5896 "::",
5897 stringify!(mappedBufferFmt)
5898 )
5899 );
5900 assert_eq!(
5901 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
5902 36usize,
5903 concat!(
5904 "Offset of field: ",
5905 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5906 "::",
5907 stringify!(reserved1)
5908 )
5909 );
5910 assert_eq!(
5911 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
5912 1040usize,
5913 concat!(
5914 "Offset of field: ",
5915 stringify!(_NV_ENC_MAP_INPUT_RESOURCE),
5916 "::",
5917 stringify!(reserved2)
5918 )
5919 );
5920}
5921#[test]
5922fn bindgen_test_layout__NV_ENC_INPUT_RESOURCE_OPENGL_TEX() {
5923 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_INPUT_RESOURCE_OPENGL_TEX> =
5924 ::core::mem::MaybeUninit::uninit();
5925 let ptr = UNINIT.as_ptr();
5926 assert_eq!(
5927 ::core::mem::size_of::<_NV_ENC_INPUT_RESOURCE_OPENGL_TEX>(),
5928 8usize,
5929 concat!("Size of: ", stringify!(_NV_ENC_INPUT_RESOURCE_OPENGL_TEX))
5930 );
5931 assert_eq!(
5932 ::core::mem::align_of::<_NV_ENC_INPUT_RESOURCE_OPENGL_TEX>(),
5933 4usize,
5934 concat!(
5935 "Alignment of ",
5936 stringify!(_NV_ENC_INPUT_RESOURCE_OPENGL_TEX)
5937 )
5938 );
5939 assert_eq!(
5940 unsafe { ::core::ptr::addr_of!((*ptr).texture) as usize - ptr as usize },
5941 0usize,
5942 concat!(
5943 "Offset of field: ",
5944 stringify!(_NV_ENC_INPUT_RESOURCE_OPENGL_TEX),
5945 "::",
5946 stringify!(texture)
5947 )
5948 );
5949 assert_eq!(
5950 unsafe { ::core::ptr::addr_of!((*ptr).target) as usize - ptr as usize },
5951 4usize,
5952 concat!(
5953 "Offset of field: ",
5954 stringify!(_NV_ENC_INPUT_RESOURCE_OPENGL_TEX),
5955 "::",
5956 stringify!(target)
5957 )
5958 );
5959}
5960#[test]
5961fn bindgen_test_layout__NV_ENC_FENCE_POINT_D3D12() {
5962 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_FENCE_POINT_D3D12> =
5963 ::core::mem::MaybeUninit::uninit();
5964 let ptr = UNINIT.as_ptr();
5965 assert_eq!(
5966 ::core::mem::size_of::<_NV_ENC_FENCE_POINT_D3D12>(),
5967 64usize,
5968 concat!("Size of: ", stringify!(_NV_ENC_FENCE_POINT_D3D12))
5969 );
5970 assert_eq!(
5971 ::core::mem::align_of::<_NV_ENC_FENCE_POINT_D3D12>(),
5972 8usize,
5973 concat!("Alignment of ", stringify!(_NV_ENC_FENCE_POINT_D3D12))
5974 );
5975 assert_eq!(
5976 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
5977 0usize,
5978 concat!(
5979 "Offset of field: ",
5980 stringify!(_NV_ENC_FENCE_POINT_D3D12),
5981 "::",
5982 stringify!(version)
5983 )
5984 );
5985 assert_eq!(
5986 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
5987 4usize,
5988 concat!(
5989 "Offset of field: ",
5990 stringify!(_NV_ENC_FENCE_POINT_D3D12),
5991 "::",
5992 stringify!(reserved)
5993 )
5994 );
5995 assert_eq!(
5996 unsafe { ::core::ptr::addr_of!((*ptr).pFence) as usize - ptr as usize },
5997 8usize,
5998 concat!(
5999 "Offset of field: ",
6000 stringify!(_NV_ENC_FENCE_POINT_D3D12),
6001 "::",
6002 stringify!(pFence)
6003 )
6004 );
6005 assert_eq!(
6006 unsafe { ::core::ptr::addr_of!((*ptr).waitValue) as usize - ptr as usize },
6007 16usize,
6008 concat!(
6009 "Offset of field: ",
6010 stringify!(_NV_ENC_FENCE_POINT_D3D12),
6011 "::",
6012 stringify!(waitValue)
6013 )
6014 );
6015 assert_eq!(
6016 unsafe { ::core::ptr::addr_of!((*ptr).signalValue) as usize - ptr as usize },
6017 24usize,
6018 concat!(
6019 "Offset of field: ",
6020 stringify!(_NV_ENC_FENCE_POINT_D3D12),
6021 "::",
6022 stringify!(signalValue)
6023 )
6024 );
6025 assert_eq!(
6026 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
6027 36usize,
6028 concat!(
6029 "Offset of field: ",
6030 stringify!(_NV_ENC_FENCE_POINT_D3D12),
6031 "::",
6032 stringify!(reserved1)
6033 )
6034 );
6035}
6036#[test]
6037fn bindgen_test_layout__NV_ENC_INPUT_RESOURCE_D3D12() {
6038 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_INPUT_RESOURCE_D3D12> =
6039 ::core::mem::MaybeUninit::uninit();
6040 let ptr = UNINIT.as_ptr();
6041 assert_eq!(
6042 ::core::mem::size_of::<_NV_ENC_INPUT_RESOURCE_D3D12>(),
6043 272usize,
6044 concat!("Size of: ", stringify!(_NV_ENC_INPUT_RESOURCE_D3D12))
6045 );
6046 assert_eq!(
6047 ::core::mem::align_of::<_NV_ENC_INPUT_RESOURCE_D3D12>(),
6048 8usize,
6049 concat!("Alignment of ", stringify!(_NV_ENC_INPUT_RESOURCE_D3D12))
6050 );
6051 assert_eq!(
6052 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6053 0usize,
6054 concat!(
6055 "Offset of field: ",
6056 stringify!(_NV_ENC_INPUT_RESOURCE_D3D12),
6057 "::",
6058 stringify!(version)
6059 )
6060 );
6061 assert_eq!(
6062 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
6063 4usize,
6064 concat!(
6065 "Offset of field: ",
6066 stringify!(_NV_ENC_INPUT_RESOURCE_D3D12),
6067 "::",
6068 stringify!(reserved)
6069 )
6070 );
6071 assert_eq!(
6072 unsafe { ::core::ptr::addr_of!((*ptr).pInputBuffer) as usize - ptr as usize },
6073 8usize,
6074 concat!(
6075 "Offset of field: ",
6076 stringify!(_NV_ENC_INPUT_RESOURCE_D3D12),
6077 "::",
6078 stringify!(pInputBuffer)
6079 )
6080 );
6081 assert_eq!(
6082 unsafe { ::core::ptr::addr_of!((*ptr).inputFencePoint) as usize - ptr as usize },
6083 16usize,
6084 concat!(
6085 "Offset of field: ",
6086 stringify!(_NV_ENC_INPUT_RESOURCE_D3D12),
6087 "::",
6088 stringify!(inputFencePoint)
6089 )
6090 );
6091 assert_eq!(
6092 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
6093 80usize,
6094 concat!(
6095 "Offset of field: ",
6096 stringify!(_NV_ENC_INPUT_RESOURCE_D3D12),
6097 "::",
6098 stringify!(reserved1)
6099 )
6100 );
6101 assert_eq!(
6102 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
6103 144usize,
6104 concat!(
6105 "Offset of field: ",
6106 stringify!(_NV_ENC_INPUT_RESOURCE_D3D12),
6107 "::",
6108 stringify!(reserved2)
6109 )
6110 );
6111}
6112#[test]
6113fn bindgen_test_layout__NV_ENC_OUTPUT_RESOURCE_D3D12() {
6114 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_OUTPUT_RESOURCE_D3D12> =
6115 ::core::mem::MaybeUninit::uninit();
6116 let ptr = UNINIT.as_ptr();
6117 assert_eq!(
6118 ::core::mem::size_of::<_NV_ENC_OUTPUT_RESOURCE_D3D12>(),
6119 272usize,
6120 concat!("Size of: ", stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12))
6121 );
6122 assert_eq!(
6123 ::core::mem::align_of::<_NV_ENC_OUTPUT_RESOURCE_D3D12>(),
6124 8usize,
6125 concat!("Alignment of ", stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12))
6126 );
6127 assert_eq!(
6128 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6129 0usize,
6130 concat!(
6131 "Offset of field: ",
6132 stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12),
6133 "::",
6134 stringify!(version)
6135 )
6136 );
6137 assert_eq!(
6138 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
6139 4usize,
6140 concat!(
6141 "Offset of field: ",
6142 stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12),
6143 "::",
6144 stringify!(reserved)
6145 )
6146 );
6147 assert_eq!(
6148 unsafe { ::core::ptr::addr_of!((*ptr).pOutputBuffer) as usize - ptr as usize },
6149 8usize,
6150 concat!(
6151 "Offset of field: ",
6152 stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12),
6153 "::",
6154 stringify!(pOutputBuffer)
6155 )
6156 );
6157 assert_eq!(
6158 unsafe { ::core::ptr::addr_of!((*ptr).outputFencePoint) as usize - ptr as usize },
6159 16usize,
6160 concat!(
6161 "Offset of field: ",
6162 stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12),
6163 "::",
6164 stringify!(outputFencePoint)
6165 )
6166 );
6167 assert_eq!(
6168 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
6169 80usize,
6170 concat!(
6171 "Offset of field: ",
6172 stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12),
6173 "::",
6174 stringify!(reserved1)
6175 )
6176 );
6177 assert_eq!(
6178 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
6179 144usize,
6180 concat!(
6181 "Offset of field: ",
6182 stringify!(_NV_ENC_OUTPUT_RESOURCE_D3D12),
6183 "::",
6184 stringify!(reserved2)
6185 )
6186 );
6187}
6188#[test]
6189fn bindgen_test_layout__NV_ENC_REGISTER_RESOURCE() {
6190 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_REGISTER_RESOURCE> =
6191 ::core::mem::MaybeUninit::uninit();
6192 let ptr = UNINIT.as_ptr();
6193 assert_eq!(
6194 ::core::mem::size_of::<_NV_ENC_REGISTER_RESOURCE>(),
6195 1536usize,
6196 concat!("Size of: ", stringify!(_NV_ENC_REGISTER_RESOURCE))
6197 );
6198 assert_eq!(
6199 ::core::mem::align_of::<_NV_ENC_REGISTER_RESOURCE>(),
6200 8usize,
6201 concat!("Alignment of ", stringify!(_NV_ENC_REGISTER_RESOURCE))
6202 );
6203 assert_eq!(
6204 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6205 0usize,
6206 concat!(
6207 "Offset of field: ",
6208 stringify!(_NV_ENC_REGISTER_RESOURCE),
6209 "::",
6210 stringify!(version)
6211 )
6212 );
6213 assert_eq!(
6214 unsafe { ::core::ptr::addr_of!((*ptr).resourceType) as usize - ptr as usize },
6215 4usize,
6216 concat!(
6217 "Offset of field: ",
6218 stringify!(_NV_ENC_REGISTER_RESOURCE),
6219 "::",
6220 stringify!(resourceType)
6221 )
6222 );
6223 assert_eq!(
6224 unsafe { ::core::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6225 8usize,
6226 concat!(
6227 "Offset of field: ",
6228 stringify!(_NV_ENC_REGISTER_RESOURCE),
6229 "::",
6230 stringify!(width)
6231 )
6232 );
6233 assert_eq!(
6234 unsafe { ::core::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
6235 12usize,
6236 concat!(
6237 "Offset of field: ",
6238 stringify!(_NV_ENC_REGISTER_RESOURCE),
6239 "::",
6240 stringify!(height)
6241 )
6242 );
6243 assert_eq!(
6244 unsafe { ::core::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
6245 16usize,
6246 concat!(
6247 "Offset of field: ",
6248 stringify!(_NV_ENC_REGISTER_RESOURCE),
6249 "::",
6250 stringify!(pitch)
6251 )
6252 );
6253 assert_eq!(
6254 unsafe { ::core::ptr::addr_of!((*ptr).subResourceIndex) as usize - ptr as usize },
6255 20usize,
6256 concat!(
6257 "Offset of field: ",
6258 stringify!(_NV_ENC_REGISTER_RESOURCE),
6259 "::",
6260 stringify!(subResourceIndex)
6261 )
6262 );
6263 assert_eq!(
6264 unsafe { ::core::ptr::addr_of!((*ptr).resourceToRegister) as usize - ptr as usize },
6265 24usize,
6266 concat!(
6267 "Offset of field: ",
6268 stringify!(_NV_ENC_REGISTER_RESOURCE),
6269 "::",
6270 stringify!(resourceToRegister)
6271 )
6272 );
6273 assert_eq!(
6274 unsafe { ::core::ptr::addr_of!((*ptr).registeredResource) as usize - ptr as usize },
6275 32usize,
6276 concat!(
6277 "Offset of field: ",
6278 stringify!(_NV_ENC_REGISTER_RESOURCE),
6279 "::",
6280 stringify!(registeredResource)
6281 )
6282 );
6283 assert_eq!(
6284 unsafe { ::core::ptr::addr_of!((*ptr).bufferFormat) as usize - ptr as usize },
6285 40usize,
6286 concat!(
6287 "Offset of field: ",
6288 stringify!(_NV_ENC_REGISTER_RESOURCE),
6289 "::",
6290 stringify!(bufferFormat)
6291 )
6292 );
6293 assert_eq!(
6294 unsafe { ::core::ptr::addr_of!((*ptr).bufferUsage) as usize - ptr as usize },
6295 44usize,
6296 concat!(
6297 "Offset of field: ",
6298 stringify!(_NV_ENC_REGISTER_RESOURCE),
6299 "::",
6300 stringify!(bufferUsage)
6301 )
6302 );
6303 assert_eq!(
6304 unsafe { ::core::ptr::addr_of!((*ptr).pInputFencePoint) as usize - ptr as usize },
6305 48usize,
6306 concat!(
6307 "Offset of field: ",
6308 stringify!(_NV_ENC_REGISTER_RESOURCE),
6309 "::",
6310 stringify!(pInputFencePoint)
6311 )
6312 );
6313 assert_eq!(
6314 unsafe { ::core::ptr::addr_of!((*ptr).chromaOffset) as usize - ptr as usize },
6315 56usize,
6316 concat!(
6317 "Offset of field: ",
6318 stringify!(_NV_ENC_REGISTER_RESOURCE),
6319 "::",
6320 stringify!(chromaOffset)
6321 )
6322 );
6323 assert_eq!(
6324 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
6325 64usize,
6326 concat!(
6327 "Offset of field: ",
6328 stringify!(_NV_ENC_REGISTER_RESOURCE),
6329 "::",
6330 stringify!(reserved1)
6331 )
6332 );
6333 assert_eq!(
6334 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
6335 1048usize,
6336 concat!(
6337 "Offset of field: ",
6338 stringify!(_NV_ENC_REGISTER_RESOURCE),
6339 "::",
6340 stringify!(reserved2)
6341 )
6342 );
6343}
6344#[test]
6345fn bindgen_test_layout__NV_ENC_STAT() {
6346 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_STAT> = ::core::mem::MaybeUninit::uninit();
6347 let ptr = UNINIT.as_ptr();
6348 assert_eq!(
6349 ::core::mem::size_of::<_NV_ENC_STAT>(),
6350 1544usize,
6351 concat!("Size of: ", stringify!(_NV_ENC_STAT))
6352 );
6353 assert_eq!(
6354 ::core::mem::align_of::<_NV_ENC_STAT>(),
6355 8usize,
6356 concat!("Alignment of ", stringify!(_NV_ENC_STAT))
6357 );
6358 assert_eq!(
6359 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6360 0usize,
6361 concat!(
6362 "Offset of field: ",
6363 stringify!(_NV_ENC_STAT),
6364 "::",
6365 stringify!(version)
6366 )
6367 );
6368 assert_eq!(
6369 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
6370 4usize,
6371 concat!(
6372 "Offset of field: ",
6373 stringify!(_NV_ENC_STAT),
6374 "::",
6375 stringify!(reserved)
6376 )
6377 );
6378 assert_eq!(
6379 unsafe { ::core::ptr::addr_of!((*ptr).outputBitStream) as usize - ptr as usize },
6380 8usize,
6381 concat!(
6382 "Offset of field: ",
6383 stringify!(_NV_ENC_STAT),
6384 "::",
6385 stringify!(outputBitStream)
6386 )
6387 );
6388 assert_eq!(
6389 unsafe { ::core::ptr::addr_of!((*ptr).bitStreamSize) as usize - ptr as usize },
6390 16usize,
6391 concat!(
6392 "Offset of field: ",
6393 stringify!(_NV_ENC_STAT),
6394 "::",
6395 stringify!(bitStreamSize)
6396 )
6397 );
6398 assert_eq!(
6399 unsafe { ::core::ptr::addr_of!((*ptr).picType) as usize - ptr as usize },
6400 20usize,
6401 concat!(
6402 "Offset of field: ",
6403 stringify!(_NV_ENC_STAT),
6404 "::",
6405 stringify!(picType)
6406 )
6407 );
6408 assert_eq!(
6409 unsafe { ::core::ptr::addr_of!((*ptr).lastValidByteOffset) as usize - ptr as usize },
6410 24usize,
6411 concat!(
6412 "Offset of field: ",
6413 stringify!(_NV_ENC_STAT),
6414 "::",
6415 stringify!(lastValidByteOffset)
6416 )
6417 );
6418 assert_eq!(
6419 unsafe { ::core::ptr::addr_of!((*ptr).sliceOffsets) as usize - ptr as usize },
6420 28usize,
6421 concat!(
6422 "Offset of field: ",
6423 stringify!(_NV_ENC_STAT),
6424 "::",
6425 stringify!(sliceOffsets)
6426 )
6427 );
6428 assert_eq!(
6429 unsafe { ::core::ptr::addr_of!((*ptr).picIdx) as usize - ptr as usize },
6430 92usize,
6431 concat!(
6432 "Offset of field: ",
6433 stringify!(_NV_ENC_STAT),
6434 "::",
6435 stringify!(picIdx)
6436 )
6437 );
6438 assert_eq!(
6439 unsafe { ::core::ptr::addr_of!((*ptr).frameAvgQP) as usize - ptr as usize },
6440 96usize,
6441 concat!(
6442 "Offset of field: ",
6443 stringify!(_NV_ENC_STAT),
6444 "::",
6445 stringify!(frameAvgQP)
6446 )
6447 );
6448 assert_eq!(
6449 unsafe { ::core::ptr::addr_of!((*ptr).ltrFrameIdx) as usize - ptr as usize },
6450 104usize,
6451 concat!(
6452 "Offset of field: ",
6453 stringify!(_NV_ENC_STAT),
6454 "::",
6455 stringify!(ltrFrameIdx)
6456 )
6457 );
6458 assert_eq!(
6459 unsafe { ::core::ptr::addr_of!((*ptr).intraMBCount) as usize - ptr as usize },
6460 108usize,
6461 concat!(
6462 "Offset of field: ",
6463 stringify!(_NV_ENC_STAT),
6464 "::",
6465 stringify!(intraMBCount)
6466 )
6467 );
6468 assert_eq!(
6469 unsafe { ::core::ptr::addr_of!((*ptr).interMBCount) as usize - ptr as usize },
6470 112usize,
6471 concat!(
6472 "Offset of field: ",
6473 stringify!(_NV_ENC_STAT),
6474 "::",
6475 stringify!(interMBCount)
6476 )
6477 );
6478 assert_eq!(
6479 unsafe { ::core::ptr::addr_of!((*ptr).averageMVX) as usize - ptr as usize },
6480 116usize,
6481 concat!(
6482 "Offset of field: ",
6483 stringify!(_NV_ENC_STAT),
6484 "::",
6485 stringify!(averageMVX)
6486 )
6487 );
6488 assert_eq!(
6489 unsafe { ::core::ptr::addr_of!((*ptr).averageMVY) as usize - ptr as usize },
6490 120usize,
6491 concat!(
6492 "Offset of field: ",
6493 stringify!(_NV_ENC_STAT),
6494 "::",
6495 stringify!(averageMVY)
6496 )
6497 );
6498 assert_eq!(
6499 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
6500 124usize,
6501 concat!(
6502 "Offset of field: ",
6503 stringify!(_NV_ENC_STAT),
6504 "::",
6505 stringify!(reserved1)
6506 )
6507 );
6508 assert_eq!(
6509 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
6510 1032usize,
6511 concat!(
6512 "Offset of field: ",
6513 stringify!(_NV_ENC_STAT),
6514 "::",
6515 stringify!(reserved2)
6516 )
6517 );
6518}
6519#[test]
6520fn bindgen_test_layout__NV_ENC_SEQUENCE_PARAM_PAYLOAD() {
6521 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_SEQUENCE_PARAM_PAYLOAD> =
6522 ::core::mem::MaybeUninit::uninit();
6523 let ptr = UNINIT.as_ptr();
6524 assert_eq!(
6525 ::core::mem::size_of::<_NV_ENC_SEQUENCE_PARAM_PAYLOAD>(),
6526 1544usize,
6527 concat!("Size of: ", stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD))
6528 );
6529 assert_eq!(
6530 ::core::mem::align_of::<_NV_ENC_SEQUENCE_PARAM_PAYLOAD>(),
6531 8usize,
6532 concat!("Alignment of ", stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD))
6533 );
6534 assert_eq!(
6535 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6536 0usize,
6537 concat!(
6538 "Offset of field: ",
6539 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6540 "::",
6541 stringify!(version)
6542 )
6543 );
6544 assert_eq!(
6545 unsafe { ::core::ptr::addr_of!((*ptr).inBufferSize) as usize - ptr as usize },
6546 4usize,
6547 concat!(
6548 "Offset of field: ",
6549 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6550 "::",
6551 stringify!(inBufferSize)
6552 )
6553 );
6554 assert_eq!(
6555 unsafe { ::core::ptr::addr_of!((*ptr).spsId) as usize - ptr as usize },
6556 8usize,
6557 concat!(
6558 "Offset of field: ",
6559 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6560 "::",
6561 stringify!(spsId)
6562 )
6563 );
6564 assert_eq!(
6565 unsafe { ::core::ptr::addr_of!((*ptr).ppsId) as usize - ptr as usize },
6566 12usize,
6567 concat!(
6568 "Offset of field: ",
6569 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6570 "::",
6571 stringify!(ppsId)
6572 )
6573 );
6574 assert_eq!(
6575 unsafe { ::core::ptr::addr_of!((*ptr).spsppsBuffer) as usize - ptr as usize },
6576 16usize,
6577 concat!(
6578 "Offset of field: ",
6579 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6580 "::",
6581 stringify!(spsppsBuffer)
6582 )
6583 );
6584 assert_eq!(
6585 unsafe { ::core::ptr::addr_of!((*ptr).outSPSPPSPayloadSize) as usize - ptr as usize },
6586 24usize,
6587 concat!(
6588 "Offset of field: ",
6589 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6590 "::",
6591 stringify!(outSPSPPSPayloadSize)
6592 )
6593 );
6594 assert_eq!(
6595 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
6596 32usize,
6597 concat!(
6598 "Offset of field: ",
6599 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6600 "::",
6601 stringify!(reserved)
6602 )
6603 );
6604 assert_eq!(
6605 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
6606 1032usize,
6607 concat!(
6608 "Offset of field: ",
6609 stringify!(_NV_ENC_SEQUENCE_PARAM_PAYLOAD),
6610 "::",
6611 stringify!(reserved2)
6612 )
6613 );
6614}
6615#[test]
6616fn bindgen_test_layout__NV_ENC_EVENT_PARAMS() {
6617 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_EVENT_PARAMS> =
6618 ::core::mem::MaybeUninit::uninit();
6619 let ptr = UNINIT.as_ptr();
6620 assert_eq!(
6621 ::core::mem::size_of::<_NV_ENC_EVENT_PARAMS>(),
6622 1544usize,
6623 concat!("Size of: ", stringify!(_NV_ENC_EVENT_PARAMS))
6624 );
6625 assert_eq!(
6626 ::core::mem::align_of::<_NV_ENC_EVENT_PARAMS>(),
6627 8usize,
6628 concat!("Alignment of ", stringify!(_NV_ENC_EVENT_PARAMS))
6629 );
6630 assert_eq!(
6631 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6632 0usize,
6633 concat!(
6634 "Offset of field: ",
6635 stringify!(_NV_ENC_EVENT_PARAMS),
6636 "::",
6637 stringify!(version)
6638 )
6639 );
6640 assert_eq!(
6641 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
6642 4usize,
6643 concat!(
6644 "Offset of field: ",
6645 stringify!(_NV_ENC_EVENT_PARAMS),
6646 "::",
6647 stringify!(reserved)
6648 )
6649 );
6650 assert_eq!(
6651 unsafe { ::core::ptr::addr_of!((*ptr).completionEvent) as usize - ptr as usize },
6652 8usize,
6653 concat!(
6654 "Offset of field: ",
6655 stringify!(_NV_ENC_EVENT_PARAMS),
6656 "::",
6657 stringify!(completionEvent)
6658 )
6659 );
6660 assert_eq!(
6661 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
6662 16usize,
6663 concat!(
6664 "Offset of field: ",
6665 stringify!(_NV_ENC_EVENT_PARAMS),
6666 "::",
6667 stringify!(reserved1)
6668 )
6669 );
6670 assert_eq!(
6671 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
6672 1032usize,
6673 concat!(
6674 "Offset of field: ",
6675 stringify!(_NV_ENC_EVENT_PARAMS),
6676 "::",
6677 stringify!(reserved2)
6678 )
6679 );
6680}
6681#[test]
6682fn bindgen_test_layout__NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS() {
6683 const UNINIT: ::core::mem::MaybeUninit<_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS> =
6684 ::core::mem::MaybeUninit::uninit();
6685 let ptr = UNINIT.as_ptr();
6686 assert_eq!(
6687 ::core::mem::size_of::<_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS>(),
6688 1552usize,
6689 concat!(
6690 "Size of: ",
6691 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS)
6692 )
6693 );
6694 assert_eq!(
6695 ::core::mem::align_of::<_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS>(),
6696 8usize,
6697 concat!(
6698 "Alignment of ",
6699 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS)
6700 )
6701 );
6702 assert_eq!(
6703 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6704 0usize,
6705 concat!(
6706 "Offset of field: ",
6707 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS),
6708 "::",
6709 stringify!(version)
6710 )
6711 );
6712 assert_eq!(
6713 unsafe { ::core::ptr::addr_of!((*ptr).deviceType) as usize - ptr as usize },
6714 4usize,
6715 concat!(
6716 "Offset of field: ",
6717 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS),
6718 "::",
6719 stringify!(deviceType)
6720 )
6721 );
6722 assert_eq!(
6723 unsafe { ::core::ptr::addr_of!((*ptr).device) as usize - ptr as usize },
6724 8usize,
6725 concat!(
6726 "Offset of field: ",
6727 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS),
6728 "::",
6729 stringify!(device)
6730 )
6731 );
6732 assert_eq!(
6733 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
6734 16usize,
6735 concat!(
6736 "Offset of field: ",
6737 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS),
6738 "::",
6739 stringify!(reserved)
6740 )
6741 );
6742 assert_eq!(
6743 unsafe { ::core::ptr::addr_of!((*ptr).apiVersion) as usize - ptr as usize },
6744 24usize,
6745 concat!(
6746 "Offset of field: ",
6747 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS),
6748 "::",
6749 stringify!(apiVersion)
6750 )
6751 );
6752 assert_eq!(
6753 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
6754 28usize,
6755 concat!(
6756 "Offset of field: ",
6757 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS),
6758 "::",
6759 stringify!(reserved1)
6760 )
6761 );
6762 assert_eq!(
6763 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
6764 1040usize,
6765 concat!(
6766 "Offset of field: ",
6767 stringify!(_NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS),
6768 "::",
6769 stringify!(reserved2)
6770 )
6771 );
6772}
6773#[test]
6774fn bindgen_test_layout__NV_ENCODE_API_FUNCTION_LIST() {
6775 const UNINIT: ::core::mem::MaybeUninit<_NV_ENCODE_API_FUNCTION_LIST> =
6776 ::core::mem::MaybeUninit::uninit();
6777 let ptr = UNINIT.as_ptr();
6778 assert_eq!(
6779 ::core::mem::size_of::<_NV_ENCODE_API_FUNCTION_LIST>(),
6780 2552usize,
6781 concat!("Size of: ", stringify!(_NV_ENCODE_API_FUNCTION_LIST))
6782 );
6783 assert_eq!(
6784 ::core::mem::align_of::<_NV_ENCODE_API_FUNCTION_LIST>(),
6785 8usize,
6786 concat!("Alignment of ", stringify!(_NV_ENCODE_API_FUNCTION_LIST))
6787 );
6788 assert_eq!(
6789 unsafe { ::core::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6790 0usize,
6791 concat!(
6792 "Offset of field: ",
6793 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6794 "::",
6795 stringify!(version)
6796 )
6797 );
6798 assert_eq!(
6799 unsafe { ::core::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
6800 4usize,
6801 concat!(
6802 "Offset of field: ",
6803 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6804 "::",
6805 stringify!(reserved)
6806 )
6807 );
6808 assert_eq!(
6809 unsafe { ::core::ptr::addr_of!((*ptr).nvEncOpenEncodeSession) as usize - ptr as usize },
6810 8usize,
6811 concat!(
6812 "Offset of field: ",
6813 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6814 "::",
6815 stringify!(nvEncOpenEncodeSession)
6816 )
6817 );
6818 assert_eq!(
6819 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodeGUIDCount) as usize - ptr as usize },
6820 16usize,
6821 concat!(
6822 "Offset of field: ",
6823 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6824 "::",
6825 stringify!(nvEncGetEncodeGUIDCount)
6826 )
6827 );
6828 assert_eq!(
6829 unsafe {
6830 ::core::ptr::addr_of!((*ptr).nvEncGetEncodeProfileGUIDCount) as usize - ptr as usize
6831 },
6832 24usize,
6833 concat!(
6834 "Offset of field: ",
6835 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6836 "::",
6837 stringify!(nvEncGetEncodeProfileGUIDCount)
6838 )
6839 );
6840 assert_eq!(
6841 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodeProfileGUIDs) as usize - ptr as usize },
6842 32usize,
6843 concat!(
6844 "Offset of field: ",
6845 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6846 "::",
6847 stringify!(nvEncGetEncodeProfileGUIDs)
6848 )
6849 );
6850 assert_eq!(
6851 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodeGUIDs) as usize - ptr as usize },
6852 40usize,
6853 concat!(
6854 "Offset of field: ",
6855 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6856 "::",
6857 stringify!(nvEncGetEncodeGUIDs)
6858 )
6859 );
6860 assert_eq!(
6861 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetInputFormatCount) as usize - ptr as usize },
6862 48usize,
6863 concat!(
6864 "Offset of field: ",
6865 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6866 "::",
6867 stringify!(nvEncGetInputFormatCount)
6868 )
6869 );
6870 assert_eq!(
6871 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetInputFormats) as usize - ptr as usize },
6872 56usize,
6873 concat!(
6874 "Offset of field: ",
6875 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6876 "::",
6877 stringify!(nvEncGetInputFormats)
6878 )
6879 );
6880 assert_eq!(
6881 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodeCaps) as usize - ptr as usize },
6882 64usize,
6883 concat!(
6884 "Offset of field: ",
6885 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6886 "::",
6887 stringify!(nvEncGetEncodeCaps)
6888 )
6889 );
6890 assert_eq!(
6891 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodePresetCount) as usize - ptr as usize },
6892 72usize,
6893 concat!(
6894 "Offset of field: ",
6895 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6896 "::",
6897 stringify!(nvEncGetEncodePresetCount)
6898 )
6899 );
6900 assert_eq!(
6901 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodePresetGUIDs) as usize - ptr as usize },
6902 80usize,
6903 concat!(
6904 "Offset of field: ",
6905 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6906 "::",
6907 stringify!(nvEncGetEncodePresetGUIDs)
6908 )
6909 );
6910 assert_eq!(
6911 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodePresetConfig) as usize - ptr as usize },
6912 88usize,
6913 concat!(
6914 "Offset of field: ",
6915 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6916 "::",
6917 stringify!(nvEncGetEncodePresetConfig)
6918 )
6919 );
6920 assert_eq!(
6921 unsafe { ::core::ptr::addr_of!((*ptr).nvEncInitializeEncoder) as usize - ptr as usize },
6922 96usize,
6923 concat!(
6924 "Offset of field: ",
6925 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6926 "::",
6927 stringify!(nvEncInitializeEncoder)
6928 )
6929 );
6930 assert_eq!(
6931 unsafe { ::core::ptr::addr_of!((*ptr).nvEncCreateInputBuffer) as usize - ptr as usize },
6932 104usize,
6933 concat!(
6934 "Offset of field: ",
6935 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6936 "::",
6937 stringify!(nvEncCreateInputBuffer)
6938 )
6939 );
6940 assert_eq!(
6941 unsafe { ::core::ptr::addr_of!((*ptr).nvEncDestroyInputBuffer) as usize - ptr as usize },
6942 112usize,
6943 concat!(
6944 "Offset of field: ",
6945 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6946 "::",
6947 stringify!(nvEncDestroyInputBuffer)
6948 )
6949 );
6950 assert_eq!(
6951 unsafe { ::core::ptr::addr_of!((*ptr).nvEncCreateBitstreamBuffer) as usize - ptr as usize },
6952 120usize,
6953 concat!(
6954 "Offset of field: ",
6955 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6956 "::",
6957 stringify!(nvEncCreateBitstreamBuffer)
6958 )
6959 );
6960 assert_eq!(
6961 unsafe {
6962 ::core::ptr::addr_of!((*ptr).nvEncDestroyBitstreamBuffer) as usize - ptr as usize
6963 },
6964 128usize,
6965 concat!(
6966 "Offset of field: ",
6967 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6968 "::",
6969 stringify!(nvEncDestroyBitstreamBuffer)
6970 )
6971 );
6972 assert_eq!(
6973 unsafe { ::core::ptr::addr_of!((*ptr).nvEncEncodePicture) as usize - ptr as usize },
6974 136usize,
6975 concat!(
6976 "Offset of field: ",
6977 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6978 "::",
6979 stringify!(nvEncEncodePicture)
6980 )
6981 );
6982 assert_eq!(
6983 unsafe { ::core::ptr::addr_of!((*ptr).nvEncLockBitstream) as usize - ptr as usize },
6984 144usize,
6985 concat!(
6986 "Offset of field: ",
6987 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6988 "::",
6989 stringify!(nvEncLockBitstream)
6990 )
6991 );
6992 assert_eq!(
6993 unsafe { ::core::ptr::addr_of!((*ptr).nvEncUnlockBitstream) as usize - ptr as usize },
6994 152usize,
6995 concat!(
6996 "Offset of field: ",
6997 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
6998 "::",
6999 stringify!(nvEncUnlockBitstream)
7000 )
7001 );
7002 assert_eq!(
7003 unsafe { ::core::ptr::addr_of!((*ptr).nvEncLockInputBuffer) as usize - ptr as usize },
7004 160usize,
7005 concat!(
7006 "Offset of field: ",
7007 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7008 "::",
7009 stringify!(nvEncLockInputBuffer)
7010 )
7011 );
7012 assert_eq!(
7013 unsafe { ::core::ptr::addr_of!((*ptr).nvEncUnlockInputBuffer) as usize - ptr as usize },
7014 168usize,
7015 concat!(
7016 "Offset of field: ",
7017 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7018 "::",
7019 stringify!(nvEncUnlockInputBuffer)
7020 )
7021 );
7022 assert_eq!(
7023 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetEncodeStats) as usize - ptr as usize },
7024 176usize,
7025 concat!(
7026 "Offset of field: ",
7027 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7028 "::",
7029 stringify!(nvEncGetEncodeStats)
7030 )
7031 );
7032 assert_eq!(
7033 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetSequenceParams) as usize - ptr as usize },
7034 184usize,
7035 concat!(
7036 "Offset of field: ",
7037 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7038 "::",
7039 stringify!(nvEncGetSequenceParams)
7040 )
7041 );
7042 assert_eq!(
7043 unsafe { ::core::ptr::addr_of!((*ptr).nvEncRegisterAsyncEvent) as usize - ptr as usize },
7044 192usize,
7045 concat!(
7046 "Offset of field: ",
7047 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7048 "::",
7049 stringify!(nvEncRegisterAsyncEvent)
7050 )
7051 );
7052 assert_eq!(
7053 unsafe { ::core::ptr::addr_of!((*ptr).nvEncUnregisterAsyncEvent) as usize - ptr as usize },
7054 200usize,
7055 concat!(
7056 "Offset of field: ",
7057 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7058 "::",
7059 stringify!(nvEncUnregisterAsyncEvent)
7060 )
7061 );
7062 assert_eq!(
7063 unsafe { ::core::ptr::addr_of!((*ptr).nvEncMapInputResource) as usize - ptr as usize },
7064 208usize,
7065 concat!(
7066 "Offset of field: ",
7067 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7068 "::",
7069 stringify!(nvEncMapInputResource)
7070 )
7071 );
7072 assert_eq!(
7073 unsafe { ::core::ptr::addr_of!((*ptr).nvEncUnmapInputResource) as usize - ptr as usize },
7074 216usize,
7075 concat!(
7076 "Offset of field: ",
7077 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7078 "::",
7079 stringify!(nvEncUnmapInputResource)
7080 )
7081 );
7082 assert_eq!(
7083 unsafe { ::core::ptr::addr_of!((*ptr).nvEncDestroyEncoder) as usize - ptr as usize },
7084 224usize,
7085 concat!(
7086 "Offset of field: ",
7087 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7088 "::",
7089 stringify!(nvEncDestroyEncoder)
7090 )
7091 );
7092 assert_eq!(
7093 unsafe { ::core::ptr::addr_of!((*ptr).nvEncInvalidateRefFrames) as usize - ptr as usize },
7094 232usize,
7095 concat!(
7096 "Offset of field: ",
7097 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7098 "::",
7099 stringify!(nvEncInvalidateRefFrames)
7100 )
7101 );
7102 assert_eq!(
7103 unsafe { ::core::ptr::addr_of!((*ptr).nvEncOpenEncodeSessionEx) as usize - ptr as usize },
7104 240usize,
7105 concat!(
7106 "Offset of field: ",
7107 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7108 "::",
7109 stringify!(nvEncOpenEncodeSessionEx)
7110 )
7111 );
7112 assert_eq!(
7113 unsafe { ::core::ptr::addr_of!((*ptr).nvEncRegisterResource) as usize - ptr as usize },
7114 248usize,
7115 concat!(
7116 "Offset of field: ",
7117 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7118 "::",
7119 stringify!(nvEncRegisterResource)
7120 )
7121 );
7122 assert_eq!(
7123 unsafe { ::core::ptr::addr_of!((*ptr).nvEncUnregisterResource) as usize - ptr as usize },
7124 256usize,
7125 concat!(
7126 "Offset of field: ",
7127 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7128 "::",
7129 stringify!(nvEncUnregisterResource)
7130 )
7131 );
7132 assert_eq!(
7133 unsafe { ::core::ptr::addr_of!((*ptr).nvEncReconfigureEncoder) as usize - ptr as usize },
7134 264usize,
7135 concat!(
7136 "Offset of field: ",
7137 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7138 "::",
7139 stringify!(nvEncReconfigureEncoder)
7140 )
7141 );
7142 assert_eq!(
7143 unsafe { ::core::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
7144 272usize,
7145 concat!(
7146 "Offset of field: ",
7147 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7148 "::",
7149 stringify!(reserved1)
7150 )
7151 );
7152 assert_eq!(
7153 unsafe { ::core::ptr::addr_of!((*ptr).nvEncCreateMVBuffer) as usize - ptr as usize },
7154 280usize,
7155 concat!(
7156 "Offset of field: ",
7157 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7158 "::",
7159 stringify!(nvEncCreateMVBuffer)
7160 )
7161 );
7162 assert_eq!(
7163 unsafe { ::core::ptr::addr_of!((*ptr).nvEncDestroyMVBuffer) as usize - ptr as usize },
7164 288usize,
7165 concat!(
7166 "Offset of field: ",
7167 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7168 "::",
7169 stringify!(nvEncDestroyMVBuffer)
7170 )
7171 );
7172 assert_eq!(
7173 unsafe {
7174 ::core::ptr::addr_of!((*ptr).nvEncRunMotionEstimationOnly) as usize - ptr as usize
7175 },
7176 296usize,
7177 concat!(
7178 "Offset of field: ",
7179 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7180 "::",
7181 stringify!(nvEncRunMotionEstimationOnly)
7182 )
7183 );
7184 assert_eq!(
7185 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetLastErrorString) as usize - ptr as usize },
7186 304usize,
7187 concat!(
7188 "Offset of field: ",
7189 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7190 "::",
7191 stringify!(nvEncGetLastErrorString)
7192 )
7193 );
7194 assert_eq!(
7195 unsafe { ::core::ptr::addr_of!((*ptr).nvEncSetIOCudaStreams) as usize - ptr as usize },
7196 312usize,
7197 concat!(
7198 "Offset of field: ",
7199 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7200 "::",
7201 stringify!(nvEncSetIOCudaStreams)
7202 )
7203 );
7204 assert_eq!(
7205 unsafe {
7206 ::core::ptr::addr_of!((*ptr).nvEncGetEncodePresetConfigEx) as usize - ptr as usize
7207 },
7208 320usize,
7209 concat!(
7210 "Offset of field: ",
7211 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7212 "::",
7213 stringify!(nvEncGetEncodePresetConfigEx)
7214 )
7215 );
7216 assert_eq!(
7217 unsafe { ::core::ptr::addr_of!((*ptr).nvEncGetSequenceParamEx) as usize - ptr as usize },
7218 328usize,
7219 concat!(
7220 "Offset of field: ",
7221 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7222 "::",
7223 stringify!(nvEncGetSequenceParamEx)
7224 )
7225 );
7226 assert_eq!(
7227 unsafe { ::core::ptr::addr_of!((*ptr).nvEncRestoreEncoderState) as usize - ptr as usize },
7228 336usize,
7229 concat!(
7230 "Offset of field: ",
7231 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7232 "::",
7233 stringify!(nvEncRestoreEncoderState)
7234 )
7235 );
7236 assert_eq!(
7237 unsafe { ::core::ptr::addr_of!((*ptr).nvEncLookaheadPicture) as usize - ptr as usize },
7238 344usize,
7239 concat!(
7240 "Offset of field: ",
7241 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7242 "::",
7243 stringify!(nvEncLookaheadPicture)
7244 )
7245 );
7246 assert_eq!(
7247 unsafe { ::core::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
7248 352usize,
7249 concat!(
7250 "Offset of field: ",
7251 stringify!(_NV_ENCODE_API_FUNCTION_LIST),
7252 "::",
7253 stringify!(reserved2)
7254 )
7255 );
7256}
7257#[repr(u32)]
7258#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7259pub enum _NV_ENC_PARAMS_FRAME_FIELD_MODE {
7260 NV_ENC_PARAMS_FRAME_FIELD_MODE_FRAME = 1,
7261 NV_ENC_PARAMS_FRAME_FIELD_MODE_FIELD = 2,
7262 NV_ENC_PARAMS_FRAME_FIELD_MODE_MBAFF = 3,
7263}
7264#[repr(u32)]
7265#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7266pub enum _NV_ENC_PARAMS_RC_MODE {
7267 NV_ENC_PARAMS_RC_CONSTQP = 0,
7268 NV_ENC_PARAMS_RC_VBR = 1,
7269 NV_ENC_PARAMS_RC_CBR = 2,
7270}
7271#[repr(u32)]
7272#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7273pub enum _NV_ENC_MULTI_PASS {
7274 NV_ENC_MULTI_PASS_DISABLED = 0,
7275 NV_ENC_TWO_PASS_QUARTER_RESOLUTION = 1,
7276 NV_ENC_TWO_PASS_FULL_RESOLUTION = 2,
7277}
7278#[repr(u32)]
7279#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7280pub enum _NV_ENC_STATE_RESTORE_TYPE {
7281 NV_ENC_STATE_RESTORE_FULL = 1,
7282 NV_ENC_STATE_RESTORE_RATE_CONTROL = 2,
7283 NV_ENC_STATE_RESTORE_ENCODE = 3,
7284}
7285#[repr(u32)]
7286#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7287pub enum _NV_ENC_OUTPUT_STATS_LEVEL {
7288 NV_ENC_OUTPUT_STATS_NONE = 0,
7289 NV_ENC_OUTPUT_STATS_BLOCK_LEVEL = 1,
7290 NV_ENC_OUTPUT_STATS_ROW_LEVEL = 2,
7291}
7292#[repr(u32)]
7293#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7294pub enum _NV_ENC_EMPHASIS_MAP_LEVEL {
7295 NV_ENC_EMPHASIS_MAP_LEVEL_0 = 0,
7296 NV_ENC_EMPHASIS_MAP_LEVEL_1 = 1,
7297 NV_ENC_EMPHASIS_MAP_LEVEL_2 = 2,
7298 NV_ENC_EMPHASIS_MAP_LEVEL_3 = 3,
7299 NV_ENC_EMPHASIS_MAP_LEVEL_4 = 4,
7300 NV_ENC_EMPHASIS_MAP_LEVEL_5 = 5,
7301}
7302#[repr(u32)]
7303#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7304pub enum _NV_ENC_QP_MAP_MODE {
7305 NV_ENC_QP_MAP_DISABLED = 0,
7306 NV_ENC_QP_MAP_EMPHASIS = 1,
7307 NV_ENC_QP_MAP_DELTA = 2,
7308 NV_ENC_QP_MAP = 3,
7309}
7310#[repr(u32)]
7311#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7312pub enum _NV_ENC_PIC_STRUCT {
7313 NV_ENC_PIC_STRUCT_FRAME = 1,
7314 NV_ENC_PIC_STRUCT_FIELD_TOP_BOTTOM = 2,
7315 NV_ENC_PIC_STRUCT_FIELD_BOTTOM_TOP = 3,
7316}
7317#[repr(u32)]
7318#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7319pub enum _NV_ENC_DISPLAY_PIC_STRUCT {
7320 NV_ENC_PIC_STRUCT_DISPLAY_FRAME = 0,
7321 NV_ENC_PIC_STRUCT_DISPLAY_FIELD_TOP_BOTTOM = 1,
7322 NV_ENC_PIC_STRUCT_DISPLAY_FIELD_BOTTOM_TOP = 2,
7323 NV_ENC_PIC_STRUCT_DISPLAY_FRAME_DOUBLING = 3,
7324 NV_ENC_PIC_STRUCT_DISPLAY_FRAME_TRIPLING = 4,
7325}
7326#[repr(u32)]
7327#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7328pub enum _NV_ENC_PIC_TYPE {
7329 NV_ENC_PIC_TYPE_P = 0,
7330 NV_ENC_PIC_TYPE_B = 1,
7331 NV_ENC_PIC_TYPE_I = 2,
7332 NV_ENC_PIC_TYPE_IDR = 3,
7333 NV_ENC_PIC_TYPE_BI = 4,
7334 NV_ENC_PIC_TYPE_SKIPPED = 5,
7335 NV_ENC_PIC_TYPE_INTRA_REFRESH = 6,
7336 NV_ENC_PIC_TYPE_NONREF_P = 7,
7337 NV_ENC_PIC_TYPE_UNKNOWN = 255,
7338}
7339#[repr(u32)]
7340#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7341pub enum _NV_ENC_MV_PRECISION {
7342 NV_ENC_MV_PRECISION_DEFAULT = 0,
7343 NV_ENC_MV_PRECISION_FULL_PEL = 1,
7344 NV_ENC_MV_PRECISION_HALF_PEL = 2,
7345 NV_ENC_MV_PRECISION_QUARTER_PEL = 3,
7346}
7347#[repr(u32)]
7348#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7349pub enum _NV_ENC_BUFFER_FORMAT {
7350 NV_ENC_BUFFER_FORMAT_UNDEFINED = 0,
7351 NV_ENC_BUFFER_FORMAT_NV12 = 1,
7352 NV_ENC_BUFFER_FORMAT_YV12 = 16,
7353 NV_ENC_BUFFER_FORMAT_IYUV = 256,
7354 NV_ENC_BUFFER_FORMAT_YUV444 = 4096,
7355 NV_ENC_BUFFER_FORMAT_YUV420_10BIT = 65536,
7356 NV_ENC_BUFFER_FORMAT_YUV444_10BIT = 1048576,
7357 NV_ENC_BUFFER_FORMAT_ARGB = 16777216,
7358 NV_ENC_BUFFER_FORMAT_ARGB10 = 33554432,
7359 NV_ENC_BUFFER_FORMAT_AYUV = 67108864,
7360 NV_ENC_BUFFER_FORMAT_ABGR = 268435456,
7361 NV_ENC_BUFFER_FORMAT_ABGR10 = 536870912,
7362 NV_ENC_BUFFER_FORMAT_U8 = 1073741824,
7363}
7364#[repr(u32)]
7365#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7366pub enum _NV_ENC_LEVEL {
7367 NV_ENC_LEVEL_AUTOSELECT = 0,
7368 NV_ENC_LEVEL_H264_1 = 10,
7369 NV_ENC_LEVEL_H264_1b = 9,
7370 NV_ENC_LEVEL_H264_11 = 11,
7371 NV_ENC_LEVEL_H264_12 = 12,
7372 NV_ENC_LEVEL_H264_13 = 13,
7373 NV_ENC_LEVEL_H264_2 = 20,
7374 NV_ENC_LEVEL_H264_21 = 21,
7375 NV_ENC_LEVEL_H264_22 = 22,
7376 NV_ENC_LEVEL_H264_3 = 30,
7377 NV_ENC_LEVEL_H264_31 = 31,
7378 NV_ENC_LEVEL_H264_32 = 32,
7379 NV_ENC_LEVEL_H264_4 = 40,
7380 NV_ENC_LEVEL_H264_41 = 41,
7381 NV_ENC_LEVEL_H264_42 = 42,
7382 NV_ENC_LEVEL_H264_5 = 50,
7383 NV_ENC_LEVEL_H264_51 = 51,
7384 NV_ENC_LEVEL_H264_52 = 52,
7385 NV_ENC_LEVEL_H264_60 = 60,
7386 NV_ENC_LEVEL_H264_61 = 61,
7387 NV_ENC_LEVEL_H264_62 = 62,
7388 NV_ENC_LEVEL_HEVC_21 = 63,
7389 NV_ENC_LEVEL_HEVC_3 = 90,
7390 NV_ENC_LEVEL_HEVC_31 = 93,
7391 NV_ENC_LEVEL_HEVC_4 = 120,
7392 NV_ENC_LEVEL_HEVC_41 = 123,
7393 NV_ENC_LEVEL_HEVC_5 = 150,
7394 NV_ENC_LEVEL_HEVC_51 = 153,
7395 NV_ENC_LEVEL_HEVC_52 = 156,
7396 NV_ENC_LEVEL_HEVC_6 = 180,
7397 NV_ENC_LEVEL_HEVC_61 = 183,
7398 NV_ENC_LEVEL_HEVC_62 = 186,
7399 NV_ENC_TIER_HEVC_HIGH = 1,
7400 NV_ENC_LEVEL_AV1_22 = 2,
7401 NV_ENC_LEVEL_AV1_23 = 3,
7402 NV_ENC_LEVEL_AV1_3 = 4,
7403 NV_ENC_LEVEL_AV1_31 = 5,
7404 NV_ENC_LEVEL_AV1_32 = 6,
7405 NV_ENC_LEVEL_AV1_33 = 7,
7406 NV_ENC_LEVEL_AV1_4 = 8,
7407 NV_ENC_LEVEL_AV1_52 = 14,
7408 NV_ENC_LEVEL_AV1_53 = 15,
7409 NV_ENC_LEVEL_AV1_6 = 16,
7410 NV_ENC_LEVEL_AV1_61 = 17,
7411 NV_ENC_LEVEL_AV1_62 = 18,
7412 NV_ENC_LEVEL_AV1_63 = 19,
7413 NV_ENC_LEVEL_AV1_73 = 23,
7414 NV_ENC_LEVEL_AV1_AUTOSELECT = 24,
7415}
7416#[repr(u32)]
7417#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7418pub enum _NVENCSTATUS {
7419 NV_ENC_SUCCESS = 0,
7420 NV_ENC_ERR_NO_ENCODE_DEVICE = 1,
7421 NV_ENC_ERR_UNSUPPORTED_DEVICE = 2,
7422 NV_ENC_ERR_INVALID_ENCODERDEVICE = 3,
7423 NV_ENC_ERR_INVALID_DEVICE = 4,
7424 NV_ENC_ERR_DEVICE_NOT_EXIST = 5,
7425 NV_ENC_ERR_INVALID_PTR = 6,
7426 NV_ENC_ERR_INVALID_EVENT = 7,
7427 NV_ENC_ERR_INVALID_PARAM = 8,
7428 NV_ENC_ERR_INVALID_CALL = 9,
7429 NV_ENC_ERR_OUT_OF_MEMORY = 10,
7430 NV_ENC_ERR_ENCODER_NOT_INITIALIZED = 11,
7431 NV_ENC_ERR_UNSUPPORTED_PARAM = 12,
7432 NV_ENC_ERR_LOCK_BUSY = 13,
7433 NV_ENC_ERR_NOT_ENOUGH_BUFFER = 14,
7434 NV_ENC_ERR_INVALID_VERSION = 15,
7435 NV_ENC_ERR_MAP_FAILED = 16,
7436 NV_ENC_ERR_NEED_MORE_INPUT = 17,
7437 NV_ENC_ERR_ENCODER_BUSY = 18,
7438 NV_ENC_ERR_EVENT_NOT_REGISTERD = 19,
7439 NV_ENC_ERR_GENERIC = 20,
7440 NV_ENC_ERR_INCOMPATIBLE_CLIENT_KEY = 21,
7441 NV_ENC_ERR_UNIMPLEMENTED = 22,
7442 NV_ENC_ERR_RESOURCE_REGISTER_FAILED = 23,
7443 NV_ENC_ERR_RESOURCE_NOT_REGISTERED = 24,
7444 NV_ENC_ERR_RESOURCE_NOT_MAPPED = 25,
7445 NV_ENC_ERR_NEED_MORE_OUTPUT = 26,
7446}
7447#[repr(u32)]
7448#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7449pub enum _NV_ENC_PIC_FLAGS {
7450 NV_ENC_PIC_FLAG_FORCEINTRA = 1,
7451 NV_ENC_PIC_FLAG_FORCEIDR = 2,
7452 NV_ENC_PIC_FLAG_OUTPUT_SPSPPS = 4,
7453 NV_ENC_PIC_FLAG_EOS = 8,
7454 NV_ENC_PIC_FLAG_DISABLE_ENC_STATE_ADVANCE = 16,
7455 NV_ENC_PIC_FLAG_OUTPUT_RECON_FRAME = 32,
7456}
7457#[repr(u32)]
7458#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7459pub enum _NV_ENC_MEMORY_HEAP {
7460 NV_ENC_MEMORY_HEAP_AUTOSELECT = 0,
7461 NV_ENC_MEMORY_HEAP_VID = 1,
7462 NV_ENC_MEMORY_HEAP_SYSMEM_CACHED = 2,
7463 NV_ENC_MEMORY_HEAP_SYSMEM_UNCACHED = 3,
7464}
7465#[repr(u32)]
7466#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7467pub enum _NV_ENC_BFRAME_REF_MODE {
7468 NV_ENC_BFRAME_REF_MODE_DISABLED = 0,
7469 NV_ENC_BFRAME_REF_MODE_EACH = 1,
7470 NV_ENC_BFRAME_REF_MODE_MIDDLE = 2,
7471}
7472#[repr(u32)]
7473#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7474pub enum _NV_ENC_H264_ENTROPY_CODING_MODE {
7475 NV_ENC_H264_ENTROPY_CODING_MODE_AUTOSELECT = 0,
7476 NV_ENC_H264_ENTROPY_CODING_MODE_CABAC = 1,
7477 NV_ENC_H264_ENTROPY_CODING_MODE_CAVLC = 2,
7478}
7479#[repr(u32)]
7480#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7481pub enum _NV_ENC_H264_BDIRECT_MODE {
7482 NV_ENC_H264_BDIRECT_MODE_AUTOSELECT = 0,
7483 NV_ENC_H264_BDIRECT_MODE_DISABLE = 1,
7484 NV_ENC_H264_BDIRECT_MODE_TEMPORAL = 2,
7485 NV_ENC_H264_BDIRECT_MODE_SPATIAL = 3,
7486}
7487#[repr(u32)]
7488#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7489pub enum _NV_ENC_H264_FMO_MODE {
7490 NV_ENC_H264_FMO_AUTOSELECT = 0,
7491 NV_ENC_H264_FMO_ENABLE = 1,
7492 NV_ENC_H264_FMO_DISABLE = 2,
7493}
7494#[repr(u32)]
7495#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7496pub enum _NV_ENC_H264_ADAPTIVE_TRANSFORM_MODE {
7497 NV_ENC_H264_ADAPTIVE_TRANSFORM_AUTOSELECT = 0,
7498 NV_ENC_H264_ADAPTIVE_TRANSFORM_DISABLE = 1,
7499 NV_ENC_H264_ADAPTIVE_TRANSFORM_ENABLE = 2,
7500}
7501#[repr(u32)]
7502#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7503pub enum _NV_ENC_STEREO_PACKING_MODE {
7504 NV_ENC_STEREO_PACKING_MODE_NONE = 0,
7505 NV_ENC_STEREO_PACKING_MODE_CHECKERBOARD = 1,
7506 NV_ENC_STEREO_PACKING_MODE_COLINTERLEAVE = 2,
7507 NV_ENC_STEREO_PACKING_MODE_ROWINTERLEAVE = 3,
7508 NV_ENC_STEREO_PACKING_MODE_SIDEBYSIDE = 4,
7509 NV_ENC_STEREO_PACKING_MODE_TOPBOTTOM = 5,
7510 NV_ENC_STEREO_PACKING_MODE_FRAMESEQ = 6,
7511}
7512#[repr(u32)]
7513#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7514pub enum _NV_ENC_INPUT_RESOURCE_TYPE {
7515 NV_ENC_INPUT_RESOURCE_TYPE_DIRECTX = 0,
7516 NV_ENC_INPUT_RESOURCE_TYPE_CUDADEVICEPTR = 1,
7517 NV_ENC_INPUT_RESOURCE_TYPE_CUDAARRAY = 2,
7518 NV_ENC_INPUT_RESOURCE_TYPE_OPENGL_TEX = 3,
7519}
7520#[repr(u32)]
7521#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7522pub enum _NV_ENC_BUFFER_USAGE {
7523 NV_ENC_INPUT_IMAGE = 0,
7524 NV_ENC_OUTPUT_MOTION_VECTOR = 1,
7525 NV_ENC_OUTPUT_BITSTREAM = 2,
7526 NV_ENC_OUTPUT_RECON = 4,
7527}
7528#[repr(u32)]
7529#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7530pub enum _NV_ENC_DEVICE_TYPE {
7531 NV_ENC_DEVICE_TYPE_DIRECTX = 0,
7532 NV_ENC_DEVICE_TYPE_CUDA = 1,
7533 NV_ENC_DEVICE_TYPE_OPENGL = 2,
7534}
7535#[repr(u32)]
7536#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7537pub enum _NV_ENC_NUM_REF_FRAMES {
7538 NV_ENC_NUM_REF_FRAMES_AUTOSELECT = 0,
7539 NV_ENC_NUM_REF_FRAMES_1 = 1,
7540 NV_ENC_NUM_REF_FRAMES_2 = 2,
7541 NV_ENC_NUM_REF_FRAMES_3 = 3,
7542 NV_ENC_NUM_REF_FRAMES_4 = 4,
7543 NV_ENC_NUM_REF_FRAMES_5 = 5,
7544 NV_ENC_NUM_REF_FRAMES_6 = 6,
7545 NV_ENC_NUM_REF_FRAMES_7 = 7,
7546}
7547#[repr(u32)]
7548#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7549pub enum _NV_ENC_CAPS {
7550 NV_ENC_CAPS_NUM_MAX_BFRAMES = 0,
7551 NV_ENC_CAPS_SUPPORTED_RATECONTROL_MODES = 1,
7552 NV_ENC_CAPS_SUPPORT_FIELD_ENCODING = 2,
7553 NV_ENC_CAPS_SUPPORT_MONOCHROME = 3,
7554 NV_ENC_CAPS_SUPPORT_FMO = 4,
7555 NV_ENC_CAPS_SUPPORT_QPELMV = 5,
7556 NV_ENC_CAPS_SUPPORT_BDIRECT_MODE = 6,
7557 NV_ENC_CAPS_SUPPORT_CABAC = 7,
7558 NV_ENC_CAPS_SUPPORT_ADAPTIVE_TRANSFORM = 8,
7559 NV_ENC_CAPS_SUPPORT_STEREO_MVC = 9,
7560 NV_ENC_CAPS_NUM_MAX_TEMPORAL_LAYERS = 10,
7561 NV_ENC_CAPS_SUPPORT_HIERARCHICAL_PFRAMES = 11,
7562 NV_ENC_CAPS_SUPPORT_HIERARCHICAL_BFRAMES = 12,
7563 NV_ENC_CAPS_LEVEL_MAX = 13,
7564 NV_ENC_CAPS_LEVEL_MIN = 14,
7565 NV_ENC_CAPS_SEPARATE_COLOUR_PLANE = 15,
7566 NV_ENC_CAPS_WIDTH_MAX = 16,
7567 NV_ENC_CAPS_HEIGHT_MAX = 17,
7568 NV_ENC_CAPS_SUPPORT_TEMPORAL_SVC = 18,
7569 NV_ENC_CAPS_SUPPORT_DYN_RES_CHANGE = 19,
7570 NV_ENC_CAPS_SUPPORT_DYN_BITRATE_CHANGE = 20,
7571 NV_ENC_CAPS_SUPPORT_DYN_FORCE_CONSTQP = 21,
7572 NV_ENC_CAPS_SUPPORT_DYN_RCMODE_CHANGE = 22,
7573 NV_ENC_CAPS_SUPPORT_SUBFRAME_READBACK = 23,
7574 NV_ENC_CAPS_SUPPORT_CONSTRAINED_ENCODING = 24,
7575 NV_ENC_CAPS_SUPPORT_INTRA_REFRESH = 25,
7576 NV_ENC_CAPS_SUPPORT_CUSTOM_VBV_BUF_SIZE = 26,
7577 NV_ENC_CAPS_SUPPORT_DYNAMIC_SLICE_MODE = 27,
7578 NV_ENC_CAPS_SUPPORT_REF_PIC_INVALIDATION = 28,
7579 NV_ENC_CAPS_PREPROC_SUPPORT = 29,
7580 NV_ENC_CAPS_ASYNC_ENCODE_SUPPORT = 30,
7581 NV_ENC_CAPS_MB_NUM_MAX = 31,
7582 NV_ENC_CAPS_MB_PER_SEC_MAX = 32,
7583 NV_ENC_CAPS_SUPPORT_YUV444_ENCODE = 33,
7584 NV_ENC_CAPS_SUPPORT_LOSSLESS_ENCODE = 34,
7585 NV_ENC_CAPS_SUPPORT_SAO = 35,
7586 NV_ENC_CAPS_SUPPORT_MEONLY_MODE = 36,
7587 NV_ENC_CAPS_SUPPORT_LOOKAHEAD = 37,
7588 NV_ENC_CAPS_SUPPORT_TEMPORAL_AQ = 38,
7589 NV_ENC_CAPS_SUPPORT_10BIT_ENCODE = 39,
7590 NV_ENC_CAPS_NUM_MAX_LTR_FRAMES = 40,
7591 NV_ENC_CAPS_SUPPORT_WEIGHTED_PREDICTION = 41,
7592 NV_ENC_CAPS_DYNAMIC_QUERY_ENCODER_CAPACITY = 42,
7593 NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE = 43,
7594 NV_ENC_CAPS_SUPPORT_EMPHASIS_LEVEL_MAP = 44,
7595 NV_ENC_CAPS_WIDTH_MIN = 45,
7596 NV_ENC_CAPS_HEIGHT_MIN = 46,
7597 NV_ENC_CAPS_SUPPORT_MULTIPLE_REF_FRAMES = 47,
7598 NV_ENC_CAPS_SUPPORT_ALPHA_LAYER_ENCODING = 48,
7599 NV_ENC_CAPS_NUM_ENCODER_ENGINES = 49,
7600 NV_ENC_CAPS_SINGLE_SLICE_INTRA_REFRESH = 50,
7601 NV_ENC_CAPS_DISABLE_ENC_STATE_ADVANCE = 51,
7602 NV_ENC_CAPS_OUTPUT_RECON_SURFACE = 52,
7603 NV_ENC_CAPS_OUTPUT_BLOCK_STATS = 53,
7604 NV_ENC_CAPS_OUTPUT_ROW_STATS = 54,
7605 NV_ENC_CAPS_EXPOSED_COUNT = 55,
7606}
7607#[repr(u32)]
7608#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7609pub enum _NV_ENC_HEVC_CUSIZE {
7610 NV_ENC_HEVC_CUSIZE_AUTOSELECT = 0,
7611 NV_ENC_HEVC_CUSIZE_8x8 = 1,
7612 NV_ENC_HEVC_CUSIZE_16x16 = 2,
7613 NV_ENC_HEVC_CUSIZE_32x32 = 3,
7614 NV_ENC_HEVC_CUSIZE_64x64 = 4,
7615}
7616#[repr(u32)]
7617#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7618pub enum _NV_ENC_AV1_PART_SIZE {
7619 NV_ENC_AV1_PART_SIZE_AUTOSELECT = 0,
7620 NV_ENC_AV1_PART_SIZE_4x4 = 1,
7621 NV_ENC_AV1_PART_SIZE_8x8 = 2,
7622 NV_ENC_AV1_PART_SIZE_16x16 = 3,
7623 NV_ENC_AV1_PART_SIZE_32x32 = 4,
7624 NV_ENC_AV1_PART_SIZE_64x64 = 5,
7625}
7626#[repr(u32)]
7627#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7628pub enum _NV_ENC_VUI_VIDEO_FORMAT {
7629 NV_ENC_VUI_VIDEO_FORMAT_COMPONENT = 0,
7630 NV_ENC_VUI_VIDEO_FORMAT_PAL = 1,
7631 NV_ENC_VUI_VIDEO_FORMAT_NTSC = 2,
7632 NV_ENC_VUI_VIDEO_FORMAT_SECAM = 3,
7633 NV_ENC_VUI_VIDEO_FORMAT_MAC = 4,
7634 NV_ENC_VUI_VIDEO_FORMAT_UNSPECIFIED = 5,
7635}
7636#[repr(u32)]
7637#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7638pub enum _NV_ENC_VUI_COLOR_PRIMARIES {
7639 NV_ENC_VUI_COLOR_PRIMARIES_UNDEFINED = 0,
7640 NV_ENC_VUI_COLOR_PRIMARIES_BT709 = 1,
7641 NV_ENC_VUI_COLOR_PRIMARIES_UNSPECIFIED = 2,
7642 NV_ENC_VUI_COLOR_PRIMARIES_RESERVED = 3,
7643 NV_ENC_VUI_COLOR_PRIMARIES_BT470M = 4,
7644 NV_ENC_VUI_COLOR_PRIMARIES_BT470BG = 5,
7645 NV_ENC_VUI_COLOR_PRIMARIES_SMPTE170M = 6,
7646 NV_ENC_VUI_COLOR_PRIMARIES_SMPTE240M = 7,
7647 NV_ENC_VUI_COLOR_PRIMARIES_FILM = 8,
7648 NV_ENC_VUI_COLOR_PRIMARIES_BT2020 = 9,
7649 NV_ENC_VUI_COLOR_PRIMARIES_SMPTE428 = 10,
7650 NV_ENC_VUI_COLOR_PRIMARIES_SMPTE431 = 11,
7651 NV_ENC_VUI_COLOR_PRIMARIES_SMPTE432 = 12,
7652 NV_ENC_VUI_COLOR_PRIMARIES_JEDEC_P22 = 22,
7653}
7654#[repr(u32)]
7655#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7656pub enum _NV_ENC_VUI_TRANSFER_CHARACTERISTIC {
7657 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_UNDEFINED = 0,
7658 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT709 = 1,
7659 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_UNSPECIFIED = 2,
7660 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_RESERVED = 3,
7661 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT470M = 4,
7662 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT470BG = 5,
7663 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE170M = 6,
7664 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE240M = 7,
7665 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_LINEAR = 8,
7666 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_LOG = 9,
7667 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_LOG_SQRT = 10,
7668 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_IEC61966_2_4 = 11,
7669 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT1361_ECG = 12,
7670 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SRGB = 13,
7671 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT2020_10 = 14,
7672 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_BT2020_12 = 15,
7673 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE2084 = 16,
7674 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_SMPTE428 = 17,
7675 NV_ENC_VUI_TRANSFER_CHARACTERISTIC_ARIB_STD_B67 = 18,
7676}
7677#[repr(u32)]
7678#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7679pub enum _NV_ENC_VUI_MATRIX_COEFFS {
7680 NV_ENC_VUI_MATRIX_COEFFS_RGB = 0,
7681 NV_ENC_VUI_MATRIX_COEFFS_BT709 = 1,
7682 NV_ENC_VUI_MATRIX_COEFFS_UNSPECIFIED = 2,
7683 NV_ENC_VUI_MATRIX_COEFFS_RESERVED = 3,
7684 NV_ENC_VUI_MATRIX_COEFFS_FCC = 4,
7685 NV_ENC_VUI_MATRIX_COEFFS_BT470BG = 5,
7686 NV_ENC_VUI_MATRIX_COEFFS_SMPTE170M = 6,
7687 NV_ENC_VUI_MATRIX_COEFFS_SMPTE240M = 7,
7688 NV_ENC_VUI_MATRIX_COEFFS_YCGCO = 8,
7689 NV_ENC_VUI_MATRIX_COEFFS_BT2020_NCL = 9,
7690 NV_ENC_VUI_MATRIX_COEFFS_BT2020_CL = 10,
7691 NV_ENC_VUI_MATRIX_COEFFS_SMPTE2085 = 11,
7692}
7693#[repr(u32)]
7694#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7695pub enum NV_ENC_TUNING_INFO {
7696 NV_ENC_TUNING_INFO_UNDEFINED = 0,
7697 NV_ENC_TUNING_INFO_HIGH_QUALITY = 1,
7698 NV_ENC_TUNING_INFO_LOW_LATENCY = 2,
7699 NV_ENC_TUNING_INFO_ULTRA_LOW_LATENCY = 3,
7700 NV_ENC_TUNING_INFO_LOSSLESS = 4,
7701 NV_ENC_TUNING_INFO_COUNT = 5,
7702}
7703#[repr(u32)]
7704#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
7705pub enum _NV_ENC_SPLIT_ENCODE_MODE {
7706 NV_ENC_SPLIT_AUTO_MODE = 0,
7707 NV_ENC_SPLIT_AUTO_FORCED_MODE = 1,
7708 NV_ENC_SPLIT_TWO_FORCED_MODE = 2,
7709 NV_ENC_SPLIT_THREE_FORCED_MODE = 3,
7710 NV_ENC_SPLIT_DISABLE_MODE = 15,
7711}
7712#[repr(C)]
7713#[derive(Copy, Clone)]
7714pub union _NV_ENC_CODEC_CONFIG {
7715 pub h264Config: NV_ENC_CONFIG_H264,
7716 pub hevcConfig: NV_ENC_CONFIG_HEVC,
7717 pub av1Config: NV_ENC_CONFIG_AV1,
7718 pub h264MeOnlyConfig: NV_ENC_CONFIG_H264_MEONLY,
7719 pub hevcMeOnlyConfig: NV_ENC_CONFIG_HEVC_MEONLY,
7720 pub reserved: [u32; 320usize],
7721}
7722#[repr(C)]
7723#[derive(Copy, Clone)]
7724pub union _NV_ENC_PIC_PARAMS_H264_EXT {
7725 pub mvcPicParams: NV_ENC_PIC_PARAMS_MVC,
7726 pub reserved1: [u32; 32usize],
7727}
7728#[repr(C)]
7729#[derive(Copy, Clone)]
7730pub union _NV_ENC_CODEC_PIC_PARAMS {
7731 pub h264PicParams: NV_ENC_PIC_PARAMS_H264,
7732 pub hevcPicParams: NV_ENC_PIC_PARAMS_HEVC,
7733 pub av1PicParams: NV_ENC_PIC_PARAMS_AV1,
7734 pub reserved: [u32; 256usize],
7735}
7736impl<Storage> __BindgenBitfieldUnit<Storage> {
7737 #[inline]
7738 pub const fn new(storage: Storage) -> Self {
7739 Self { storage }
7740 }
7741}
7742impl<Storage> __BindgenBitfieldUnit<Storage>
7743where
7744 Storage: AsRef<[u8]> + AsMut<[u8]>,
7745{
7746 #[inline]
7747 pub fn get_bit(&self, index: usize) -> bool {
7748 debug_assert!(index / 8 < self.storage.as_ref().len());
7749 let byte_index = index / 8;
7750 let byte = self.storage.as_ref()[byte_index];
7751 let bit_index = if cfg!(target_endian = "big") {
7752 7 - (index % 8)
7753 } else {
7754 index % 8
7755 };
7756 let mask = 1 << bit_index;
7757 byte & mask == mask
7758 }
7759
7760 #[inline]
7761 pub fn set_bit(&mut self, index: usize, val: bool) {
7762 debug_assert!(index / 8 < self.storage.as_ref().len());
7763 let byte_index = index / 8;
7764 let byte = &mut self.storage.as_mut()[byte_index];
7765 let bit_index = if cfg!(target_endian = "big") {
7766 7 - (index % 8)
7767 } else {
7768 index % 8
7769 };
7770 let mask = 1 << bit_index;
7771 if val {
7772 *byte |= mask;
7773 } else {
7774 *byte &= !mask;
7775 }
7776 }
7777
7778 #[inline]
7779 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
7780 debug_assert!(bit_width <= 64);
7781 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
7782 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
7783 let mut val = 0;
7784 for i in 0..(bit_width as usize) {
7785 if self.get_bit(i + bit_offset) {
7786 let index = if cfg!(target_endian = "big") {
7787 bit_width as usize - 1 - i
7788 } else {
7789 i
7790 };
7791 val |= 1 << index;
7792 }
7793 }
7794 val
7795 }
7796
7797 #[inline]
7798 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
7799 debug_assert!(bit_width <= 64);
7800 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
7801 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
7802 for i in 0..(bit_width as usize) {
7803 let mask = 1 << i;
7804 let val_bit_is_set = val & mask == mask;
7805 let index = if cfg!(target_endian = "big") {
7806 bit_width as usize - 1 - i
7807 } else {
7808 i
7809 };
7810 self.set_bit(index + bit_offset, val_bit_is_set);
7811 }
7812 }
7813}
7814impl _NV_ENC_LEVEL {
7815 pub const NV_ENC_LEVEL_HEVC_1: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_3;
7816}
7817impl _NV_ENC_LEVEL {
7818 pub const NV_ENC_LEVEL_HEVC_2: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_60;
7819}
7820impl _NV_ENC_LEVEL {
7821 pub const NV_ENC_TIER_HEVC_MAIN: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_AUTOSELECT;
7822}
7823impl _NV_ENC_LEVEL {
7824 pub const NV_ENC_LEVEL_AV1_2: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_AUTOSELECT;
7825}
7826impl _NV_ENC_LEVEL {
7827 pub const NV_ENC_LEVEL_AV1_21: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_TIER_HEVC_HIGH;
7828}
7829impl _NV_ENC_LEVEL {
7830 pub const NV_ENC_LEVEL_AV1_41: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_1b;
7831}
7832impl _NV_ENC_LEVEL {
7833 pub const NV_ENC_LEVEL_AV1_42: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_1;
7834}
7835impl _NV_ENC_LEVEL {
7836 pub const NV_ENC_LEVEL_AV1_43: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_11;
7837}
7838impl _NV_ENC_LEVEL {
7839 pub const NV_ENC_LEVEL_AV1_5: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_12;
7840}
7841impl _NV_ENC_LEVEL {
7842 pub const NV_ENC_LEVEL_AV1_51: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_13;
7843}
7844impl _NV_ENC_LEVEL {
7845 pub const NV_ENC_LEVEL_AV1_7: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_2;
7846}
7847impl _NV_ENC_LEVEL {
7848 pub const NV_ENC_LEVEL_AV1_71: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_21;
7849}
7850impl _NV_ENC_LEVEL {
7851 pub const NV_ENC_LEVEL_AV1_72: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_H264_22;
7852}
7853impl _NV_ENC_LEVEL {
7854 pub const NV_ENC_TIER_AV1_0: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_LEVEL_AUTOSELECT;
7855}
7856impl _NV_ENC_LEVEL {
7857 pub const NV_ENC_TIER_AV1_1: _NV_ENC_LEVEL = _NV_ENC_LEVEL::NV_ENC_TIER_HEVC_HIGH;
7858}
7859impl Default for _NV_ENC_CAPS_PARAM {
7860 fn default() -> Self {
7861 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7862 unsafe {
7863 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7864 s.assume_init()
7865 }
7866 }
7867}
7868impl Default for _NV_ENC_RESTORE_ENCODER_STATE_PARAMS {
7869 fn default() -> Self {
7870 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7871 unsafe {
7872 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7873 s.assume_init()
7874 }
7875 }
7876}
7877impl Default for _NV_ENC_ENCODE_OUT_PARAMS {
7878 fn default() -> Self {
7879 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7880 unsafe {
7881 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7882 s.assume_init()
7883 }
7884 }
7885}
7886impl Default for _NV_ENC_LOOKAHEAD_PIC_PARAMS {
7887 fn default() -> Self {
7888 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7889 unsafe {
7890 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7891 s.assume_init()
7892 }
7893 }
7894}
7895impl Default for _NV_ENC_CREATE_INPUT_BUFFER {
7896 fn default() -> Self {
7897 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7898 unsafe {
7899 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7900 s.assume_init()
7901 }
7902 }
7903}
7904impl Default for _NV_ENC_CREATE_BITSTREAM_BUFFER {
7905 fn default() -> Self {
7906 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7907 unsafe {
7908 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7909 s.assume_init()
7910 }
7911 }
7912}
7913impl Default for _NV_ENC_CREATE_MV_BUFFER {
7914 fn default() -> Self {
7915 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7916 unsafe {
7917 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7918 s.assume_init()
7919 }
7920 }
7921}
7922impl Default for _NV_ENC_RC_PARAMS {
7923 fn default() -> Self {
7924 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
7925 unsafe {
7926 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7927 s.assume_init()
7928 }
7929 }
7930}
7931impl _NV_ENC_RC_PARAMS {
7932 #[inline]
7933 pub fn enableMinQP(&self) -> u32 {
7934 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7935 }
7936
7937 #[inline]
7938 pub fn set_enableMinQP(&mut self, val: u32) {
7939 unsafe {
7940 let val: u32 = ::core::mem::transmute(val);
7941 self._bitfield_1.set(0usize, 1u8, val as u64)
7942 }
7943 }
7944
7945 #[inline]
7946 pub fn enableMaxQP(&self) -> u32 {
7947 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7948 }
7949
7950 #[inline]
7951 pub fn set_enableMaxQP(&mut self, val: u32) {
7952 unsafe {
7953 let val: u32 = ::core::mem::transmute(val);
7954 self._bitfield_1.set(1usize, 1u8, val as u64)
7955 }
7956 }
7957
7958 #[inline]
7959 pub fn enableInitialRCQP(&self) -> u32 {
7960 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
7961 }
7962
7963 #[inline]
7964 pub fn set_enableInitialRCQP(&mut self, val: u32) {
7965 unsafe {
7966 let val: u32 = ::core::mem::transmute(val);
7967 self._bitfield_1.set(2usize, 1u8, val as u64)
7968 }
7969 }
7970
7971 #[inline]
7972 pub fn enableAQ(&self) -> u32 {
7973 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
7974 }
7975
7976 #[inline]
7977 pub fn set_enableAQ(&mut self, val: u32) {
7978 unsafe {
7979 let val: u32 = ::core::mem::transmute(val);
7980 self._bitfield_1.set(3usize, 1u8, val as u64)
7981 }
7982 }
7983
7984 #[inline]
7985 pub fn reservedBitField1(&self) -> u32 {
7986 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
7987 }
7988
7989 #[inline]
7990 pub fn set_reservedBitField1(&mut self, val: u32) {
7991 unsafe {
7992 let val: u32 = ::core::mem::transmute(val);
7993 self._bitfield_1.set(4usize, 1u8, val as u64)
7994 }
7995 }
7996
7997 #[inline]
7998 pub fn enableLookahead(&self) -> u32 {
7999 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
8000 }
8001
8002 #[inline]
8003 pub fn set_enableLookahead(&mut self, val: u32) {
8004 unsafe {
8005 let val: u32 = ::core::mem::transmute(val);
8006 self._bitfield_1.set(5usize, 1u8, val as u64)
8007 }
8008 }
8009
8010 #[inline]
8011 pub fn disableIadapt(&self) -> u32 {
8012 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
8013 }
8014
8015 #[inline]
8016 pub fn set_disableIadapt(&mut self, val: u32) {
8017 unsafe {
8018 let val: u32 = ::core::mem::transmute(val);
8019 self._bitfield_1.set(6usize, 1u8, val as u64)
8020 }
8021 }
8022
8023 #[inline]
8024 pub fn disableBadapt(&self) -> u32 {
8025 unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
8026 }
8027
8028 #[inline]
8029 pub fn set_disableBadapt(&mut self, val: u32) {
8030 unsafe {
8031 let val: u32 = ::core::mem::transmute(val);
8032 self._bitfield_1.set(7usize, 1u8, val as u64)
8033 }
8034 }
8035
8036 #[inline]
8037 pub fn enableTemporalAQ(&self) -> u32 {
8038 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
8039 }
8040
8041 #[inline]
8042 pub fn set_enableTemporalAQ(&mut self, val: u32) {
8043 unsafe {
8044 let val: u32 = ::core::mem::transmute(val);
8045 self._bitfield_1.set(8usize, 1u8, val as u64)
8046 }
8047 }
8048
8049 #[inline]
8050 pub fn zeroReorderDelay(&self) -> u32 {
8051 unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
8052 }
8053
8054 #[inline]
8055 pub fn set_zeroReorderDelay(&mut self, val: u32) {
8056 unsafe {
8057 let val: u32 = ::core::mem::transmute(val);
8058 self._bitfield_1.set(9usize, 1u8, val as u64)
8059 }
8060 }
8061
8062 #[inline]
8063 pub fn enableNonRefP(&self) -> u32 {
8064 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
8065 }
8066
8067 #[inline]
8068 pub fn set_enableNonRefP(&mut self, val: u32) {
8069 unsafe {
8070 let val: u32 = ::core::mem::transmute(val);
8071 self._bitfield_1.set(10usize, 1u8, val as u64)
8072 }
8073 }
8074
8075 #[inline]
8076 pub fn strictGOPTarget(&self) -> u32 {
8077 unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
8078 }
8079
8080 #[inline]
8081 pub fn set_strictGOPTarget(&mut self, val: u32) {
8082 unsafe {
8083 let val: u32 = ::core::mem::transmute(val);
8084 self._bitfield_1.set(11usize, 1u8, val as u64)
8085 }
8086 }
8087
8088 #[inline]
8089 pub fn aqStrength(&self) -> u32 {
8090 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u32) }
8091 }
8092
8093 #[inline]
8094 pub fn set_aqStrength(&mut self, val: u32) {
8095 unsafe {
8096 let val: u32 = ::core::mem::transmute(val);
8097 self._bitfield_1.set(12usize, 4u8, val as u64)
8098 }
8099 }
8100
8101 #[inline]
8102 pub fn enableExtLookahead(&self) -> u32 {
8103 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
8104 }
8105
8106 #[inline]
8107 pub fn set_enableExtLookahead(&mut self, val: u32) {
8108 unsafe {
8109 let val: u32 = ::core::mem::transmute(val);
8110 self._bitfield_1.set(16usize, 1u8, val as u64)
8111 }
8112 }
8113
8114 #[inline]
8115 pub fn reservedBitFields(&self) -> u32 {
8116 unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 15u8) as u32) }
8117 }
8118
8119 #[inline]
8120 pub fn set_reservedBitFields(&mut self, val: u32) {
8121 unsafe {
8122 let val: u32 = ::core::mem::transmute(val);
8123 self._bitfield_1.set(17usize, 15u8, val as u64)
8124 }
8125 }
8126
8127 #[inline]
8128 pub fn new_bitfield_1(
8129 enableMinQP: u32,
8130 enableMaxQP: u32,
8131 enableInitialRCQP: u32,
8132 enableAQ: u32,
8133 reservedBitField1: u32,
8134 enableLookahead: u32,
8135 disableIadapt: u32,
8136 disableBadapt: u32,
8137 enableTemporalAQ: u32,
8138 zeroReorderDelay: u32,
8139 enableNonRefP: u32,
8140 strictGOPTarget: u32,
8141 aqStrength: u32,
8142 enableExtLookahead: u32,
8143 reservedBitFields: u32,
8144 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
8145 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
8146 __bindgen_bitfield_unit.set(0usize, 1u8, {
8147 let enableMinQP: u32 = unsafe { ::core::mem::transmute(enableMinQP) };
8148 enableMinQP as u64
8149 });
8150 __bindgen_bitfield_unit.set(1usize, 1u8, {
8151 let enableMaxQP: u32 = unsafe { ::core::mem::transmute(enableMaxQP) };
8152 enableMaxQP as u64
8153 });
8154 __bindgen_bitfield_unit.set(2usize, 1u8, {
8155 let enableInitialRCQP: u32 = unsafe { ::core::mem::transmute(enableInitialRCQP) };
8156 enableInitialRCQP as u64
8157 });
8158 __bindgen_bitfield_unit.set(3usize, 1u8, {
8159 let enableAQ: u32 = unsafe { ::core::mem::transmute(enableAQ) };
8160 enableAQ as u64
8161 });
8162 __bindgen_bitfield_unit.set(4usize, 1u8, {
8163 let reservedBitField1: u32 = unsafe { ::core::mem::transmute(reservedBitField1) };
8164 reservedBitField1 as u64
8165 });
8166 __bindgen_bitfield_unit.set(5usize, 1u8, {
8167 let enableLookahead: u32 = unsafe { ::core::mem::transmute(enableLookahead) };
8168 enableLookahead as u64
8169 });
8170 __bindgen_bitfield_unit.set(6usize, 1u8, {
8171 let disableIadapt: u32 = unsafe { ::core::mem::transmute(disableIadapt) };
8172 disableIadapt as u64
8173 });
8174 __bindgen_bitfield_unit.set(7usize, 1u8, {
8175 let disableBadapt: u32 = unsafe { ::core::mem::transmute(disableBadapt) };
8176 disableBadapt as u64
8177 });
8178 __bindgen_bitfield_unit.set(8usize, 1u8, {
8179 let enableTemporalAQ: u32 = unsafe { ::core::mem::transmute(enableTemporalAQ) };
8180 enableTemporalAQ as u64
8181 });
8182 __bindgen_bitfield_unit.set(9usize, 1u8, {
8183 let zeroReorderDelay: u32 = unsafe { ::core::mem::transmute(zeroReorderDelay) };
8184 zeroReorderDelay as u64
8185 });
8186 __bindgen_bitfield_unit.set(10usize, 1u8, {
8187 let enableNonRefP: u32 = unsafe { ::core::mem::transmute(enableNonRefP) };
8188 enableNonRefP as u64
8189 });
8190 __bindgen_bitfield_unit.set(11usize, 1u8, {
8191 let strictGOPTarget: u32 = unsafe { ::core::mem::transmute(strictGOPTarget) };
8192 strictGOPTarget as u64
8193 });
8194 __bindgen_bitfield_unit.set(12usize, 4u8, {
8195 let aqStrength: u32 = unsafe { ::core::mem::transmute(aqStrength) };
8196 aqStrength as u64
8197 });
8198 __bindgen_bitfield_unit.set(16usize, 1u8, {
8199 let enableExtLookahead: u32 = unsafe { ::core::mem::transmute(enableExtLookahead) };
8200 enableExtLookahead as u64
8201 });
8202 __bindgen_bitfield_unit.set(17usize, 15u8, {
8203 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
8204 reservedBitFields as u64
8205 });
8206 __bindgen_bitfield_unit
8207 }
8208}
8209impl _NV_ENC_CLOCK_TIMESTAMP_SET {
8210 #[inline]
8211 pub fn countingType(&self) -> u32 {
8212 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
8213 }
8214
8215 #[inline]
8216 pub fn set_countingType(&mut self, val: u32) {
8217 unsafe {
8218 let val: u32 = ::core::mem::transmute(val);
8219 self._bitfield_1.set(0usize, 1u8, val as u64)
8220 }
8221 }
8222
8223 #[inline]
8224 pub fn discontinuityFlag(&self) -> u32 {
8225 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
8226 }
8227
8228 #[inline]
8229 pub fn set_discontinuityFlag(&mut self, val: u32) {
8230 unsafe {
8231 let val: u32 = ::core::mem::transmute(val);
8232 self._bitfield_1.set(1usize, 1u8, val as u64)
8233 }
8234 }
8235
8236 #[inline]
8237 pub fn cntDroppedFrames(&self) -> u32 {
8238 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
8239 }
8240
8241 #[inline]
8242 pub fn set_cntDroppedFrames(&mut self, val: u32) {
8243 unsafe {
8244 let val: u32 = ::core::mem::transmute(val);
8245 self._bitfield_1.set(2usize, 1u8, val as u64)
8246 }
8247 }
8248
8249 #[inline]
8250 pub fn nFrames(&self) -> u32 {
8251 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 8u8) as u32) }
8252 }
8253
8254 #[inline]
8255 pub fn set_nFrames(&mut self, val: u32) {
8256 unsafe {
8257 let val: u32 = ::core::mem::transmute(val);
8258 self._bitfield_1.set(3usize, 8u8, val as u64)
8259 }
8260 }
8261
8262 #[inline]
8263 pub fn secondsValue(&self) -> u32 {
8264 unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 6u8) as u32) }
8265 }
8266
8267 #[inline]
8268 pub fn set_secondsValue(&mut self, val: u32) {
8269 unsafe {
8270 let val: u32 = ::core::mem::transmute(val);
8271 self._bitfield_1.set(11usize, 6u8, val as u64)
8272 }
8273 }
8274
8275 #[inline]
8276 pub fn minutesValue(&self) -> u32 {
8277 unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 6u8) as u32) }
8278 }
8279
8280 #[inline]
8281 pub fn set_minutesValue(&mut self, val: u32) {
8282 unsafe {
8283 let val: u32 = ::core::mem::transmute(val);
8284 self._bitfield_1.set(17usize, 6u8, val as u64)
8285 }
8286 }
8287
8288 #[inline]
8289 pub fn hoursValue(&self) -> u32 {
8290 unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 5u8) as u32) }
8291 }
8292
8293 #[inline]
8294 pub fn set_hoursValue(&mut self, val: u32) {
8295 unsafe {
8296 let val: u32 = ::core::mem::transmute(val);
8297 self._bitfield_1.set(23usize, 5u8, val as u64)
8298 }
8299 }
8300
8301 #[inline]
8302 pub fn reserved2(&self) -> u32 {
8303 unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u32) }
8304 }
8305
8306 #[inline]
8307 pub fn set_reserved2(&mut self, val: u32) {
8308 unsafe {
8309 let val: u32 = ::core::mem::transmute(val);
8310 self._bitfield_1.set(28usize, 4u8, val as u64)
8311 }
8312 }
8313
8314 #[inline]
8315 pub fn new_bitfield_1(
8316 countingType: u32,
8317 discontinuityFlag: u32,
8318 cntDroppedFrames: u32,
8319 nFrames: u32,
8320 secondsValue: u32,
8321 minutesValue: u32,
8322 hoursValue: u32,
8323 reserved2: u32,
8324 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
8325 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
8326 __bindgen_bitfield_unit.set(0usize, 1u8, {
8327 let countingType: u32 = unsafe { ::core::mem::transmute(countingType) };
8328 countingType as u64
8329 });
8330 __bindgen_bitfield_unit.set(1usize, 1u8, {
8331 let discontinuityFlag: u32 = unsafe { ::core::mem::transmute(discontinuityFlag) };
8332 discontinuityFlag as u64
8333 });
8334 __bindgen_bitfield_unit.set(2usize, 1u8, {
8335 let cntDroppedFrames: u32 = unsafe { ::core::mem::transmute(cntDroppedFrames) };
8336 cntDroppedFrames as u64
8337 });
8338 __bindgen_bitfield_unit.set(3usize, 8u8, {
8339 let nFrames: u32 = unsafe { ::core::mem::transmute(nFrames) };
8340 nFrames as u64
8341 });
8342 __bindgen_bitfield_unit.set(11usize, 6u8, {
8343 let secondsValue: u32 = unsafe { ::core::mem::transmute(secondsValue) };
8344 secondsValue as u64
8345 });
8346 __bindgen_bitfield_unit.set(17usize, 6u8, {
8347 let minutesValue: u32 = unsafe { ::core::mem::transmute(minutesValue) };
8348 minutesValue as u64
8349 });
8350 __bindgen_bitfield_unit.set(23usize, 5u8, {
8351 let hoursValue: u32 = unsafe { ::core::mem::transmute(hoursValue) };
8352 hoursValue as u64
8353 });
8354 __bindgen_bitfield_unit.set(28usize, 4u8, {
8355 let reserved2: u32 = unsafe { ::core::mem::transmute(reserved2) };
8356 reserved2 as u64
8357 });
8358 __bindgen_bitfield_unit
8359 }
8360}
8361impl Default for _NV_ENC_TIME_CODE {
8362 fn default() -> Self {
8363 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
8364 unsafe {
8365 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8366 s.assume_init()
8367 }
8368 }
8369}
8370impl Default for _NV_ENC_CONFIG_H264_VUI_PARAMETERS {
8371 fn default() -> Self {
8372 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
8373 unsafe {
8374 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8375 s.assume_init()
8376 }
8377 }
8378}
8379impl _NVENC_EXTERNAL_ME_HINT_COUNTS_PER_BLOCKTYPE {
8380 #[inline]
8381 pub fn numCandsPerBlk16x16(&self) -> u32 {
8382 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) }
8383 }
8384
8385 #[inline]
8386 pub fn set_numCandsPerBlk16x16(&mut self, val: u32) {
8387 unsafe {
8388 let val: u32 = ::core::mem::transmute(val);
8389 self._bitfield_1.set(0usize, 4u8, val as u64)
8390 }
8391 }
8392
8393 #[inline]
8394 pub fn numCandsPerBlk16x8(&self) -> u32 {
8395 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u32) }
8396 }
8397
8398 #[inline]
8399 pub fn set_numCandsPerBlk16x8(&mut self, val: u32) {
8400 unsafe {
8401 let val: u32 = ::core::mem::transmute(val);
8402 self._bitfield_1.set(4usize, 4u8, val as u64)
8403 }
8404 }
8405
8406 #[inline]
8407 pub fn numCandsPerBlk8x16(&self) -> u32 {
8408 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u32) }
8409 }
8410
8411 #[inline]
8412 pub fn set_numCandsPerBlk8x16(&mut self, val: u32) {
8413 unsafe {
8414 let val: u32 = ::core::mem::transmute(val);
8415 self._bitfield_1.set(8usize, 4u8, val as u64)
8416 }
8417 }
8418
8419 #[inline]
8420 pub fn numCandsPerBlk8x8(&self) -> u32 {
8421 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u32) }
8422 }
8423
8424 #[inline]
8425 pub fn set_numCandsPerBlk8x8(&mut self, val: u32) {
8426 unsafe {
8427 let val: u32 = ::core::mem::transmute(val);
8428 self._bitfield_1.set(12usize, 4u8, val as u64)
8429 }
8430 }
8431
8432 #[inline]
8433 pub fn numCandsPerSb(&self) -> u32 {
8434 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) }
8435 }
8436
8437 #[inline]
8438 pub fn set_numCandsPerSb(&mut self, val: u32) {
8439 unsafe {
8440 let val: u32 = ::core::mem::transmute(val);
8441 self._bitfield_1.set(16usize, 8u8, val as u64)
8442 }
8443 }
8444
8445 #[inline]
8446 pub fn reserved(&self) -> u32 {
8447 unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
8448 }
8449
8450 #[inline]
8451 pub fn set_reserved(&mut self, val: u32) {
8452 unsafe {
8453 let val: u32 = ::core::mem::transmute(val);
8454 self._bitfield_1.set(24usize, 8u8, val as u64)
8455 }
8456 }
8457
8458 #[inline]
8459 pub fn new_bitfield_1(
8460 numCandsPerBlk16x16: u32,
8461 numCandsPerBlk16x8: u32,
8462 numCandsPerBlk8x16: u32,
8463 numCandsPerBlk8x8: u32,
8464 numCandsPerSb: u32,
8465 reserved: u32,
8466 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
8467 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
8468 __bindgen_bitfield_unit.set(0usize, 4u8, {
8469 let numCandsPerBlk16x16: u32 = unsafe { ::core::mem::transmute(numCandsPerBlk16x16) };
8470 numCandsPerBlk16x16 as u64
8471 });
8472 __bindgen_bitfield_unit.set(4usize, 4u8, {
8473 let numCandsPerBlk16x8: u32 = unsafe { ::core::mem::transmute(numCandsPerBlk16x8) };
8474 numCandsPerBlk16x8 as u64
8475 });
8476 __bindgen_bitfield_unit.set(8usize, 4u8, {
8477 let numCandsPerBlk8x16: u32 = unsafe { ::core::mem::transmute(numCandsPerBlk8x16) };
8478 numCandsPerBlk8x16 as u64
8479 });
8480 __bindgen_bitfield_unit.set(12usize, 4u8, {
8481 let numCandsPerBlk8x8: u32 = unsafe { ::core::mem::transmute(numCandsPerBlk8x8) };
8482 numCandsPerBlk8x8 as u64
8483 });
8484 __bindgen_bitfield_unit.set(16usize, 8u8, {
8485 let numCandsPerSb: u32 = unsafe { ::core::mem::transmute(numCandsPerSb) };
8486 numCandsPerSb as u64
8487 });
8488 __bindgen_bitfield_unit.set(24usize, 8u8, {
8489 let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
8490 reserved as u64
8491 });
8492 __bindgen_bitfield_unit
8493 }
8494}
8495impl _NVENC_EXTERNAL_ME_HINT {
8496 #[inline]
8497 pub fn mvx(&self) -> i32 {
8498 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u32) }
8499 }
8500
8501 #[inline]
8502 pub fn set_mvx(&mut self, val: i32) {
8503 unsafe {
8504 let val: u32 = ::core::mem::transmute(val);
8505 self._bitfield_1.set(0usize, 12u8, val as u64)
8506 }
8507 }
8508
8509 #[inline]
8510 pub fn mvy(&self) -> i32 {
8511 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 10u8) as u32) }
8512 }
8513
8514 #[inline]
8515 pub fn set_mvy(&mut self, val: i32) {
8516 unsafe {
8517 let val: u32 = ::core::mem::transmute(val);
8518 self._bitfield_1.set(12usize, 10u8, val as u64)
8519 }
8520 }
8521
8522 #[inline]
8523 pub fn refidx(&self) -> i32 {
8524 unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 5u8) as u32) }
8525 }
8526
8527 #[inline]
8528 pub fn set_refidx(&mut self, val: i32) {
8529 unsafe {
8530 let val: u32 = ::core::mem::transmute(val);
8531 self._bitfield_1.set(22usize, 5u8, val as u64)
8532 }
8533 }
8534
8535 #[inline]
8536 pub fn dir(&self) -> i32 {
8537 unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
8538 }
8539
8540 #[inline]
8541 pub fn set_dir(&mut self, val: i32) {
8542 unsafe {
8543 let val: u32 = ::core::mem::transmute(val);
8544 self._bitfield_1.set(27usize, 1u8, val as u64)
8545 }
8546 }
8547
8548 #[inline]
8549 pub fn partType(&self) -> i32 {
8550 unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 2u8) as u32) }
8551 }
8552
8553 #[inline]
8554 pub fn set_partType(&mut self, val: i32) {
8555 unsafe {
8556 let val: u32 = ::core::mem::transmute(val);
8557 self._bitfield_1.set(28usize, 2u8, val as u64)
8558 }
8559 }
8560
8561 #[inline]
8562 pub fn lastofPart(&self) -> i32 {
8563 unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) }
8564 }
8565
8566 #[inline]
8567 pub fn set_lastofPart(&mut self, val: i32) {
8568 unsafe {
8569 let val: u32 = ::core::mem::transmute(val);
8570 self._bitfield_1.set(30usize, 1u8, val as u64)
8571 }
8572 }
8573
8574 #[inline]
8575 pub fn lastOfMB(&self) -> i32 {
8576 unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
8577 }
8578
8579 #[inline]
8580 pub fn set_lastOfMB(&mut self, val: i32) {
8581 unsafe {
8582 let val: u32 = ::core::mem::transmute(val);
8583 self._bitfield_1.set(31usize, 1u8, val as u64)
8584 }
8585 }
8586
8587 #[inline]
8588 pub fn new_bitfield_1(
8589 mvx: i32,
8590 mvy: i32,
8591 refidx: i32,
8592 dir: i32,
8593 partType: i32,
8594 lastofPart: i32,
8595 lastOfMB: i32,
8596 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
8597 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
8598 __bindgen_bitfield_unit.set(0usize, 12u8, {
8599 let mvx: u32 = unsafe { ::core::mem::transmute(mvx) };
8600 mvx as u64
8601 });
8602 __bindgen_bitfield_unit.set(12usize, 10u8, {
8603 let mvy: u32 = unsafe { ::core::mem::transmute(mvy) };
8604 mvy as u64
8605 });
8606 __bindgen_bitfield_unit.set(22usize, 5u8, {
8607 let refidx: u32 = unsafe { ::core::mem::transmute(refidx) };
8608 refidx as u64
8609 });
8610 __bindgen_bitfield_unit.set(27usize, 1u8, {
8611 let dir: u32 = unsafe { ::core::mem::transmute(dir) };
8612 dir as u64
8613 });
8614 __bindgen_bitfield_unit.set(28usize, 2u8, {
8615 let partType: u32 = unsafe { ::core::mem::transmute(partType) };
8616 partType as u64
8617 });
8618 __bindgen_bitfield_unit.set(30usize, 1u8, {
8619 let lastofPart: u32 = unsafe { ::core::mem::transmute(lastofPart) };
8620 lastofPart as u64
8621 });
8622 __bindgen_bitfield_unit.set(31usize, 1u8, {
8623 let lastOfMB: u32 = unsafe { ::core::mem::transmute(lastOfMB) };
8624 lastOfMB as u64
8625 });
8626 __bindgen_bitfield_unit
8627 }
8628}
8629impl _NVENC_EXTERNAL_ME_SB_HINT {
8630 #[inline]
8631 pub fn refidx(&self) -> i16 {
8632 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u16) }
8633 }
8634
8635 #[inline]
8636 pub fn set_refidx(&mut self, val: i16) {
8637 unsafe {
8638 let val: u16 = ::core::mem::transmute(val);
8639 self._bitfield_1.set(0usize, 5u8, val as u64)
8640 }
8641 }
8642
8643 #[inline]
8644 pub fn direction(&self) -> i16 {
8645 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u16) }
8646 }
8647
8648 #[inline]
8649 pub fn set_direction(&mut self, val: i16) {
8650 unsafe {
8651 let val: u16 = ::core::mem::transmute(val);
8652 self._bitfield_1.set(5usize, 1u8, val as u64)
8653 }
8654 }
8655
8656 #[inline]
8657 pub fn bi(&self) -> i16 {
8658 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u16) }
8659 }
8660
8661 #[inline]
8662 pub fn set_bi(&mut self, val: i16) {
8663 unsafe {
8664 let val: u16 = ::core::mem::transmute(val);
8665 self._bitfield_1.set(6usize, 1u8, val as u64)
8666 }
8667 }
8668
8669 #[inline]
8670 pub fn partition_type(&self) -> i16 {
8671 unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 3u8) as u16) }
8672 }
8673
8674 #[inline]
8675 pub fn set_partition_type(&mut self, val: i16) {
8676 unsafe {
8677 let val: u16 = ::core::mem::transmute(val);
8678 self._bitfield_1.set(7usize, 3u8, val as u64)
8679 }
8680 }
8681
8682 #[inline]
8683 pub fn x8(&self) -> i16 {
8684 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 3u8) as u16) }
8685 }
8686
8687 #[inline]
8688 pub fn set_x8(&mut self, val: i16) {
8689 unsafe {
8690 let val: u16 = ::core::mem::transmute(val);
8691 self._bitfield_1.set(10usize, 3u8, val as u64)
8692 }
8693 }
8694
8695 #[inline]
8696 pub fn last_of_cu(&self) -> i16 {
8697 unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) }
8698 }
8699
8700 #[inline]
8701 pub fn set_last_of_cu(&mut self, val: i16) {
8702 unsafe {
8703 let val: u16 = ::core::mem::transmute(val);
8704 self._bitfield_1.set(13usize, 1u8, val as u64)
8705 }
8706 }
8707
8708 #[inline]
8709 pub fn last_of_sb(&self) -> i16 {
8710 unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) }
8711 }
8712
8713 #[inline]
8714 pub fn set_last_of_sb(&mut self, val: i16) {
8715 unsafe {
8716 let val: u16 = ::core::mem::transmute(val);
8717 self._bitfield_1.set(14usize, 1u8, val as u64)
8718 }
8719 }
8720
8721 #[inline]
8722 pub fn reserved0(&self) -> i16 {
8723 unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) }
8724 }
8725
8726 #[inline]
8727 pub fn set_reserved0(&mut self, val: i16) {
8728 unsafe {
8729 let val: u16 = ::core::mem::transmute(val);
8730 self._bitfield_1.set(15usize, 1u8, val as u64)
8731 }
8732 }
8733
8734 #[inline]
8735 pub fn mvx(&self) -> i16 {
8736 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 14u8) as u16) }
8737 }
8738
8739 #[inline]
8740 pub fn set_mvx(&mut self, val: i16) {
8741 unsafe {
8742 let val: u16 = ::core::mem::transmute(val);
8743 self._bitfield_1.set(16usize, 14u8, val as u64)
8744 }
8745 }
8746
8747 #[inline]
8748 pub fn cu_size(&self) -> i16 {
8749 unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 2u8) as u16) }
8750 }
8751
8752 #[inline]
8753 pub fn set_cu_size(&mut self, val: i16) {
8754 unsafe {
8755 let val: u16 = ::core::mem::transmute(val);
8756 self._bitfield_1.set(30usize, 2u8, val as u64)
8757 }
8758 }
8759
8760 #[inline]
8761 pub fn mvy(&self) -> i16 {
8762 unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 12u8) as u16) }
8763 }
8764
8765 #[inline]
8766 pub fn set_mvy(&mut self, val: i16) {
8767 unsafe {
8768 let val: u16 = ::core::mem::transmute(val);
8769 self._bitfield_1.set(32usize, 12u8, val as u64)
8770 }
8771 }
8772
8773 #[inline]
8774 pub fn y8(&self) -> i16 {
8775 unsafe { ::core::mem::transmute(self._bitfield_1.get(44usize, 3u8) as u16) }
8776 }
8777
8778 #[inline]
8779 pub fn set_y8(&mut self, val: i16) {
8780 unsafe {
8781 let val: u16 = ::core::mem::transmute(val);
8782 self._bitfield_1.set(44usize, 3u8, val as u64)
8783 }
8784 }
8785
8786 #[inline]
8787 pub fn reserved1(&self) -> i16 {
8788 unsafe { ::core::mem::transmute(self._bitfield_1.get(47usize, 1u8) as u16) }
8789 }
8790
8791 #[inline]
8792 pub fn set_reserved1(&mut self, val: i16) {
8793 unsafe {
8794 let val: u16 = ::core::mem::transmute(val);
8795 self._bitfield_1.set(47usize, 1u8, val as u64)
8796 }
8797 }
8798
8799 #[inline]
8800 pub fn new_bitfield_1(
8801 refidx: i16,
8802 direction: i16,
8803 bi: i16,
8804 partition_type: i16,
8805 x8: i16,
8806 last_of_cu: i16,
8807 last_of_sb: i16,
8808 reserved0: i16,
8809 mvx: i16,
8810 cu_size: i16,
8811 mvy: i16,
8812 y8: i16,
8813 reserved1: i16,
8814 ) -> __BindgenBitfieldUnit<[u8; 6usize]> {
8815 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 6usize]> = Default::default();
8816 __bindgen_bitfield_unit.set(0usize, 5u8, {
8817 let refidx: u16 = unsafe { ::core::mem::transmute(refidx) };
8818 refidx as u64
8819 });
8820 __bindgen_bitfield_unit.set(5usize, 1u8, {
8821 let direction: u16 = unsafe { ::core::mem::transmute(direction) };
8822 direction as u64
8823 });
8824 __bindgen_bitfield_unit.set(6usize, 1u8, {
8825 let bi: u16 = unsafe { ::core::mem::transmute(bi) };
8826 bi as u64
8827 });
8828 __bindgen_bitfield_unit.set(7usize, 3u8, {
8829 let partition_type: u16 = unsafe { ::core::mem::transmute(partition_type) };
8830 partition_type as u64
8831 });
8832 __bindgen_bitfield_unit.set(10usize, 3u8, {
8833 let x8: u16 = unsafe { ::core::mem::transmute(x8) };
8834 x8 as u64
8835 });
8836 __bindgen_bitfield_unit.set(13usize, 1u8, {
8837 let last_of_cu: u16 = unsafe { ::core::mem::transmute(last_of_cu) };
8838 last_of_cu as u64
8839 });
8840 __bindgen_bitfield_unit.set(14usize, 1u8, {
8841 let last_of_sb: u16 = unsafe { ::core::mem::transmute(last_of_sb) };
8842 last_of_sb as u64
8843 });
8844 __bindgen_bitfield_unit.set(15usize, 1u8, {
8845 let reserved0: u16 = unsafe { ::core::mem::transmute(reserved0) };
8846 reserved0 as u64
8847 });
8848 __bindgen_bitfield_unit.set(16usize, 14u8, {
8849 let mvx: u16 = unsafe { ::core::mem::transmute(mvx) };
8850 mvx as u64
8851 });
8852 __bindgen_bitfield_unit.set(30usize, 2u8, {
8853 let cu_size: u16 = unsafe { ::core::mem::transmute(cu_size) };
8854 cu_size as u64
8855 });
8856 __bindgen_bitfield_unit.set(32usize, 12u8, {
8857 let mvy: u16 = unsafe { ::core::mem::transmute(mvy) };
8858 mvy as u64
8859 });
8860 __bindgen_bitfield_unit.set(44usize, 3u8, {
8861 let y8: u16 = unsafe { ::core::mem::transmute(y8) };
8862 y8 as u64
8863 });
8864 __bindgen_bitfield_unit.set(47usize, 1u8, {
8865 let reserved1: u16 = unsafe { ::core::mem::transmute(reserved1) };
8866 reserved1 as u64
8867 });
8868 __bindgen_bitfield_unit
8869 }
8870}
8871impl Default for _NV_ENC_CONFIG_H264 {
8872 fn default() -> Self {
8873 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
8874 unsafe {
8875 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8876 s.assume_init()
8877 }
8878 }
8879}
8880impl _NV_ENC_CONFIG_H264 {
8881 #[inline]
8882 pub fn enableTemporalSVC(&self) -> u32 {
8883 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
8884 }
8885
8886 #[inline]
8887 pub fn set_enableTemporalSVC(&mut self, val: u32) {
8888 unsafe {
8889 let val: u32 = ::core::mem::transmute(val);
8890 self._bitfield_1.set(0usize, 1u8, val as u64)
8891 }
8892 }
8893
8894 #[inline]
8895 pub fn enableStereoMVC(&self) -> u32 {
8896 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
8897 }
8898
8899 #[inline]
8900 pub fn set_enableStereoMVC(&mut self, val: u32) {
8901 unsafe {
8902 let val: u32 = ::core::mem::transmute(val);
8903 self._bitfield_1.set(1usize, 1u8, val as u64)
8904 }
8905 }
8906
8907 #[inline]
8908 pub fn hierarchicalPFrames(&self) -> u32 {
8909 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
8910 }
8911
8912 #[inline]
8913 pub fn set_hierarchicalPFrames(&mut self, val: u32) {
8914 unsafe {
8915 let val: u32 = ::core::mem::transmute(val);
8916 self._bitfield_1.set(2usize, 1u8, val as u64)
8917 }
8918 }
8919
8920 #[inline]
8921 pub fn hierarchicalBFrames(&self) -> u32 {
8922 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
8923 }
8924
8925 #[inline]
8926 pub fn set_hierarchicalBFrames(&mut self, val: u32) {
8927 unsafe {
8928 let val: u32 = ::core::mem::transmute(val);
8929 self._bitfield_1.set(3usize, 1u8, val as u64)
8930 }
8931 }
8932
8933 #[inline]
8934 pub fn outputBufferingPeriodSEI(&self) -> u32 {
8935 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
8936 }
8937
8938 #[inline]
8939 pub fn set_outputBufferingPeriodSEI(&mut self, val: u32) {
8940 unsafe {
8941 let val: u32 = ::core::mem::transmute(val);
8942 self._bitfield_1.set(4usize, 1u8, val as u64)
8943 }
8944 }
8945
8946 #[inline]
8947 pub fn outputPictureTimingSEI(&self) -> u32 {
8948 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
8949 }
8950
8951 #[inline]
8952 pub fn set_outputPictureTimingSEI(&mut self, val: u32) {
8953 unsafe {
8954 let val: u32 = ::core::mem::transmute(val);
8955 self._bitfield_1.set(5usize, 1u8, val as u64)
8956 }
8957 }
8958
8959 #[inline]
8960 pub fn outputAUD(&self) -> u32 {
8961 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
8962 }
8963
8964 #[inline]
8965 pub fn set_outputAUD(&mut self, val: u32) {
8966 unsafe {
8967 let val: u32 = ::core::mem::transmute(val);
8968 self._bitfield_1.set(6usize, 1u8, val as u64)
8969 }
8970 }
8971
8972 #[inline]
8973 pub fn disableSPSPPS(&self) -> u32 {
8974 unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
8975 }
8976
8977 #[inline]
8978 pub fn set_disableSPSPPS(&mut self, val: u32) {
8979 unsafe {
8980 let val: u32 = ::core::mem::transmute(val);
8981 self._bitfield_1.set(7usize, 1u8, val as u64)
8982 }
8983 }
8984
8985 #[inline]
8986 pub fn outputFramePackingSEI(&self) -> u32 {
8987 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
8988 }
8989
8990 #[inline]
8991 pub fn set_outputFramePackingSEI(&mut self, val: u32) {
8992 unsafe {
8993 let val: u32 = ::core::mem::transmute(val);
8994 self._bitfield_1.set(8usize, 1u8, val as u64)
8995 }
8996 }
8997
8998 #[inline]
8999 pub fn outputRecoveryPointSEI(&self) -> u32 {
9000 unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
9001 }
9002
9003 #[inline]
9004 pub fn set_outputRecoveryPointSEI(&mut self, val: u32) {
9005 unsafe {
9006 let val: u32 = ::core::mem::transmute(val);
9007 self._bitfield_1.set(9usize, 1u8, val as u64)
9008 }
9009 }
9010
9011 #[inline]
9012 pub fn enableIntraRefresh(&self) -> u32 {
9013 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
9014 }
9015
9016 #[inline]
9017 pub fn set_enableIntraRefresh(&mut self, val: u32) {
9018 unsafe {
9019 let val: u32 = ::core::mem::transmute(val);
9020 self._bitfield_1.set(10usize, 1u8, val as u64)
9021 }
9022 }
9023
9024 #[inline]
9025 pub fn enableConstrainedEncoding(&self) -> u32 {
9026 unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
9027 }
9028
9029 #[inline]
9030 pub fn set_enableConstrainedEncoding(&mut self, val: u32) {
9031 unsafe {
9032 let val: u32 = ::core::mem::transmute(val);
9033 self._bitfield_1.set(11usize, 1u8, val as u64)
9034 }
9035 }
9036
9037 #[inline]
9038 pub fn repeatSPSPPS(&self) -> u32 {
9039 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
9040 }
9041
9042 #[inline]
9043 pub fn set_repeatSPSPPS(&mut self, val: u32) {
9044 unsafe {
9045 let val: u32 = ::core::mem::transmute(val);
9046 self._bitfield_1.set(12usize, 1u8, val as u64)
9047 }
9048 }
9049
9050 #[inline]
9051 pub fn enableVFR(&self) -> u32 {
9052 unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
9053 }
9054
9055 #[inline]
9056 pub fn set_enableVFR(&mut self, val: u32) {
9057 unsafe {
9058 let val: u32 = ::core::mem::transmute(val);
9059 self._bitfield_1.set(13usize, 1u8, val as u64)
9060 }
9061 }
9062
9063 #[inline]
9064 pub fn enableLTR(&self) -> u32 {
9065 unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
9066 }
9067
9068 #[inline]
9069 pub fn set_enableLTR(&mut self, val: u32) {
9070 unsafe {
9071 let val: u32 = ::core::mem::transmute(val);
9072 self._bitfield_1.set(14usize, 1u8, val as u64)
9073 }
9074 }
9075
9076 #[inline]
9077 pub fn qpPrimeYZeroTransformBypassFlag(&self) -> u32 {
9078 unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
9079 }
9080
9081 #[inline]
9082 pub fn set_qpPrimeYZeroTransformBypassFlag(&mut self, val: u32) {
9083 unsafe {
9084 let val: u32 = ::core::mem::transmute(val);
9085 self._bitfield_1.set(15usize, 1u8, val as u64)
9086 }
9087 }
9088
9089 #[inline]
9090 pub fn useConstrainedIntraPred(&self) -> u32 {
9091 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
9092 }
9093
9094 #[inline]
9095 pub fn set_useConstrainedIntraPred(&mut self, val: u32) {
9096 unsafe {
9097 let val: u32 = ::core::mem::transmute(val);
9098 self._bitfield_1.set(16usize, 1u8, val as u64)
9099 }
9100 }
9101
9102 #[inline]
9103 pub fn enableFillerDataInsertion(&self) -> u32 {
9104 unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
9105 }
9106
9107 #[inline]
9108 pub fn set_enableFillerDataInsertion(&mut self, val: u32) {
9109 unsafe {
9110 let val: u32 = ::core::mem::transmute(val);
9111 self._bitfield_1.set(17usize, 1u8, val as u64)
9112 }
9113 }
9114
9115 #[inline]
9116 pub fn disableSVCPrefixNalu(&self) -> u32 {
9117 unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
9118 }
9119
9120 #[inline]
9121 pub fn set_disableSVCPrefixNalu(&mut self, val: u32) {
9122 unsafe {
9123 let val: u32 = ::core::mem::transmute(val);
9124 self._bitfield_1.set(18usize, 1u8, val as u64)
9125 }
9126 }
9127
9128 #[inline]
9129 pub fn enableScalabilityInfoSEI(&self) -> u32 {
9130 unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
9131 }
9132
9133 #[inline]
9134 pub fn set_enableScalabilityInfoSEI(&mut self, val: u32) {
9135 unsafe {
9136 let val: u32 = ::core::mem::transmute(val);
9137 self._bitfield_1.set(19usize, 1u8, val as u64)
9138 }
9139 }
9140
9141 #[inline]
9142 pub fn singleSliceIntraRefresh(&self) -> u32 {
9143 unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
9144 }
9145
9146 #[inline]
9147 pub fn set_singleSliceIntraRefresh(&mut self, val: u32) {
9148 unsafe {
9149 let val: u32 = ::core::mem::transmute(val);
9150 self._bitfield_1.set(20usize, 1u8, val as u64)
9151 }
9152 }
9153
9154 #[inline]
9155 pub fn enableTimeCode(&self) -> u32 {
9156 unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
9157 }
9158
9159 #[inline]
9160 pub fn set_enableTimeCode(&mut self, val: u32) {
9161 unsafe {
9162 let val: u32 = ::core::mem::transmute(val);
9163 self._bitfield_1.set(21usize, 1u8, val as u64)
9164 }
9165 }
9166
9167 #[inline]
9168 pub fn reservedBitFields(&self) -> u32 {
9169 unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 10u8) as u32) }
9170 }
9171
9172 #[inline]
9173 pub fn set_reservedBitFields(&mut self, val: u32) {
9174 unsafe {
9175 let val: u32 = ::core::mem::transmute(val);
9176 self._bitfield_1.set(22usize, 10u8, val as u64)
9177 }
9178 }
9179
9180 #[inline]
9181 pub fn new_bitfield_1(
9182 enableTemporalSVC: u32,
9183 enableStereoMVC: u32,
9184 hierarchicalPFrames: u32,
9185 hierarchicalBFrames: u32,
9186 outputBufferingPeriodSEI: u32,
9187 outputPictureTimingSEI: u32,
9188 outputAUD: u32,
9189 disableSPSPPS: u32,
9190 outputFramePackingSEI: u32,
9191 outputRecoveryPointSEI: u32,
9192 enableIntraRefresh: u32,
9193 enableConstrainedEncoding: u32,
9194 repeatSPSPPS: u32,
9195 enableVFR: u32,
9196 enableLTR: u32,
9197 qpPrimeYZeroTransformBypassFlag: u32,
9198 useConstrainedIntraPred: u32,
9199 enableFillerDataInsertion: u32,
9200 disableSVCPrefixNalu: u32,
9201 enableScalabilityInfoSEI: u32,
9202 singleSliceIntraRefresh: u32,
9203 enableTimeCode: u32,
9204 reservedBitFields: u32,
9205 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
9206 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
9207 __bindgen_bitfield_unit.set(0usize, 1u8, {
9208 let enableTemporalSVC: u32 = unsafe { ::core::mem::transmute(enableTemporalSVC) };
9209 enableTemporalSVC as u64
9210 });
9211 __bindgen_bitfield_unit.set(1usize, 1u8, {
9212 let enableStereoMVC: u32 = unsafe { ::core::mem::transmute(enableStereoMVC) };
9213 enableStereoMVC as u64
9214 });
9215 __bindgen_bitfield_unit.set(2usize, 1u8, {
9216 let hierarchicalPFrames: u32 = unsafe { ::core::mem::transmute(hierarchicalPFrames) };
9217 hierarchicalPFrames as u64
9218 });
9219 __bindgen_bitfield_unit.set(3usize, 1u8, {
9220 let hierarchicalBFrames: u32 = unsafe { ::core::mem::transmute(hierarchicalBFrames) };
9221 hierarchicalBFrames as u64
9222 });
9223 __bindgen_bitfield_unit.set(4usize, 1u8, {
9224 let outputBufferingPeriodSEI: u32 =
9225 unsafe { ::core::mem::transmute(outputBufferingPeriodSEI) };
9226 outputBufferingPeriodSEI as u64
9227 });
9228 __bindgen_bitfield_unit.set(5usize, 1u8, {
9229 let outputPictureTimingSEI: u32 =
9230 unsafe { ::core::mem::transmute(outputPictureTimingSEI) };
9231 outputPictureTimingSEI as u64
9232 });
9233 __bindgen_bitfield_unit.set(6usize, 1u8, {
9234 let outputAUD: u32 = unsafe { ::core::mem::transmute(outputAUD) };
9235 outputAUD as u64
9236 });
9237 __bindgen_bitfield_unit.set(7usize, 1u8, {
9238 let disableSPSPPS: u32 = unsafe { ::core::mem::transmute(disableSPSPPS) };
9239 disableSPSPPS as u64
9240 });
9241 __bindgen_bitfield_unit.set(8usize, 1u8, {
9242 let outputFramePackingSEI: u32 =
9243 unsafe { ::core::mem::transmute(outputFramePackingSEI) };
9244 outputFramePackingSEI as u64
9245 });
9246 __bindgen_bitfield_unit.set(9usize, 1u8, {
9247 let outputRecoveryPointSEI: u32 =
9248 unsafe { ::core::mem::transmute(outputRecoveryPointSEI) };
9249 outputRecoveryPointSEI as u64
9250 });
9251 __bindgen_bitfield_unit.set(10usize, 1u8, {
9252 let enableIntraRefresh: u32 = unsafe { ::core::mem::transmute(enableIntraRefresh) };
9253 enableIntraRefresh as u64
9254 });
9255 __bindgen_bitfield_unit.set(11usize, 1u8, {
9256 let enableConstrainedEncoding: u32 =
9257 unsafe { ::core::mem::transmute(enableConstrainedEncoding) };
9258 enableConstrainedEncoding as u64
9259 });
9260 __bindgen_bitfield_unit.set(12usize, 1u8, {
9261 let repeatSPSPPS: u32 = unsafe { ::core::mem::transmute(repeatSPSPPS) };
9262 repeatSPSPPS as u64
9263 });
9264 __bindgen_bitfield_unit.set(13usize, 1u8, {
9265 let enableVFR: u32 = unsafe { ::core::mem::transmute(enableVFR) };
9266 enableVFR as u64
9267 });
9268 __bindgen_bitfield_unit.set(14usize, 1u8, {
9269 let enableLTR: u32 = unsafe { ::core::mem::transmute(enableLTR) };
9270 enableLTR as u64
9271 });
9272 __bindgen_bitfield_unit.set(15usize, 1u8, {
9273 let qpPrimeYZeroTransformBypassFlag: u32 =
9274 unsafe { ::core::mem::transmute(qpPrimeYZeroTransformBypassFlag) };
9275 qpPrimeYZeroTransformBypassFlag as u64
9276 });
9277 __bindgen_bitfield_unit.set(16usize, 1u8, {
9278 let useConstrainedIntraPred: u32 =
9279 unsafe { ::core::mem::transmute(useConstrainedIntraPred) };
9280 useConstrainedIntraPred as u64
9281 });
9282 __bindgen_bitfield_unit.set(17usize, 1u8, {
9283 let enableFillerDataInsertion: u32 =
9284 unsafe { ::core::mem::transmute(enableFillerDataInsertion) };
9285 enableFillerDataInsertion as u64
9286 });
9287 __bindgen_bitfield_unit.set(18usize, 1u8, {
9288 let disableSVCPrefixNalu: u32 = unsafe { ::core::mem::transmute(disableSVCPrefixNalu) };
9289 disableSVCPrefixNalu as u64
9290 });
9291 __bindgen_bitfield_unit.set(19usize, 1u8, {
9292 let enableScalabilityInfoSEI: u32 =
9293 unsafe { ::core::mem::transmute(enableScalabilityInfoSEI) };
9294 enableScalabilityInfoSEI as u64
9295 });
9296 __bindgen_bitfield_unit.set(20usize, 1u8, {
9297 let singleSliceIntraRefresh: u32 =
9298 unsafe { ::core::mem::transmute(singleSliceIntraRefresh) };
9299 singleSliceIntraRefresh as u64
9300 });
9301 __bindgen_bitfield_unit.set(21usize, 1u8, {
9302 let enableTimeCode: u32 = unsafe { ::core::mem::transmute(enableTimeCode) };
9303 enableTimeCode as u64
9304 });
9305 __bindgen_bitfield_unit.set(22usize, 10u8, {
9306 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
9307 reservedBitFields as u64
9308 });
9309 __bindgen_bitfield_unit
9310 }
9311}
9312impl Default for _NV_ENC_CONFIG_HEVC {
9313 fn default() -> Self {
9314 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
9315 unsafe {
9316 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9317 s.assume_init()
9318 }
9319 }
9320}
9321impl _NV_ENC_CONFIG_HEVC {
9322 #[inline]
9323 pub fn useConstrainedIntraPred(&self) -> u32 {
9324 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
9325 }
9326
9327 #[inline]
9328 pub fn set_useConstrainedIntraPred(&mut self, val: u32) {
9329 unsafe {
9330 let val: u32 = ::core::mem::transmute(val);
9331 self._bitfield_1.set(0usize, 1u8, val as u64)
9332 }
9333 }
9334
9335 #[inline]
9336 pub fn disableDeblockAcrossSliceBoundary(&self) -> u32 {
9337 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
9338 }
9339
9340 #[inline]
9341 pub fn set_disableDeblockAcrossSliceBoundary(&mut self, val: u32) {
9342 unsafe {
9343 let val: u32 = ::core::mem::transmute(val);
9344 self._bitfield_1.set(1usize, 1u8, val as u64)
9345 }
9346 }
9347
9348 #[inline]
9349 pub fn outputBufferingPeriodSEI(&self) -> u32 {
9350 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
9351 }
9352
9353 #[inline]
9354 pub fn set_outputBufferingPeriodSEI(&mut self, val: u32) {
9355 unsafe {
9356 let val: u32 = ::core::mem::transmute(val);
9357 self._bitfield_1.set(2usize, 1u8, val as u64)
9358 }
9359 }
9360
9361 #[inline]
9362 pub fn outputPictureTimingSEI(&self) -> u32 {
9363 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
9364 }
9365
9366 #[inline]
9367 pub fn set_outputPictureTimingSEI(&mut self, val: u32) {
9368 unsafe {
9369 let val: u32 = ::core::mem::transmute(val);
9370 self._bitfield_1.set(3usize, 1u8, val as u64)
9371 }
9372 }
9373
9374 #[inline]
9375 pub fn outputAUD(&self) -> u32 {
9376 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
9377 }
9378
9379 #[inline]
9380 pub fn set_outputAUD(&mut self, val: u32) {
9381 unsafe {
9382 let val: u32 = ::core::mem::transmute(val);
9383 self._bitfield_1.set(4usize, 1u8, val as u64)
9384 }
9385 }
9386
9387 #[inline]
9388 pub fn enableLTR(&self) -> u32 {
9389 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
9390 }
9391
9392 #[inline]
9393 pub fn set_enableLTR(&mut self, val: u32) {
9394 unsafe {
9395 let val: u32 = ::core::mem::transmute(val);
9396 self._bitfield_1.set(5usize, 1u8, val as u64)
9397 }
9398 }
9399
9400 #[inline]
9401 pub fn disableSPSPPS(&self) -> u32 {
9402 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
9403 }
9404
9405 #[inline]
9406 pub fn set_disableSPSPPS(&mut self, val: u32) {
9407 unsafe {
9408 let val: u32 = ::core::mem::transmute(val);
9409 self._bitfield_1.set(6usize, 1u8, val as u64)
9410 }
9411 }
9412
9413 #[inline]
9414 pub fn repeatSPSPPS(&self) -> u32 {
9415 unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
9416 }
9417
9418 #[inline]
9419 pub fn set_repeatSPSPPS(&mut self, val: u32) {
9420 unsafe {
9421 let val: u32 = ::core::mem::transmute(val);
9422 self._bitfield_1.set(7usize, 1u8, val as u64)
9423 }
9424 }
9425
9426 #[inline]
9427 pub fn enableIntraRefresh(&self) -> u32 {
9428 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
9429 }
9430
9431 #[inline]
9432 pub fn set_enableIntraRefresh(&mut self, val: u32) {
9433 unsafe {
9434 let val: u32 = ::core::mem::transmute(val);
9435 self._bitfield_1.set(8usize, 1u8, val as u64)
9436 }
9437 }
9438
9439 #[inline]
9440 pub fn chromaFormatIDC(&self) -> u32 {
9441 unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 2u8) as u32) }
9442 }
9443
9444 #[inline]
9445 pub fn set_chromaFormatIDC(&mut self, val: u32) {
9446 unsafe {
9447 let val: u32 = ::core::mem::transmute(val);
9448 self._bitfield_1.set(9usize, 2u8, val as u64)
9449 }
9450 }
9451
9452 #[inline]
9453 pub fn pixelBitDepthMinus8(&self) -> u32 {
9454 unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 3u8) as u32) }
9455 }
9456
9457 #[inline]
9458 pub fn set_pixelBitDepthMinus8(&mut self, val: u32) {
9459 unsafe {
9460 let val: u32 = ::core::mem::transmute(val);
9461 self._bitfield_1.set(11usize, 3u8, val as u64)
9462 }
9463 }
9464
9465 #[inline]
9466 pub fn enableFillerDataInsertion(&self) -> u32 {
9467 unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
9468 }
9469
9470 #[inline]
9471 pub fn set_enableFillerDataInsertion(&mut self, val: u32) {
9472 unsafe {
9473 let val: u32 = ::core::mem::transmute(val);
9474 self._bitfield_1.set(14usize, 1u8, val as u64)
9475 }
9476 }
9477
9478 #[inline]
9479 pub fn enableConstrainedEncoding(&self) -> u32 {
9480 unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
9481 }
9482
9483 #[inline]
9484 pub fn set_enableConstrainedEncoding(&mut self, val: u32) {
9485 unsafe {
9486 let val: u32 = ::core::mem::transmute(val);
9487 self._bitfield_1.set(15usize, 1u8, val as u64)
9488 }
9489 }
9490
9491 #[inline]
9492 pub fn enableAlphaLayerEncoding(&self) -> u32 {
9493 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
9494 }
9495
9496 #[inline]
9497 pub fn set_enableAlphaLayerEncoding(&mut self, val: u32) {
9498 unsafe {
9499 let val: u32 = ::core::mem::transmute(val);
9500 self._bitfield_1.set(16usize, 1u8, val as u64)
9501 }
9502 }
9503
9504 #[inline]
9505 pub fn singleSliceIntraRefresh(&self) -> u32 {
9506 unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
9507 }
9508
9509 #[inline]
9510 pub fn set_singleSliceIntraRefresh(&mut self, val: u32) {
9511 unsafe {
9512 let val: u32 = ::core::mem::transmute(val);
9513 self._bitfield_1.set(17usize, 1u8, val as u64)
9514 }
9515 }
9516
9517 #[inline]
9518 pub fn outputRecoveryPointSEI(&self) -> u32 {
9519 unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
9520 }
9521
9522 #[inline]
9523 pub fn set_outputRecoveryPointSEI(&mut self, val: u32) {
9524 unsafe {
9525 let val: u32 = ::core::mem::transmute(val);
9526 self._bitfield_1.set(18usize, 1u8, val as u64)
9527 }
9528 }
9529
9530 #[inline]
9531 pub fn outputTimeCodeSEI(&self) -> u32 {
9532 unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
9533 }
9534
9535 #[inline]
9536 pub fn set_outputTimeCodeSEI(&mut self, val: u32) {
9537 unsafe {
9538 let val: u32 = ::core::mem::transmute(val);
9539 self._bitfield_1.set(19usize, 1u8, val as u64)
9540 }
9541 }
9542
9543 #[inline]
9544 pub fn reserved(&self) -> u32 {
9545 unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) }
9546 }
9547
9548 #[inline]
9549 pub fn set_reserved(&mut self, val: u32) {
9550 unsafe {
9551 let val: u32 = ::core::mem::transmute(val);
9552 self._bitfield_1.set(20usize, 12u8, val as u64)
9553 }
9554 }
9555
9556 #[inline]
9557 pub fn new_bitfield_1(
9558 useConstrainedIntraPred: u32,
9559 disableDeblockAcrossSliceBoundary: u32,
9560 outputBufferingPeriodSEI: u32,
9561 outputPictureTimingSEI: u32,
9562 outputAUD: u32,
9563 enableLTR: u32,
9564 disableSPSPPS: u32,
9565 repeatSPSPPS: u32,
9566 enableIntraRefresh: u32,
9567 chromaFormatIDC: u32,
9568 pixelBitDepthMinus8: u32,
9569 enableFillerDataInsertion: u32,
9570 enableConstrainedEncoding: u32,
9571 enableAlphaLayerEncoding: u32,
9572 singleSliceIntraRefresh: u32,
9573 outputRecoveryPointSEI: u32,
9574 outputTimeCodeSEI: u32,
9575 reserved: u32,
9576 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
9577 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
9578 __bindgen_bitfield_unit.set(0usize, 1u8, {
9579 let useConstrainedIntraPred: u32 =
9580 unsafe { ::core::mem::transmute(useConstrainedIntraPred) };
9581 useConstrainedIntraPred as u64
9582 });
9583 __bindgen_bitfield_unit.set(1usize, 1u8, {
9584 let disableDeblockAcrossSliceBoundary: u32 =
9585 unsafe { ::core::mem::transmute(disableDeblockAcrossSliceBoundary) };
9586 disableDeblockAcrossSliceBoundary as u64
9587 });
9588 __bindgen_bitfield_unit.set(2usize, 1u8, {
9589 let outputBufferingPeriodSEI: u32 =
9590 unsafe { ::core::mem::transmute(outputBufferingPeriodSEI) };
9591 outputBufferingPeriodSEI as u64
9592 });
9593 __bindgen_bitfield_unit.set(3usize, 1u8, {
9594 let outputPictureTimingSEI: u32 =
9595 unsafe { ::core::mem::transmute(outputPictureTimingSEI) };
9596 outputPictureTimingSEI as u64
9597 });
9598 __bindgen_bitfield_unit.set(4usize, 1u8, {
9599 let outputAUD: u32 = unsafe { ::core::mem::transmute(outputAUD) };
9600 outputAUD as u64
9601 });
9602 __bindgen_bitfield_unit.set(5usize, 1u8, {
9603 let enableLTR: u32 = unsafe { ::core::mem::transmute(enableLTR) };
9604 enableLTR as u64
9605 });
9606 __bindgen_bitfield_unit.set(6usize, 1u8, {
9607 let disableSPSPPS: u32 = unsafe { ::core::mem::transmute(disableSPSPPS) };
9608 disableSPSPPS as u64
9609 });
9610 __bindgen_bitfield_unit.set(7usize, 1u8, {
9611 let repeatSPSPPS: u32 = unsafe { ::core::mem::transmute(repeatSPSPPS) };
9612 repeatSPSPPS as u64
9613 });
9614 __bindgen_bitfield_unit.set(8usize, 1u8, {
9615 let enableIntraRefresh: u32 = unsafe { ::core::mem::transmute(enableIntraRefresh) };
9616 enableIntraRefresh as u64
9617 });
9618 __bindgen_bitfield_unit.set(9usize, 2u8, {
9619 let chromaFormatIDC: u32 = unsafe { ::core::mem::transmute(chromaFormatIDC) };
9620 chromaFormatIDC as u64
9621 });
9622 __bindgen_bitfield_unit.set(11usize, 3u8, {
9623 let pixelBitDepthMinus8: u32 = unsafe { ::core::mem::transmute(pixelBitDepthMinus8) };
9624 pixelBitDepthMinus8 as u64
9625 });
9626 __bindgen_bitfield_unit.set(14usize, 1u8, {
9627 let enableFillerDataInsertion: u32 =
9628 unsafe { ::core::mem::transmute(enableFillerDataInsertion) };
9629 enableFillerDataInsertion as u64
9630 });
9631 __bindgen_bitfield_unit.set(15usize, 1u8, {
9632 let enableConstrainedEncoding: u32 =
9633 unsafe { ::core::mem::transmute(enableConstrainedEncoding) };
9634 enableConstrainedEncoding as u64
9635 });
9636 __bindgen_bitfield_unit.set(16usize, 1u8, {
9637 let enableAlphaLayerEncoding: u32 =
9638 unsafe { ::core::mem::transmute(enableAlphaLayerEncoding) };
9639 enableAlphaLayerEncoding as u64
9640 });
9641 __bindgen_bitfield_unit.set(17usize, 1u8, {
9642 let singleSliceIntraRefresh: u32 =
9643 unsafe { ::core::mem::transmute(singleSliceIntraRefresh) };
9644 singleSliceIntraRefresh as u64
9645 });
9646 __bindgen_bitfield_unit.set(18usize, 1u8, {
9647 let outputRecoveryPointSEI: u32 =
9648 unsafe { ::core::mem::transmute(outputRecoveryPointSEI) };
9649 outputRecoveryPointSEI as u64
9650 });
9651 __bindgen_bitfield_unit.set(19usize, 1u8, {
9652 let outputTimeCodeSEI: u32 = unsafe { ::core::mem::transmute(outputTimeCodeSEI) };
9653 outputTimeCodeSEI as u64
9654 });
9655 __bindgen_bitfield_unit.set(20usize, 12u8, {
9656 let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
9657 reserved as u64
9658 });
9659 __bindgen_bitfield_unit
9660 }
9661}
9662impl _NV_ENC_FILM_GRAIN_PARAMS_AV1 {
9663 #[inline]
9664 pub fn applyGrain(&self) -> u32 {
9665 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
9666 }
9667
9668 #[inline]
9669 pub fn set_applyGrain(&mut self, val: u32) {
9670 unsafe {
9671 let val: u32 = ::core::mem::transmute(val);
9672 self._bitfield_1.set(0usize, 1u8, val as u64)
9673 }
9674 }
9675
9676 #[inline]
9677 pub fn chromaScalingFromLuma(&self) -> u32 {
9678 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
9679 }
9680
9681 #[inline]
9682 pub fn set_chromaScalingFromLuma(&mut self, val: u32) {
9683 unsafe {
9684 let val: u32 = ::core::mem::transmute(val);
9685 self._bitfield_1.set(1usize, 1u8, val as u64)
9686 }
9687 }
9688
9689 #[inline]
9690 pub fn overlapFlag(&self) -> u32 {
9691 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
9692 }
9693
9694 #[inline]
9695 pub fn set_overlapFlag(&mut self, val: u32) {
9696 unsafe {
9697 let val: u32 = ::core::mem::transmute(val);
9698 self._bitfield_1.set(2usize, 1u8, val as u64)
9699 }
9700 }
9701
9702 #[inline]
9703 pub fn clipToRestrictedRange(&self) -> u32 {
9704 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
9705 }
9706
9707 #[inline]
9708 pub fn set_clipToRestrictedRange(&mut self, val: u32) {
9709 unsafe {
9710 let val: u32 = ::core::mem::transmute(val);
9711 self._bitfield_1.set(3usize, 1u8, val as u64)
9712 }
9713 }
9714
9715 #[inline]
9716 pub fn grainScalingMinus8(&self) -> u32 {
9717 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u32) }
9718 }
9719
9720 #[inline]
9721 pub fn set_grainScalingMinus8(&mut self, val: u32) {
9722 unsafe {
9723 let val: u32 = ::core::mem::transmute(val);
9724 self._bitfield_1.set(4usize, 2u8, val as u64)
9725 }
9726 }
9727
9728 #[inline]
9729 pub fn arCoeffLag(&self) -> u32 {
9730 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u32) }
9731 }
9732
9733 #[inline]
9734 pub fn set_arCoeffLag(&mut self, val: u32) {
9735 unsafe {
9736 let val: u32 = ::core::mem::transmute(val);
9737 self._bitfield_1.set(6usize, 2u8, val as u64)
9738 }
9739 }
9740
9741 #[inline]
9742 pub fn numYPoints(&self) -> u32 {
9743 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u32) }
9744 }
9745
9746 #[inline]
9747 pub fn set_numYPoints(&mut self, val: u32) {
9748 unsafe {
9749 let val: u32 = ::core::mem::transmute(val);
9750 self._bitfield_1.set(8usize, 4u8, val as u64)
9751 }
9752 }
9753
9754 #[inline]
9755 pub fn numCbPoints(&self) -> u32 {
9756 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u32) }
9757 }
9758
9759 #[inline]
9760 pub fn set_numCbPoints(&mut self, val: u32) {
9761 unsafe {
9762 let val: u32 = ::core::mem::transmute(val);
9763 self._bitfield_1.set(12usize, 4u8, val as u64)
9764 }
9765 }
9766
9767 #[inline]
9768 pub fn numCrPoints(&self) -> u32 {
9769 unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) }
9770 }
9771
9772 #[inline]
9773 pub fn set_numCrPoints(&mut self, val: u32) {
9774 unsafe {
9775 let val: u32 = ::core::mem::transmute(val);
9776 self._bitfield_1.set(16usize, 4u8, val as u64)
9777 }
9778 }
9779
9780 #[inline]
9781 pub fn arCoeffShiftMinus6(&self) -> u32 {
9782 unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 2u8) as u32) }
9783 }
9784
9785 #[inline]
9786 pub fn set_arCoeffShiftMinus6(&mut self, val: u32) {
9787 unsafe {
9788 let val: u32 = ::core::mem::transmute(val);
9789 self._bitfield_1.set(20usize, 2u8, val as u64)
9790 }
9791 }
9792
9793 #[inline]
9794 pub fn grainScaleShift(&self) -> u32 {
9795 unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 2u8) as u32) }
9796 }
9797
9798 #[inline]
9799 pub fn set_grainScaleShift(&mut self, val: u32) {
9800 unsafe {
9801 let val: u32 = ::core::mem::transmute(val);
9802 self._bitfield_1.set(22usize, 2u8, val as u64)
9803 }
9804 }
9805
9806 #[inline]
9807 pub fn reserved1(&self) -> u32 {
9808 unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) }
9809 }
9810
9811 #[inline]
9812 pub fn set_reserved1(&mut self, val: u32) {
9813 unsafe {
9814 let val: u32 = ::core::mem::transmute(val);
9815 self._bitfield_1.set(24usize, 8u8, val as u64)
9816 }
9817 }
9818
9819 #[inline]
9820 pub fn new_bitfield_1(
9821 applyGrain: u32,
9822 chromaScalingFromLuma: u32,
9823 overlapFlag: u32,
9824 clipToRestrictedRange: u32,
9825 grainScalingMinus8: u32,
9826 arCoeffLag: u32,
9827 numYPoints: u32,
9828 numCbPoints: u32,
9829 numCrPoints: u32,
9830 arCoeffShiftMinus6: u32,
9831 grainScaleShift: u32,
9832 reserved1: u32,
9833 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
9834 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
9835 __bindgen_bitfield_unit.set(0usize, 1u8, {
9836 let applyGrain: u32 = unsafe { ::core::mem::transmute(applyGrain) };
9837 applyGrain as u64
9838 });
9839 __bindgen_bitfield_unit.set(1usize, 1u8, {
9840 let chromaScalingFromLuma: u32 =
9841 unsafe { ::core::mem::transmute(chromaScalingFromLuma) };
9842 chromaScalingFromLuma as u64
9843 });
9844 __bindgen_bitfield_unit.set(2usize, 1u8, {
9845 let overlapFlag: u32 = unsafe { ::core::mem::transmute(overlapFlag) };
9846 overlapFlag as u64
9847 });
9848 __bindgen_bitfield_unit.set(3usize, 1u8, {
9849 let clipToRestrictedRange: u32 =
9850 unsafe { ::core::mem::transmute(clipToRestrictedRange) };
9851 clipToRestrictedRange as u64
9852 });
9853 __bindgen_bitfield_unit.set(4usize, 2u8, {
9854 let grainScalingMinus8: u32 = unsafe { ::core::mem::transmute(grainScalingMinus8) };
9855 grainScalingMinus8 as u64
9856 });
9857 __bindgen_bitfield_unit.set(6usize, 2u8, {
9858 let arCoeffLag: u32 = unsafe { ::core::mem::transmute(arCoeffLag) };
9859 arCoeffLag as u64
9860 });
9861 __bindgen_bitfield_unit.set(8usize, 4u8, {
9862 let numYPoints: u32 = unsafe { ::core::mem::transmute(numYPoints) };
9863 numYPoints as u64
9864 });
9865 __bindgen_bitfield_unit.set(12usize, 4u8, {
9866 let numCbPoints: u32 = unsafe { ::core::mem::transmute(numCbPoints) };
9867 numCbPoints as u64
9868 });
9869 __bindgen_bitfield_unit.set(16usize, 4u8, {
9870 let numCrPoints: u32 = unsafe { ::core::mem::transmute(numCrPoints) };
9871 numCrPoints as u64
9872 });
9873 __bindgen_bitfield_unit.set(20usize, 2u8, {
9874 let arCoeffShiftMinus6: u32 = unsafe { ::core::mem::transmute(arCoeffShiftMinus6) };
9875 arCoeffShiftMinus6 as u64
9876 });
9877 __bindgen_bitfield_unit.set(22usize, 2u8, {
9878 let grainScaleShift: u32 = unsafe { ::core::mem::transmute(grainScaleShift) };
9879 grainScaleShift as u64
9880 });
9881 __bindgen_bitfield_unit.set(24usize, 8u8, {
9882 let reserved1: u32 = unsafe { ::core::mem::transmute(reserved1) };
9883 reserved1 as u64
9884 });
9885 __bindgen_bitfield_unit
9886 }
9887}
9888impl Default for _NV_ENC_CONFIG_AV1 {
9889 fn default() -> Self {
9890 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
9891 unsafe {
9892 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9893 s.assume_init()
9894 }
9895 }
9896}
9897impl _NV_ENC_CONFIG_AV1 {
9898 #[inline]
9899 pub fn outputAnnexBFormat(&self) -> u32 {
9900 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
9901 }
9902
9903 #[inline]
9904 pub fn set_outputAnnexBFormat(&mut self, val: u32) {
9905 unsafe {
9906 let val: u32 = ::core::mem::transmute(val);
9907 self._bitfield_1.set(0usize, 1u8, val as u64)
9908 }
9909 }
9910
9911 #[inline]
9912 pub fn enableTimingInfo(&self) -> u32 {
9913 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
9914 }
9915
9916 #[inline]
9917 pub fn set_enableTimingInfo(&mut self, val: u32) {
9918 unsafe {
9919 let val: u32 = ::core::mem::transmute(val);
9920 self._bitfield_1.set(1usize, 1u8, val as u64)
9921 }
9922 }
9923
9924 #[inline]
9925 pub fn enableDecoderModelInfo(&self) -> u32 {
9926 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
9927 }
9928
9929 #[inline]
9930 pub fn set_enableDecoderModelInfo(&mut self, val: u32) {
9931 unsafe {
9932 let val: u32 = ::core::mem::transmute(val);
9933 self._bitfield_1.set(2usize, 1u8, val as u64)
9934 }
9935 }
9936
9937 #[inline]
9938 pub fn enableFrameIdNumbers(&self) -> u32 {
9939 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
9940 }
9941
9942 #[inline]
9943 pub fn set_enableFrameIdNumbers(&mut self, val: u32) {
9944 unsafe {
9945 let val: u32 = ::core::mem::transmute(val);
9946 self._bitfield_1.set(3usize, 1u8, val as u64)
9947 }
9948 }
9949
9950 #[inline]
9951 pub fn disableSeqHdr(&self) -> u32 {
9952 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
9953 }
9954
9955 #[inline]
9956 pub fn set_disableSeqHdr(&mut self, val: u32) {
9957 unsafe {
9958 let val: u32 = ::core::mem::transmute(val);
9959 self._bitfield_1.set(4usize, 1u8, val as u64)
9960 }
9961 }
9962
9963 #[inline]
9964 pub fn repeatSeqHdr(&self) -> u32 {
9965 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
9966 }
9967
9968 #[inline]
9969 pub fn set_repeatSeqHdr(&mut self, val: u32) {
9970 unsafe {
9971 let val: u32 = ::core::mem::transmute(val);
9972 self._bitfield_1.set(5usize, 1u8, val as u64)
9973 }
9974 }
9975
9976 #[inline]
9977 pub fn enableIntraRefresh(&self) -> u32 {
9978 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
9979 }
9980
9981 #[inline]
9982 pub fn set_enableIntraRefresh(&mut self, val: u32) {
9983 unsafe {
9984 let val: u32 = ::core::mem::transmute(val);
9985 self._bitfield_1.set(6usize, 1u8, val as u64)
9986 }
9987 }
9988
9989 #[inline]
9990 pub fn chromaFormatIDC(&self) -> u32 {
9991 unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 2u8) as u32) }
9992 }
9993
9994 #[inline]
9995 pub fn set_chromaFormatIDC(&mut self, val: u32) {
9996 unsafe {
9997 let val: u32 = ::core::mem::transmute(val);
9998 self._bitfield_1.set(7usize, 2u8, val as u64)
9999 }
10000 }
10001
10002 #[inline]
10003 pub fn enableBitstreamPadding(&self) -> u32 {
10004 unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
10005 }
10006
10007 #[inline]
10008 pub fn set_enableBitstreamPadding(&mut self, val: u32) {
10009 unsafe {
10010 let val: u32 = ::core::mem::transmute(val);
10011 self._bitfield_1.set(9usize, 1u8, val as u64)
10012 }
10013 }
10014
10015 #[inline]
10016 pub fn enableCustomTileConfig(&self) -> u32 {
10017 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
10018 }
10019
10020 #[inline]
10021 pub fn set_enableCustomTileConfig(&mut self, val: u32) {
10022 unsafe {
10023 let val: u32 = ::core::mem::transmute(val);
10024 self._bitfield_1.set(10usize, 1u8, val as u64)
10025 }
10026 }
10027
10028 #[inline]
10029 pub fn enableFilmGrainParams(&self) -> u32 {
10030 unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
10031 }
10032
10033 #[inline]
10034 pub fn set_enableFilmGrainParams(&mut self, val: u32) {
10035 unsafe {
10036 let val: u32 = ::core::mem::transmute(val);
10037 self._bitfield_1.set(11usize, 1u8, val as u64)
10038 }
10039 }
10040
10041 #[inline]
10042 pub fn inputPixelBitDepthMinus8(&self) -> u32 {
10043 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 3u8) as u32) }
10044 }
10045
10046 #[inline]
10047 pub fn set_inputPixelBitDepthMinus8(&mut self, val: u32) {
10048 unsafe {
10049 let val: u32 = ::core::mem::transmute(val);
10050 self._bitfield_1.set(12usize, 3u8, val as u64)
10051 }
10052 }
10053
10054 #[inline]
10055 pub fn pixelBitDepthMinus8(&self) -> u32 {
10056 unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 3u8) as u32) }
10057 }
10058
10059 #[inline]
10060 pub fn set_pixelBitDepthMinus8(&mut self, val: u32) {
10061 unsafe {
10062 let val: u32 = ::core::mem::transmute(val);
10063 self._bitfield_1.set(15usize, 3u8, val as u64)
10064 }
10065 }
10066
10067 #[inline]
10068 pub fn reserved(&self) -> u32 {
10069 unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 14u8) as u32) }
10070 }
10071
10072 #[inline]
10073 pub fn set_reserved(&mut self, val: u32) {
10074 unsafe {
10075 let val: u32 = ::core::mem::transmute(val);
10076 self._bitfield_1.set(18usize, 14u8, val as u64)
10077 }
10078 }
10079
10080 #[inline]
10081 pub fn new_bitfield_1(
10082 outputAnnexBFormat: u32,
10083 enableTimingInfo: u32,
10084 enableDecoderModelInfo: u32,
10085 enableFrameIdNumbers: u32,
10086 disableSeqHdr: u32,
10087 repeatSeqHdr: u32,
10088 enableIntraRefresh: u32,
10089 chromaFormatIDC: u32,
10090 enableBitstreamPadding: u32,
10091 enableCustomTileConfig: u32,
10092 enableFilmGrainParams: u32,
10093 inputPixelBitDepthMinus8: u32,
10094 pixelBitDepthMinus8: u32,
10095 reserved: u32,
10096 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
10097 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
10098 __bindgen_bitfield_unit.set(0usize, 1u8, {
10099 let outputAnnexBFormat: u32 = unsafe { ::core::mem::transmute(outputAnnexBFormat) };
10100 outputAnnexBFormat as u64
10101 });
10102 __bindgen_bitfield_unit.set(1usize, 1u8, {
10103 let enableTimingInfo: u32 = unsafe { ::core::mem::transmute(enableTimingInfo) };
10104 enableTimingInfo as u64
10105 });
10106 __bindgen_bitfield_unit.set(2usize, 1u8, {
10107 let enableDecoderModelInfo: u32 =
10108 unsafe { ::core::mem::transmute(enableDecoderModelInfo) };
10109 enableDecoderModelInfo as u64
10110 });
10111 __bindgen_bitfield_unit.set(3usize, 1u8, {
10112 let enableFrameIdNumbers: u32 = unsafe { ::core::mem::transmute(enableFrameIdNumbers) };
10113 enableFrameIdNumbers as u64
10114 });
10115 __bindgen_bitfield_unit.set(4usize, 1u8, {
10116 let disableSeqHdr: u32 = unsafe { ::core::mem::transmute(disableSeqHdr) };
10117 disableSeqHdr as u64
10118 });
10119 __bindgen_bitfield_unit.set(5usize, 1u8, {
10120 let repeatSeqHdr: u32 = unsafe { ::core::mem::transmute(repeatSeqHdr) };
10121 repeatSeqHdr as u64
10122 });
10123 __bindgen_bitfield_unit.set(6usize, 1u8, {
10124 let enableIntraRefresh: u32 = unsafe { ::core::mem::transmute(enableIntraRefresh) };
10125 enableIntraRefresh as u64
10126 });
10127 __bindgen_bitfield_unit.set(7usize, 2u8, {
10128 let chromaFormatIDC: u32 = unsafe { ::core::mem::transmute(chromaFormatIDC) };
10129 chromaFormatIDC as u64
10130 });
10131 __bindgen_bitfield_unit.set(9usize, 1u8, {
10132 let enableBitstreamPadding: u32 =
10133 unsafe { ::core::mem::transmute(enableBitstreamPadding) };
10134 enableBitstreamPadding as u64
10135 });
10136 __bindgen_bitfield_unit.set(10usize, 1u8, {
10137 let enableCustomTileConfig: u32 =
10138 unsafe { ::core::mem::transmute(enableCustomTileConfig) };
10139 enableCustomTileConfig as u64
10140 });
10141 __bindgen_bitfield_unit.set(11usize, 1u8, {
10142 let enableFilmGrainParams: u32 =
10143 unsafe { ::core::mem::transmute(enableFilmGrainParams) };
10144 enableFilmGrainParams as u64
10145 });
10146 __bindgen_bitfield_unit.set(12usize, 3u8, {
10147 let inputPixelBitDepthMinus8: u32 =
10148 unsafe { ::core::mem::transmute(inputPixelBitDepthMinus8) };
10149 inputPixelBitDepthMinus8 as u64
10150 });
10151 __bindgen_bitfield_unit.set(15usize, 3u8, {
10152 let pixelBitDepthMinus8: u32 = unsafe { ::core::mem::transmute(pixelBitDepthMinus8) };
10153 pixelBitDepthMinus8 as u64
10154 });
10155 __bindgen_bitfield_unit.set(18usize, 14u8, {
10156 let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
10157 reserved as u64
10158 });
10159 __bindgen_bitfield_unit
10160 }
10161}
10162impl Default for _NV_ENC_CONFIG_H264_MEONLY {
10163 fn default() -> Self {
10164 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10165 unsafe {
10166 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10167 s.assume_init()
10168 }
10169 }
10170}
10171impl _NV_ENC_CONFIG_H264_MEONLY {
10172 #[inline]
10173 pub fn disablePartition16x16(&self) -> u32 {
10174 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
10175 }
10176
10177 #[inline]
10178 pub fn set_disablePartition16x16(&mut self, val: u32) {
10179 unsafe {
10180 let val: u32 = ::core::mem::transmute(val);
10181 self._bitfield_1.set(0usize, 1u8, val as u64)
10182 }
10183 }
10184
10185 #[inline]
10186 pub fn disablePartition8x16(&self) -> u32 {
10187 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
10188 }
10189
10190 #[inline]
10191 pub fn set_disablePartition8x16(&mut self, val: u32) {
10192 unsafe {
10193 let val: u32 = ::core::mem::transmute(val);
10194 self._bitfield_1.set(1usize, 1u8, val as u64)
10195 }
10196 }
10197
10198 #[inline]
10199 pub fn disablePartition16x8(&self) -> u32 {
10200 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
10201 }
10202
10203 #[inline]
10204 pub fn set_disablePartition16x8(&mut self, val: u32) {
10205 unsafe {
10206 let val: u32 = ::core::mem::transmute(val);
10207 self._bitfield_1.set(2usize, 1u8, val as u64)
10208 }
10209 }
10210
10211 #[inline]
10212 pub fn disablePartition8x8(&self) -> u32 {
10213 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
10214 }
10215
10216 #[inline]
10217 pub fn set_disablePartition8x8(&mut self, val: u32) {
10218 unsafe {
10219 let val: u32 = ::core::mem::transmute(val);
10220 self._bitfield_1.set(3usize, 1u8, val as u64)
10221 }
10222 }
10223
10224 #[inline]
10225 pub fn disableIntraSearch(&self) -> u32 {
10226 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
10227 }
10228
10229 #[inline]
10230 pub fn set_disableIntraSearch(&mut self, val: u32) {
10231 unsafe {
10232 let val: u32 = ::core::mem::transmute(val);
10233 self._bitfield_1.set(4usize, 1u8, val as u64)
10234 }
10235 }
10236
10237 #[inline]
10238 pub fn bStereoEnable(&self) -> u32 {
10239 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
10240 }
10241
10242 #[inline]
10243 pub fn set_bStereoEnable(&mut self, val: u32) {
10244 unsafe {
10245 let val: u32 = ::core::mem::transmute(val);
10246 self._bitfield_1.set(5usize, 1u8, val as u64)
10247 }
10248 }
10249
10250 #[inline]
10251 pub fn reserved(&self) -> u32 {
10252 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 26u8) as u32) }
10253 }
10254
10255 #[inline]
10256 pub fn set_reserved(&mut self, val: u32) {
10257 unsafe {
10258 let val: u32 = ::core::mem::transmute(val);
10259 self._bitfield_1.set(6usize, 26u8, val as u64)
10260 }
10261 }
10262
10263 #[inline]
10264 pub fn new_bitfield_1(
10265 disablePartition16x16: u32,
10266 disablePartition8x16: u32,
10267 disablePartition16x8: u32,
10268 disablePartition8x8: u32,
10269 disableIntraSearch: u32,
10270 bStereoEnable: u32,
10271 reserved: u32,
10272 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
10273 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
10274 __bindgen_bitfield_unit.set(0usize, 1u8, {
10275 let disablePartition16x16: u32 =
10276 unsafe { ::core::mem::transmute(disablePartition16x16) };
10277 disablePartition16x16 as u64
10278 });
10279 __bindgen_bitfield_unit.set(1usize, 1u8, {
10280 let disablePartition8x16: u32 = unsafe { ::core::mem::transmute(disablePartition8x16) };
10281 disablePartition8x16 as u64
10282 });
10283 __bindgen_bitfield_unit.set(2usize, 1u8, {
10284 let disablePartition16x8: u32 = unsafe { ::core::mem::transmute(disablePartition16x8) };
10285 disablePartition16x8 as u64
10286 });
10287 __bindgen_bitfield_unit.set(3usize, 1u8, {
10288 let disablePartition8x8: u32 = unsafe { ::core::mem::transmute(disablePartition8x8) };
10289 disablePartition8x8 as u64
10290 });
10291 __bindgen_bitfield_unit.set(4usize, 1u8, {
10292 let disableIntraSearch: u32 = unsafe { ::core::mem::transmute(disableIntraSearch) };
10293 disableIntraSearch as u64
10294 });
10295 __bindgen_bitfield_unit.set(5usize, 1u8, {
10296 let bStereoEnable: u32 = unsafe { ::core::mem::transmute(bStereoEnable) };
10297 bStereoEnable as u64
10298 });
10299 __bindgen_bitfield_unit.set(6usize, 26u8, {
10300 let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
10301 reserved as u64
10302 });
10303 __bindgen_bitfield_unit
10304 }
10305}
10306impl Default for _NV_ENC_CONFIG_HEVC_MEONLY {
10307 fn default() -> Self {
10308 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10309 unsafe {
10310 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10311 s.assume_init()
10312 }
10313 }
10314}
10315impl Default for _NV_ENC_CODEC_CONFIG {
10316 fn default() -> Self {
10317 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10318 unsafe {
10319 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10320 s.assume_init()
10321 }
10322 }
10323}
10324impl Default for _NV_ENC_CONFIG {
10325 fn default() -> Self {
10326 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10327 unsafe {
10328 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10329 s.assume_init()
10330 }
10331 }
10332}
10333impl Default for _NV_ENC_INITIALIZE_PARAMS {
10334 fn default() -> Self {
10335 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10336 unsafe {
10337 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10338 s.assume_init()
10339 }
10340 }
10341}
10342impl _NV_ENC_INITIALIZE_PARAMS {
10343 #[inline]
10344 pub fn reportSliceOffsets(&self) -> u32 {
10345 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
10346 }
10347
10348 #[inline]
10349 pub fn set_reportSliceOffsets(&mut self, val: u32) {
10350 unsafe {
10351 let val: u32 = ::core::mem::transmute(val);
10352 self._bitfield_1.set(0usize, 1u8, val as u64)
10353 }
10354 }
10355
10356 #[inline]
10357 pub fn enableSubFrameWrite(&self) -> u32 {
10358 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
10359 }
10360
10361 #[inline]
10362 pub fn set_enableSubFrameWrite(&mut self, val: u32) {
10363 unsafe {
10364 let val: u32 = ::core::mem::transmute(val);
10365 self._bitfield_1.set(1usize, 1u8, val as u64)
10366 }
10367 }
10368
10369 #[inline]
10370 pub fn enableExternalMEHints(&self) -> u32 {
10371 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
10372 }
10373
10374 #[inline]
10375 pub fn set_enableExternalMEHints(&mut self, val: u32) {
10376 unsafe {
10377 let val: u32 = ::core::mem::transmute(val);
10378 self._bitfield_1.set(2usize, 1u8, val as u64)
10379 }
10380 }
10381
10382 #[inline]
10383 pub fn enableMEOnlyMode(&self) -> u32 {
10384 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
10385 }
10386
10387 #[inline]
10388 pub fn set_enableMEOnlyMode(&mut self, val: u32) {
10389 unsafe {
10390 let val: u32 = ::core::mem::transmute(val);
10391 self._bitfield_1.set(3usize, 1u8, val as u64)
10392 }
10393 }
10394
10395 #[inline]
10396 pub fn enableWeightedPrediction(&self) -> u32 {
10397 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
10398 }
10399
10400 #[inline]
10401 pub fn set_enableWeightedPrediction(&mut self, val: u32) {
10402 unsafe {
10403 let val: u32 = ::core::mem::transmute(val);
10404 self._bitfield_1.set(4usize, 1u8, val as u64)
10405 }
10406 }
10407
10408 #[inline]
10409 pub fn splitEncodeMode(&self) -> u32 {
10410 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 4u8) as u32) }
10411 }
10412
10413 #[inline]
10414 pub fn set_splitEncodeMode(&mut self, val: u32) {
10415 unsafe {
10416 let val: u32 = ::core::mem::transmute(val);
10417 self._bitfield_1.set(5usize, 4u8, val as u64)
10418 }
10419 }
10420
10421 #[inline]
10422 pub fn enableOutputInVidmem(&self) -> u32 {
10423 unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
10424 }
10425
10426 #[inline]
10427 pub fn set_enableOutputInVidmem(&mut self, val: u32) {
10428 unsafe {
10429 let val: u32 = ::core::mem::transmute(val);
10430 self._bitfield_1.set(9usize, 1u8, val as u64)
10431 }
10432 }
10433
10434 #[inline]
10435 pub fn enableReconFrameOutput(&self) -> u32 {
10436 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
10437 }
10438
10439 #[inline]
10440 pub fn set_enableReconFrameOutput(&mut self, val: u32) {
10441 unsafe {
10442 let val: u32 = ::core::mem::transmute(val);
10443 self._bitfield_1.set(10usize, 1u8, val as u64)
10444 }
10445 }
10446
10447 #[inline]
10448 pub fn enableOutputStats(&self) -> u32 {
10449 unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
10450 }
10451
10452 #[inline]
10453 pub fn set_enableOutputStats(&mut self, val: u32) {
10454 unsafe {
10455 let val: u32 = ::core::mem::transmute(val);
10456 self._bitfield_1.set(11usize, 1u8, val as u64)
10457 }
10458 }
10459
10460 #[inline]
10461 pub fn reservedBitFields(&self) -> u32 {
10462 unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) }
10463 }
10464
10465 #[inline]
10466 pub fn set_reservedBitFields(&mut self, val: u32) {
10467 unsafe {
10468 let val: u32 = ::core::mem::transmute(val);
10469 self._bitfield_1.set(12usize, 20u8, val as u64)
10470 }
10471 }
10472
10473 #[inline]
10474 pub fn new_bitfield_1(
10475 reportSliceOffsets: u32,
10476 enableSubFrameWrite: u32,
10477 enableExternalMEHints: u32,
10478 enableMEOnlyMode: u32,
10479 enableWeightedPrediction: u32,
10480 splitEncodeMode: u32,
10481 enableOutputInVidmem: u32,
10482 enableReconFrameOutput: u32,
10483 enableOutputStats: u32,
10484 reservedBitFields: u32,
10485 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
10486 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
10487 __bindgen_bitfield_unit.set(0usize, 1u8, {
10488 let reportSliceOffsets: u32 = unsafe { ::core::mem::transmute(reportSliceOffsets) };
10489 reportSliceOffsets as u64
10490 });
10491 __bindgen_bitfield_unit.set(1usize, 1u8, {
10492 let enableSubFrameWrite: u32 = unsafe { ::core::mem::transmute(enableSubFrameWrite) };
10493 enableSubFrameWrite as u64
10494 });
10495 __bindgen_bitfield_unit.set(2usize, 1u8, {
10496 let enableExternalMEHints: u32 =
10497 unsafe { ::core::mem::transmute(enableExternalMEHints) };
10498 enableExternalMEHints as u64
10499 });
10500 __bindgen_bitfield_unit.set(3usize, 1u8, {
10501 let enableMEOnlyMode: u32 = unsafe { ::core::mem::transmute(enableMEOnlyMode) };
10502 enableMEOnlyMode as u64
10503 });
10504 __bindgen_bitfield_unit.set(4usize, 1u8, {
10505 let enableWeightedPrediction: u32 =
10506 unsafe { ::core::mem::transmute(enableWeightedPrediction) };
10507 enableWeightedPrediction as u64
10508 });
10509 __bindgen_bitfield_unit.set(5usize, 4u8, {
10510 let splitEncodeMode: u32 = unsafe { ::core::mem::transmute(splitEncodeMode) };
10511 splitEncodeMode as u64
10512 });
10513 __bindgen_bitfield_unit.set(9usize, 1u8, {
10514 let enableOutputInVidmem: u32 = unsafe { ::core::mem::transmute(enableOutputInVidmem) };
10515 enableOutputInVidmem as u64
10516 });
10517 __bindgen_bitfield_unit.set(10usize, 1u8, {
10518 let enableReconFrameOutput: u32 =
10519 unsafe { ::core::mem::transmute(enableReconFrameOutput) };
10520 enableReconFrameOutput as u64
10521 });
10522 __bindgen_bitfield_unit.set(11usize, 1u8, {
10523 let enableOutputStats: u32 = unsafe { ::core::mem::transmute(enableOutputStats) };
10524 enableOutputStats as u64
10525 });
10526 __bindgen_bitfield_unit.set(12usize, 20u8, {
10527 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
10528 reservedBitFields as u64
10529 });
10530 __bindgen_bitfield_unit
10531 }
10532}
10533impl Default for _NV_ENC_RECONFIGURE_PARAMS {
10534 fn default() -> Self {
10535 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10536 unsafe {
10537 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10538 s.assume_init()
10539 }
10540 }
10541}
10542impl _NV_ENC_RECONFIGURE_PARAMS {
10543 #[inline]
10544 pub fn resetEncoder(&self) -> u32 {
10545 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
10546 }
10547
10548 #[inline]
10549 pub fn set_resetEncoder(&mut self, val: u32) {
10550 unsafe {
10551 let val: u32 = ::core::mem::transmute(val);
10552 self._bitfield_1.set(0usize, 1u8, val as u64)
10553 }
10554 }
10555
10556 #[inline]
10557 pub fn forceIDR(&self) -> u32 {
10558 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
10559 }
10560
10561 #[inline]
10562 pub fn set_forceIDR(&mut self, val: u32) {
10563 unsafe {
10564 let val: u32 = ::core::mem::transmute(val);
10565 self._bitfield_1.set(1usize, 1u8, val as u64)
10566 }
10567 }
10568
10569 #[inline]
10570 pub fn reserved(&self) -> u32 {
10571 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
10572 }
10573
10574 #[inline]
10575 pub fn set_reserved(&mut self, val: u32) {
10576 unsafe {
10577 let val: u32 = ::core::mem::transmute(val);
10578 self._bitfield_1.set(2usize, 30u8, val as u64)
10579 }
10580 }
10581
10582 #[inline]
10583 pub fn new_bitfield_1(
10584 resetEncoder: u32,
10585 forceIDR: u32,
10586 reserved: u32,
10587 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
10588 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
10589 __bindgen_bitfield_unit.set(0usize, 1u8, {
10590 let resetEncoder: u32 = unsafe { ::core::mem::transmute(resetEncoder) };
10591 resetEncoder as u64
10592 });
10593 __bindgen_bitfield_unit.set(1usize, 1u8, {
10594 let forceIDR: u32 = unsafe { ::core::mem::transmute(forceIDR) };
10595 forceIDR as u64
10596 });
10597 __bindgen_bitfield_unit.set(2usize, 30u8, {
10598 let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
10599 reserved as u64
10600 });
10601 __bindgen_bitfield_unit
10602 }
10603}
10604impl Default for _NV_ENC_PRESET_CONFIG {
10605 fn default() -> Self {
10606 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10607 unsafe {
10608 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10609 s.assume_init()
10610 }
10611 }
10612}
10613impl Default for _NV_ENC_PIC_PARAMS_MVC {
10614 fn default() -> Self {
10615 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10616 unsafe {
10617 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10618 s.assume_init()
10619 }
10620 }
10621}
10622impl Default for _NV_ENC_PIC_PARAMS_H264_EXT {
10623 fn default() -> Self {
10624 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10625 unsafe {
10626 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10627 s.assume_init()
10628 }
10629 }
10630}
10631impl Default for _NV_ENC_SEI_PAYLOAD {
10632 fn default() -> Self {
10633 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10634 unsafe {
10635 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10636 s.assume_init()
10637 }
10638 }
10639}
10640impl Default for _NV_ENC_PIC_PARAMS_H264 {
10641 fn default() -> Self {
10642 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10643 unsafe {
10644 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10645 s.assume_init()
10646 }
10647 }
10648}
10649impl _NV_ENC_PIC_PARAMS_H264 {
10650 #[inline]
10651 pub fn constrainedFrame(&self) -> u32 {
10652 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
10653 }
10654
10655 #[inline]
10656 pub fn set_constrainedFrame(&mut self, val: u32) {
10657 unsafe {
10658 let val: u32 = ::core::mem::transmute(val);
10659 self._bitfield_1.set(0usize, 1u8, val as u64)
10660 }
10661 }
10662
10663 #[inline]
10664 pub fn sliceModeDataUpdate(&self) -> u32 {
10665 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
10666 }
10667
10668 #[inline]
10669 pub fn set_sliceModeDataUpdate(&mut self, val: u32) {
10670 unsafe {
10671 let val: u32 = ::core::mem::transmute(val);
10672 self._bitfield_1.set(1usize, 1u8, val as u64)
10673 }
10674 }
10675
10676 #[inline]
10677 pub fn ltrMarkFrame(&self) -> u32 {
10678 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
10679 }
10680
10681 #[inline]
10682 pub fn set_ltrMarkFrame(&mut self, val: u32) {
10683 unsafe {
10684 let val: u32 = ::core::mem::transmute(val);
10685 self._bitfield_1.set(2usize, 1u8, val as u64)
10686 }
10687 }
10688
10689 #[inline]
10690 pub fn ltrUseFrames(&self) -> u32 {
10691 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
10692 }
10693
10694 #[inline]
10695 pub fn set_ltrUseFrames(&mut self, val: u32) {
10696 unsafe {
10697 let val: u32 = ::core::mem::transmute(val);
10698 self._bitfield_1.set(3usize, 1u8, val as u64)
10699 }
10700 }
10701
10702 #[inline]
10703 pub fn reservedBitFields(&self) -> u32 {
10704 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
10705 }
10706
10707 #[inline]
10708 pub fn set_reservedBitFields(&mut self, val: u32) {
10709 unsafe {
10710 let val: u32 = ::core::mem::transmute(val);
10711 self._bitfield_1.set(4usize, 28u8, val as u64)
10712 }
10713 }
10714
10715 #[inline]
10716 pub fn new_bitfield_1(
10717 constrainedFrame: u32,
10718 sliceModeDataUpdate: u32,
10719 ltrMarkFrame: u32,
10720 ltrUseFrames: u32,
10721 reservedBitFields: u32,
10722 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
10723 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
10724 __bindgen_bitfield_unit.set(0usize, 1u8, {
10725 let constrainedFrame: u32 = unsafe { ::core::mem::transmute(constrainedFrame) };
10726 constrainedFrame as u64
10727 });
10728 __bindgen_bitfield_unit.set(1usize, 1u8, {
10729 let sliceModeDataUpdate: u32 = unsafe { ::core::mem::transmute(sliceModeDataUpdate) };
10730 sliceModeDataUpdate as u64
10731 });
10732 __bindgen_bitfield_unit.set(2usize, 1u8, {
10733 let ltrMarkFrame: u32 = unsafe { ::core::mem::transmute(ltrMarkFrame) };
10734 ltrMarkFrame as u64
10735 });
10736 __bindgen_bitfield_unit.set(3usize, 1u8, {
10737 let ltrUseFrames: u32 = unsafe { ::core::mem::transmute(ltrUseFrames) };
10738 ltrUseFrames as u64
10739 });
10740 __bindgen_bitfield_unit.set(4usize, 28u8, {
10741 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
10742 reservedBitFields as u64
10743 });
10744 __bindgen_bitfield_unit
10745 }
10746}
10747impl Default for _NV_ENC_PIC_PARAMS_HEVC {
10748 fn default() -> Self {
10749 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10750 unsafe {
10751 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10752 s.assume_init()
10753 }
10754 }
10755}
10756impl _NV_ENC_PIC_PARAMS_HEVC {
10757 #[inline]
10758 pub fn constrainedFrame(&self) -> u32 {
10759 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
10760 }
10761
10762 #[inline]
10763 pub fn set_constrainedFrame(&mut self, val: u32) {
10764 unsafe {
10765 let val: u32 = ::core::mem::transmute(val);
10766 self._bitfield_1.set(0usize, 1u8, val as u64)
10767 }
10768 }
10769
10770 #[inline]
10771 pub fn sliceModeDataUpdate(&self) -> u32 {
10772 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
10773 }
10774
10775 #[inline]
10776 pub fn set_sliceModeDataUpdate(&mut self, val: u32) {
10777 unsafe {
10778 let val: u32 = ::core::mem::transmute(val);
10779 self._bitfield_1.set(1usize, 1u8, val as u64)
10780 }
10781 }
10782
10783 #[inline]
10784 pub fn ltrMarkFrame(&self) -> u32 {
10785 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
10786 }
10787
10788 #[inline]
10789 pub fn set_ltrMarkFrame(&mut self, val: u32) {
10790 unsafe {
10791 let val: u32 = ::core::mem::transmute(val);
10792 self._bitfield_1.set(2usize, 1u8, val as u64)
10793 }
10794 }
10795
10796 #[inline]
10797 pub fn ltrUseFrames(&self) -> u32 {
10798 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
10799 }
10800
10801 #[inline]
10802 pub fn set_ltrUseFrames(&mut self, val: u32) {
10803 unsafe {
10804 let val: u32 = ::core::mem::transmute(val);
10805 self._bitfield_1.set(3usize, 1u8, val as u64)
10806 }
10807 }
10808
10809 #[inline]
10810 pub fn reservedBitFields(&self) -> u32 {
10811 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
10812 }
10813
10814 #[inline]
10815 pub fn set_reservedBitFields(&mut self, val: u32) {
10816 unsafe {
10817 let val: u32 = ::core::mem::transmute(val);
10818 self._bitfield_1.set(4usize, 28u8, val as u64)
10819 }
10820 }
10821
10822 #[inline]
10823 pub fn new_bitfield_1(
10824 constrainedFrame: u32,
10825 sliceModeDataUpdate: u32,
10826 ltrMarkFrame: u32,
10827 ltrUseFrames: u32,
10828 reservedBitFields: u32,
10829 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
10830 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
10831 __bindgen_bitfield_unit.set(0usize, 1u8, {
10832 let constrainedFrame: u32 = unsafe { ::core::mem::transmute(constrainedFrame) };
10833 constrainedFrame as u64
10834 });
10835 __bindgen_bitfield_unit.set(1usize, 1u8, {
10836 let sliceModeDataUpdate: u32 = unsafe { ::core::mem::transmute(sliceModeDataUpdate) };
10837 sliceModeDataUpdate as u64
10838 });
10839 __bindgen_bitfield_unit.set(2usize, 1u8, {
10840 let ltrMarkFrame: u32 = unsafe { ::core::mem::transmute(ltrMarkFrame) };
10841 ltrMarkFrame as u64
10842 });
10843 __bindgen_bitfield_unit.set(3usize, 1u8, {
10844 let ltrUseFrames: u32 = unsafe { ::core::mem::transmute(ltrUseFrames) };
10845 ltrUseFrames as u64
10846 });
10847 __bindgen_bitfield_unit.set(4usize, 28u8, {
10848 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
10849 reservedBitFields as u64
10850 });
10851 __bindgen_bitfield_unit
10852 }
10853}
10854impl Default for _NV_ENC_PIC_PARAMS_AV1 {
10855 fn default() -> Self {
10856 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
10857 unsafe {
10858 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10859 s.assume_init()
10860 }
10861 }
10862}
10863impl _NV_ENC_PIC_PARAMS_AV1 {
10864 #[inline]
10865 pub fn goldenFrameFlag(&self) -> u32 {
10866 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
10867 }
10868
10869 #[inline]
10870 pub fn set_goldenFrameFlag(&mut self, val: u32) {
10871 unsafe {
10872 let val: u32 = ::core::mem::transmute(val);
10873 self._bitfield_1.set(0usize, 1u8, val as u64)
10874 }
10875 }
10876
10877 #[inline]
10878 pub fn arfFrameFlag(&self) -> u32 {
10879 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
10880 }
10881
10882 #[inline]
10883 pub fn set_arfFrameFlag(&mut self, val: u32) {
10884 unsafe {
10885 let val: u32 = ::core::mem::transmute(val);
10886 self._bitfield_1.set(1usize, 1u8, val as u64)
10887 }
10888 }
10889
10890 #[inline]
10891 pub fn arf2FrameFlag(&self) -> u32 {
10892 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
10893 }
10894
10895 #[inline]
10896 pub fn set_arf2FrameFlag(&mut self, val: u32) {
10897 unsafe {
10898 let val: u32 = ::core::mem::transmute(val);
10899 self._bitfield_1.set(2usize, 1u8, val as u64)
10900 }
10901 }
10902
10903 #[inline]
10904 pub fn bwdFrameFlag(&self) -> u32 {
10905 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
10906 }
10907
10908 #[inline]
10909 pub fn set_bwdFrameFlag(&mut self, val: u32) {
10910 unsafe {
10911 let val: u32 = ::core::mem::transmute(val);
10912 self._bitfield_1.set(3usize, 1u8, val as u64)
10913 }
10914 }
10915
10916 #[inline]
10917 pub fn overlayFrameFlag(&self) -> u32 {
10918 unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
10919 }
10920
10921 #[inline]
10922 pub fn set_overlayFrameFlag(&mut self, val: u32) {
10923 unsafe {
10924 let val: u32 = ::core::mem::transmute(val);
10925 self._bitfield_1.set(4usize, 1u8, val as u64)
10926 }
10927 }
10928
10929 #[inline]
10930 pub fn showExistingFrameFlag(&self) -> u32 {
10931 unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
10932 }
10933
10934 #[inline]
10935 pub fn set_showExistingFrameFlag(&mut self, val: u32) {
10936 unsafe {
10937 let val: u32 = ::core::mem::transmute(val);
10938 self._bitfield_1.set(5usize, 1u8, val as u64)
10939 }
10940 }
10941
10942 #[inline]
10943 pub fn errorResilientModeFlag(&self) -> u32 {
10944 unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
10945 }
10946
10947 #[inline]
10948 pub fn set_errorResilientModeFlag(&mut self, val: u32) {
10949 unsafe {
10950 let val: u32 = ::core::mem::transmute(val);
10951 self._bitfield_1.set(6usize, 1u8, val as u64)
10952 }
10953 }
10954
10955 #[inline]
10956 pub fn tileConfigUpdate(&self) -> u32 {
10957 unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
10958 }
10959
10960 #[inline]
10961 pub fn set_tileConfigUpdate(&mut self, val: u32) {
10962 unsafe {
10963 let val: u32 = ::core::mem::transmute(val);
10964 self._bitfield_1.set(7usize, 1u8, val as u64)
10965 }
10966 }
10967
10968 #[inline]
10969 pub fn enableCustomTileConfig(&self) -> u32 {
10970 unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
10971 }
10972
10973 #[inline]
10974 pub fn set_enableCustomTileConfig(&mut self, val: u32) {
10975 unsafe {
10976 let val: u32 = ::core::mem::transmute(val);
10977 self._bitfield_1.set(8usize, 1u8, val as u64)
10978 }
10979 }
10980
10981 #[inline]
10982 pub fn filmGrainParamsUpdate(&self) -> u32 {
10983 unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
10984 }
10985
10986 #[inline]
10987 pub fn set_filmGrainParamsUpdate(&mut self, val: u32) {
10988 unsafe {
10989 let val: u32 = ::core::mem::transmute(val);
10990 self._bitfield_1.set(9usize, 1u8, val as u64)
10991 }
10992 }
10993
10994 #[inline]
10995 pub fn reservedBitFields(&self) -> u32 {
10996 unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) }
10997 }
10998
10999 #[inline]
11000 pub fn set_reservedBitFields(&mut self, val: u32) {
11001 unsafe {
11002 let val: u32 = ::core::mem::transmute(val);
11003 self._bitfield_1.set(10usize, 22u8, val as u64)
11004 }
11005 }
11006
11007 #[inline]
11008 pub fn new_bitfield_1(
11009 goldenFrameFlag: u32,
11010 arfFrameFlag: u32,
11011 arf2FrameFlag: u32,
11012 bwdFrameFlag: u32,
11013 overlayFrameFlag: u32,
11014 showExistingFrameFlag: u32,
11015 errorResilientModeFlag: u32,
11016 tileConfigUpdate: u32,
11017 enableCustomTileConfig: u32,
11018 filmGrainParamsUpdate: u32,
11019 reservedBitFields: u32,
11020 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
11021 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
11022 __bindgen_bitfield_unit.set(0usize, 1u8, {
11023 let goldenFrameFlag: u32 = unsafe { ::core::mem::transmute(goldenFrameFlag) };
11024 goldenFrameFlag as u64
11025 });
11026 __bindgen_bitfield_unit.set(1usize, 1u8, {
11027 let arfFrameFlag: u32 = unsafe { ::core::mem::transmute(arfFrameFlag) };
11028 arfFrameFlag as u64
11029 });
11030 __bindgen_bitfield_unit.set(2usize, 1u8, {
11031 let arf2FrameFlag: u32 = unsafe { ::core::mem::transmute(arf2FrameFlag) };
11032 arf2FrameFlag as u64
11033 });
11034 __bindgen_bitfield_unit.set(3usize, 1u8, {
11035 let bwdFrameFlag: u32 = unsafe { ::core::mem::transmute(bwdFrameFlag) };
11036 bwdFrameFlag as u64
11037 });
11038 __bindgen_bitfield_unit.set(4usize, 1u8, {
11039 let overlayFrameFlag: u32 = unsafe { ::core::mem::transmute(overlayFrameFlag) };
11040 overlayFrameFlag as u64
11041 });
11042 __bindgen_bitfield_unit.set(5usize, 1u8, {
11043 let showExistingFrameFlag: u32 =
11044 unsafe { ::core::mem::transmute(showExistingFrameFlag) };
11045 showExistingFrameFlag as u64
11046 });
11047 __bindgen_bitfield_unit.set(6usize, 1u8, {
11048 let errorResilientModeFlag: u32 =
11049 unsafe { ::core::mem::transmute(errorResilientModeFlag) };
11050 errorResilientModeFlag as u64
11051 });
11052 __bindgen_bitfield_unit.set(7usize, 1u8, {
11053 let tileConfigUpdate: u32 = unsafe { ::core::mem::transmute(tileConfigUpdate) };
11054 tileConfigUpdate as u64
11055 });
11056 __bindgen_bitfield_unit.set(8usize, 1u8, {
11057 let enableCustomTileConfig: u32 =
11058 unsafe { ::core::mem::transmute(enableCustomTileConfig) };
11059 enableCustomTileConfig as u64
11060 });
11061 __bindgen_bitfield_unit.set(9usize, 1u8, {
11062 let filmGrainParamsUpdate: u32 =
11063 unsafe { ::core::mem::transmute(filmGrainParamsUpdate) };
11064 filmGrainParamsUpdate as u64
11065 });
11066 __bindgen_bitfield_unit.set(10usize, 22u8, {
11067 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
11068 reservedBitFields as u64
11069 });
11070 __bindgen_bitfield_unit
11071 }
11072}
11073impl Default for _NV_ENC_CODEC_PIC_PARAMS {
11074 fn default() -> Self {
11075 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11076 unsafe {
11077 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11078 s.assume_init()
11079 }
11080 }
11081}
11082impl Default for _NV_ENC_PIC_PARAMS {
11083 fn default() -> Self {
11084 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11085 unsafe {
11086 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11087 s.assume_init()
11088 }
11089 }
11090}
11091impl Default for _NV_ENC_MEONLY_PARAMS {
11092 fn default() -> Self {
11093 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11094 unsafe {
11095 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11096 s.assume_init()
11097 }
11098 }
11099}
11100impl Default for _NV_ENC_LOCK_BITSTREAM {
11101 fn default() -> Self {
11102 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11103 unsafe {
11104 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11105 s.assume_init()
11106 }
11107 }
11108}
11109impl _NV_ENC_LOCK_BITSTREAM {
11110 #[inline]
11111 pub fn doNotWait(&self) -> u32 {
11112 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11113 }
11114
11115 #[inline]
11116 pub fn set_doNotWait(&mut self, val: u32) {
11117 unsafe {
11118 let val: u32 = ::core::mem::transmute(val);
11119 self._bitfield_1.set(0usize, 1u8, val as u64)
11120 }
11121 }
11122
11123 #[inline]
11124 pub fn ltrFrame(&self) -> u32 {
11125 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
11126 }
11127
11128 #[inline]
11129 pub fn set_ltrFrame(&mut self, val: u32) {
11130 unsafe {
11131 let val: u32 = ::core::mem::transmute(val);
11132 self._bitfield_1.set(1usize, 1u8, val as u64)
11133 }
11134 }
11135
11136 #[inline]
11137 pub fn getRCStats(&self) -> u32 {
11138 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
11139 }
11140
11141 #[inline]
11142 pub fn set_getRCStats(&mut self, val: u32) {
11143 unsafe {
11144 let val: u32 = ::core::mem::transmute(val);
11145 self._bitfield_1.set(2usize, 1u8, val as u64)
11146 }
11147 }
11148
11149 #[inline]
11150 pub fn reservedBitFields(&self) -> u32 {
11151 unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
11152 }
11153
11154 #[inline]
11155 pub fn set_reservedBitFields(&mut self, val: u32) {
11156 unsafe {
11157 let val: u32 = ::core::mem::transmute(val);
11158 self._bitfield_1.set(3usize, 29u8, val as u64)
11159 }
11160 }
11161
11162 #[inline]
11163 pub fn new_bitfield_1(
11164 doNotWait: u32,
11165 ltrFrame: u32,
11166 getRCStats: u32,
11167 reservedBitFields: u32,
11168 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
11169 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
11170 __bindgen_bitfield_unit.set(0usize, 1u8, {
11171 let doNotWait: u32 = unsafe { ::core::mem::transmute(doNotWait) };
11172 doNotWait as u64
11173 });
11174 __bindgen_bitfield_unit.set(1usize, 1u8, {
11175 let ltrFrame: u32 = unsafe { ::core::mem::transmute(ltrFrame) };
11176 ltrFrame as u64
11177 });
11178 __bindgen_bitfield_unit.set(2usize, 1u8, {
11179 let getRCStats: u32 = unsafe { ::core::mem::transmute(getRCStats) };
11180 getRCStats as u64
11181 });
11182 __bindgen_bitfield_unit.set(3usize, 29u8, {
11183 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
11184 reservedBitFields as u64
11185 });
11186 __bindgen_bitfield_unit
11187 }
11188}
11189impl Default for _NV_ENC_LOCK_INPUT_BUFFER {
11190 fn default() -> Self {
11191 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11192 unsafe {
11193 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11194 s.assume_init()
11195 }
11196 }
11197}
11198impl _NV_ENC_LOCK_INPUT_BUFFER {
11199 #[inline]
11200 pub fn doNotWait(&self) -> u32 {
11201 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11202 }
11203
11204 #[inline]
11205 pub fn set_doNotWait(&mut self, val: u32) {
11206 unsafe {
11207 let val: u32 = ::core::mem::transmute(val);
11208 self._bitfield_1.set(0usize, 1u8, val as u64)
11209 }
11210 }
11211
11212 #[inline]
11213 pub fn reservedBitFields(&self) -> u32 {
11214 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
11215 }
11216
11217 #[inline]
11218 pub fn set_reservedBitFields(&mut self, val: u32) {
11219 unsafe {
11220 let val: u32 = ::core::mem::transmute(val);
11221 self._bitfield_1.set(1usize, 31u8, val as u64)
11222 }
11223 }
11224
11225 #[inline]
11226 pub fn new_bitfield_1(
11227 doNotWait: u32,
11228 reservedBitFields: u32,
11229 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
11230 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
11231 __bindgen_bitfield_unit.set(0usize, 1u8, {
11232 let doNotWait: u32 = unsafe { ::core::mem::transmute(doNotWait) };
11233 doNotWait as u64
11234 });
11235 __bindgen_bitfield_unit.set(1usize, 31u8, {
11236 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
11237 reservedBitFields as u64
11238 });
11239 __bindgen_bitfield_unit
11240 }
11241}
11242impl Default for _NV_ENC_MAP_INPUT_RESOURCE {
11243 fn default() -> Self {
11244 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11245 unsafe {
11246 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11247 s.assume_init()
11248 }
11249 }
11250}
11251impl Default for _NV_ENC_FENCE_POINT_D3D12 {
11252 fn default() -> Self {
11253 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11254 unsafe {
11255 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11256 s.assume_init()
11257 }
11258 }
11259}
11260impl _NV_ENC_FENCE_POINT_D3D12 {
11261 #[inline]
11262 pub fn bWait(&self) -> u32 {
11263 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11264 }
11265
11266 #[inline]
11267 pub fn set_bWait(&mut self, val: u32) {
11268 unsafe {
11269 let val: u32 = ::core::mem::transmute(val);
11270 self._bitfield_1.set(0usize, 1u8, val as u64)
11271 }
11272 }
11273
11274 #[inline]
11275 pub fn bSignal(&self) -> u32 {
11276 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
11277 }
11278
11279 #[inline]
11280 pub fn set_bSignal(&mut self, val: u32) {
11281 unsafe {
11282 let val: u32 = ::core::mem::transmute(val);
11283 self._bitfield_1.set(1usize, 1u8, val as u64)
11284 }
11285 }
11286
11287 #[inline]
11288 pub fn reservedBitField(&self) -> u32 {
11289 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
11290 }
11291
11292 #[inline]
11293 pub fn set_reservedBitField(&mut self, val: u32) {
11294 unsafe {
11295 let val: u32 = ::core::mem::transmute(val);
11296 self._bitfield_1.set(2usize, 30u8, val as u64)
11297 }
11298 }
11299
11300 #[inline]
11301 pub fn new_bitfield_1(
11302 bWait: u32,
11303 bSignal: u32,
11304 reservedBitField: u32,
11305 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
11306 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
11307 __bindgen_bitfield_unit.set(0usize, 1u8, {
11308 let bWait: u32 = unsafe { ::core::mem::transmute(bWait) };
11309 bWait as u64
11310 });
11311 __bindgen_bitfield_unit.set(1usize, 1u8, {
11312 let bSignal: u32 = unsafe { ::core::mem::transmute(bSignal) };
11313 bSignal as u64
11314 });
11315 __bindgen_bitfield_unit.set(2usize, 30u8, {
11316 let reservedBitField: u32 = unsafe { ::core::mem::transmute(reservedBitField) };
11317 reservedBitField as u64
11318 });
11319 __bindgen_bitfield_unit
11320 }
11321}
11322impl Default for _NV_ENC_INPUT_RESOURCE_D3D12 {
11323 fn default() -> Self {
11324 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11325 unsafe {
11326 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11327 s.assume_init()
11328 }
11329 }
11330}
11331impl Default for _NV_ENC_OUTPUT_RESOURCE_D3D12 {
11332 fn default() -> Self {
11333 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11334 unsafe {
11335 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11336 s.assume_init()
11337 }
11338 }
11339}
11340impl Default for _NV_ENC_REGISTER_RESOURCE {
11341 fn default() -> Self {
11342 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11343 unsafe {
11344 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11345 s.assume_init()
11346 }
11347 }
11348}
11349impl Default for _NV_ENC_STAT {
11350 fn default() -> Self {
11351 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11352 unsafe {
11353 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11354 s.assume_init()
11355 }
11356 }
11357}
11358impl _NV_ENC_STAT {
11359 #[inline]
11360 pub fn ltrFrame(&self) -> u32 {
11361 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11362 }
11363
11364 #[inline]
11365 pub fn set_ltrFrame(&mut self, val: u32) {
11366 unsafe {
11367 let val: u32 = ::core::mem::transmute(val);
11368 self._bitfield_1.set(0usize, 1u8, val as u64)
11369 }
11370 }
11371
11372 #[inline]
11373 pub fn reservedBitFields(&self) -> u32 {
11374 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
11375 }
11376
11377 #[inline]
11378 pub fn set_reservedBitFields(&mut self, val: u32) {
11379 unsafe {
11380 let val: u32 = ::core::mem::transmute(val);
11381 self._bitfield_1.set(1usize, 31u8, val as u64)
11382 }
11383 }
11384
11385 #[inline]
11386 pub fn new_bitfield_1(
11387 ltrFrame: u32,
11388 reservedBitFields: u32,
11389 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
11390 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
11391 __bindgen_bitfield_unit.set(0usize, 1u8, {
11392 let ltrFrame: u32 = unsafe { ::core::mem::transmute(ltrFrame) };
11393 ltrFrame as u64
11394 });
11395 __bindgen_bitfield_unit.set(1usize, 31u8, {
11396 let reservedBitFields: u32 = unsafe { ::core::mem::transmute(reservedBitFields) };
11397 reservedBitFields as u64
11398 });
11399 __bindgen_bitfield_unit
11400 }
11401}
11402impl Default for _NV_ENC_SEQUENCE_PARAM_PAYLOAD {
11403 fn default() -> Self {
11404 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11405 unsafe {
11406 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11407 s.assume_init()
11408 }
11409 }
11410}
11411impl Default for _NV_ENC_EVENT_PARAMS {
11412 fn default() -> Self {
11413 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11414 unsafe {
11415 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11416 s.assume_init()
11417 }
11418 }
11419}
11420impl Default for _NV_ENC_OPEN_ENCODE_SESSIONEX_PARAMS {
11421 fn default() -> Self {
11422 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11423 unsafe {
11424 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11425 s.assume_init()
11426 }
11427 }
11428}
11429impl Default for _NV_ENCODE_API_FUNCTION_LIST {
11430 fn default() -> Self {
11431 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
11432 unsafe {
11433 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11434 s.assume_init()
11435 }
11436 }
11437}
11438pub use self::{
11439 _NVENCSTATUS as NVENCSTATUS,
11440 _NV_ENC_AV1_PART_SIZE as NV_ENC_AV1_PART_SIZE,
11441 _NV_ENC_BFRAME_REF_MODE as NV_ENC_BFRAME_REF_MODE,
11442 _NV_ENC_BUFFER_FORMAT as NV_ENC_BUFFER_FORMAT,
11443 _NV_ENC_BUFFER_USAGE as NV_ENC_BUFFER_USAGE,
11444 _NV_ENC_CAPS as NV_ENC_CAPS,
11445 _NV_ENC_DEVICE_TYPE as NV_ENC_DEVICE_TYPE,
11446 _NV_ENC_DISPLAY_PIC_STRUCT as NV_ENC_DISPLAY_PIC_STRUCT,
11447 _NV_ENC_EMPHASIS_MAP_LEVEL as NV_ENC_EMPHASIS_MAP_LEVEL,
11448 _NV_ENC_H264_ADAPTIVE_TRANSFORM_MODE as NV_ENC_H264_ADAPTIVE_TRANSFORM_MODE,
11449 _NV_ENC_H264_BDIRECT_MODE as NV_ENC_H264_BDIRECT_MODE,
11450 _NV_ENC_H264_ENTROPY_CODING_MODE as NV_ENC_H264_ENTROPY_CODING_MODE,
11451 _NV_ENC_H264_FMO_MODE as NV_ENC_H264_FMO_MODE,
11452 _NV_ENC_HEVC_CUSIZE as NV_ENC_HEVC_CUSIZE,
11453 _NV_ENC_INPUT_RESOURCE_TYPE as NV_ENC_INPUT_RESOURCE_TYPE,
11454 _NV_ENC_LEVEL as NV_ENC_LEVEL,
11455 _NV_ENC_MEMORY_HEAP as NV_ENC_MEMORY_HEAP,
11456 _NV_ENC_MULTI_PASS as NV_ENC_MULTI_PASS,
11457 _NV_ENC_MV_PRECISION as NV_ENC_MV_PRECISION,
11458 _NV_ENC_NUM_REF_FRAMES as NV_ENC_NUM_REF_FRAMES,
11459 _NV_ENC_OUTPUT_STATS_LEVEL as NV_ENC_OUTPUT_STATS_LEVEL,
11460 _NV_ENC_PARAMS_FRAME_FIELD_MODE as NV_ENC_PARAMS_FRAME_FIELD_MODE,
11461 _NV_ENC_PARAMS_RC_MODE as NV_ENC_PARAMS_RC_MODE,
11462 _NV_ENC_PIC_FLAGS as NV_ENC_PIC_FLAGS,
11463 _NV_ENC_PIC_STRUCT as NV_ENC_PIC_STRUCT,
11464 _NV_ENC_PIC_TYPE as NV_ENC_PIC_TYPE,
11465 _NV_ENC_QP_MAP_MODE as NV_ENC_QP_MAP_MODE,
11466 _NV_ENC_SPLIT_ENCODE_MODE as NV_ENC_SPLIT_ENCODE_MODE,
11467 _NV_ENC_STATE_RESTORE_TYPE as NV_ENC_STATE_RESTORE_TYPE,
11468 _NV_ENC_STEREO_PACKING_MODE as NV_ENC_STEREO_PACKING_MODE,
11469 _NV_ENC_VUI_COLOR_PRIMARIES as NV_ENC_VUI_COLOR_PRIMARIES,
11470 _NV_ENC_VUI_MATRIX_COEFFS as NV_ENC_VUI_MATRIX_COEFFS,
11471 _NV_ENC_VUI_TRANSFER_CHARACTERISTIC as NV_ENC_VUI_TRANSFER_CHARACTERISTIC,
11472 _NV_ENC_VUI_VIDEO_FORMAT as NV_ENC_VUI_VIDEO_FORMAT,
11473};
11474extern "C" {
11475 #[must_use]
11476 pub fn NvEncOpenEncodeSession(
11477 device: *mut ::core::ffi::c_void,
11478 deviceType: u32,
11479 encoder: *mut *mut ::core::ffi::c_void,
11480 ) -> NVENCSTATUS;
11481 #[must_use]
11482 pub fn NvEncGetEncodeGUIDCount(
11483 encoder: *mut ::core::ffi::c_void,
11484 encodeGUIDCount: *mut u32,
11485 ) -> NVENCSTATUS;
11486 #[must_use]
11487 pub fn NvEncGetEncodeGUIDs(
11488 encoder: *mut ::core::ffi::c_void,
11489 GUIDs: *mut GUID,
11490 guidArraySize: u32,
11491 GUIDCount: *mut u32,
11492 ) -> NVENCSTATUS;
11493 #[must_use]
11494 pub fn NvEncGetEncodeProfileGUIDCount(
11495 encoder: *mut ::core::ffi::c_void,
11496 encodeGUID: GUID,
11497 encodeProfileGUIDCount: *mut u32,
11498 ) -> NVENCSTATUS;
11499 #[must_use]
11500 pub fn NvEncGetEncodeProfileGUIDs(
11501 encoder: *mut ::core::ffi::c_void,
11502 encodeGUID: GUID,
11503 profileGUIDs: *mut GUID,
11504 guidArraySize: u32,
11505 GUIDCount: *mut u32,
11506 ) -> NVENCSTATUS;
11507 #[must_use]
11508 pub fn NvEncGetInputFormatCount(
11509 encoder: *mut ::core::ffi::c_void,
11510 encodeGUID: GUID,
11511 inputFmtCount: *mut u32,
11512 ) -> NVENCSTATUS;
11513 #[must_use]
11514 pub fn NvEncGetInputFormats(
11515 encoder: *mut ::core::ffi::c_void,
11516 encodeGUID: GUID,
11517 inputFmts: *mut NV_ENC_BUFFER_FORMAT,
11518 inputFmtArraySize: u32,
11519 inputFmtCount: *mut u32,
11520 ) -> NVENCSTATUS;
11521 #[must_use]
11522 pub fn NvEncGetEncodeCaps(
11523 encoder: *mut ::core::ffi::c_void,
11524 encodeGUID: GUID,
11525 capsParam: *mut NV_ENC_CAPS_PARAM,
11526 capsVal: *mut ::core::ffi::c_int,
11527 ) -> NVENCSTATUS;
11528 #[must_use]
11529 pub fn NvEncGetEncodePresetCount(
11530 encoder: *mut ::core::ffi::c_void,
11531 encodeGUID: GUID,
11532 encodePresetGUIDCount: *mut u32,
11533 ) -> NVENCSTATUS;
11534 #[must_use]
11535 pub fn NvEncGetEncodePresetGUIDs(
11536 encoder: *mut ::core::ffi::c_void,
11537 encodeGUID: GUID,
11538 presetGUIDs: *mut GUID,
11539 guidArraySize: u32,
11540 encodePresetGUIDCount: *mut u32,
11541 ) -> NVENCSTATUS;
11542 #[must_use]
11543 pub fn NvEncGetEncodePresetConfig(
11544 encoder: *mut ::core::ffi::c_void,
11545 encodeGUID: GUID,
11546 presetGUID: GUID,
11547 presetConfig: *mut NV_ENC_PRESET_CONFIG,
11548 ) -> NVENCSTATUS;
11549 #[must_use]
11550 pub fn NvEncGetEncodePresetConfigEx(
11551 encoder: *mut ::core::ffi::c_void,
11552 encodeGUID: GUID,
11553 presetGUID: GUID,
11554 tuningInfo: NV_ENC_TUNING_INFO,
11555 presetConfig: *mut NV_ENC_PRESET_CONFIG,
11556 ) -> NVENCSTATUS;
11557 #[must_use]
11558 pub fn NvEncInitializeEncoder(
11559 encoder: *mut ::core::ffi::c_void,
11560 createEncodeParams: *mut NV_ENC_INITIALIZE_PARAMS,
11561 ) -> NVENCSTATUS;
11562 #[must_use]
11563 pub fn NvEncCreateInputBuffer(
11564 encoder: *mut ::core::ffi::c_void,
11565 createInputBufferParams: *mut NV_ENC_CREATE_INPUT_BUFFER,
11566 ) -> NVENCSTATUS;
11567 #[must_use]
11568 pub fn NvEncDestroyInputBuffer(
11569 encoder: *mut ::core::ffi::c_void,
11570 inputBuffer: NV_ENC_INPUT_PTR,
11571 ) -> NVENCSTATUS;
11572 #[must_use]
11573 pub fn NvEncSetIOCudaStreams(
11574 encoder: *mut ::core::ffi::c_void,
11575 inputStream: NV_ENC_CUSTREAM_PTR,
11576 outputStream: NV_ENC_CUSTREAM_PTR,
11577 ) -> NVENCSTATUS;
11578 #[must_use]
11579 pub fn NvEncCreateBitstreamBuffer(
11580 encoder: *mut ::core::ffi::c_void,
11581 createBitstreamBufferParams: *mut NV_ENC_CREATE_BITSTREAM_BUFFER,
11582 ) -> NVENCSTATUS;
11583 #[must_use]
11584 pub fn NvEncDestroyBitstreamBuffer(
11585 encoder: *mut ::core::ffi::c_void,
11586 bitstreamBuffer: NV_ENC_OUTPUT_PTR,
11587 ) -> NVENCSTATUS;
11588 #[must_use]
11589 pub fn NvEncEncodePicture(
11590 encoder: *mut ::core::ffi::c_void,
11591 encodePicParams: *mut NV_ENC_PIC_PARAMS,
11592 ) -> NVENCSTATUS;
11593 #[must_use]
11594 pub fn NvEncLockBitstream(
11595 encoder: *mut ::core::ffi::c_void,
11596 lockBitstreamBufferParams: *mut NV_ENC_LOCK_BITSTREAM,
11597 ) -> NVENCSTATUS;
11598 #[must_use]
11599 pub fn NvEncUnlockBitstream(
11600 encoder: *mut ::core::ffi::c_void,
11601 bitstreamBuffer: NV_ENC_OUTPUT_PTR,
11602 ) -> NVENCSTATUS;
11603 #[must_use]
11604 pub fn NvEncRestoreEncoderState(
11605 encoder: *mut ::core::ffi::c_void,
11606 restoreState: *mut NV_ENC_RESTORE_ENCODER_STATE_PARAMS,
11607 ) -> NVENCSTATUS;
11608 #[must_use]
11609 pub fn NvEncLockInputBuffer(
11610 encoder: *mut ::core::ffi::c_void,
11611 lockInputBufferParams: *mut NV_ENC_LOCK_INPUT_BUFFER,
11612 ) -> NVENCSTATUS;
11613 #[must_use]
11614 pub fn NvEncUnlockInputBuffer(
11615 encoder: *mut ::core::ffi::c_void,
11616 inputBuffer: NV_ENC_INPUT_PTR,
11617 ) -> NVENCSTATUS;
11618 #[must_use]
11619 pub fn NvEncGetEncodeStats(
11620 encoder: *mut ::core::ffi::c_void,
11621 encodeStats: *mut NV_ENC_STAT,
11622 ) -> NVENCSTATUS;
11623 #[must_use]
11624 pub fn NvEncGetSequenceParams(
11625 encoder: *mut ::core::ffi::c_void,
11626 sequenceParamPayload: *mut NV_ENC_SEQUENCE_PARAM_PAYLOAD,
11627 ) -> NVENCSTATUS;
11628 #[must_use]
11629 pub fn NvEncGetSequenceParamEx(
11630 encoder: *mut ::core::ffi::c_void,
11631 encInitParams: *mut NV_ENC_INITIALIZE_PARAMS,
11632 sequenceParamPayload: *mut NV_ENC_SEQUENCE_PARAM_PAYLOAD,
11633 ) -> NVENCSTATUS;
11634 #[must_use]
11635 pub fn NvEncRegisterAsyncEvent(
11636 encoder: *mut ::core::ffi::c_void,
11637 eventParams: *mut NV_ENC_EVENT_PARAMS,
11638 ) -> NVENCSTATUS;
11639 #[must_use]
11640 pub fn NvEncUnregisterAsyncEvent(
11641 encoder: *mut ::core::ffi::c_void,
11642 eventParams: *mut NV_ENC_EVENT_PARAMS,
11643 ) -> NVENCSTATUS;
11644 #[must_use]
11645 pub fn NvEncMapInputResource(
11646 encoder: *mut ::core::ffi::c_void,
11647 mapInputResParams: *mut NV_ENC_MAP_INPUT_RESOURCE,
11648 ) -> NVENCSTATUS;
11649 #[must_use]
11650 pub fn NvEncUnmapInputResource(
11651 encoder: *mut ::core::ffi::c_void,
11652 mappedInputBuffer: NV_ENC_INPUT_PTR,
11653 ) -> NVENCSTATUS;
11654 #[must_use]
11655 pub fn NvEncDestroyEncoder(encoder: *mut ::core::ffi::c_void) -> NVENCSTATUS;
11656 #[must_use]
11657 pub fn NvEncInvalidateRefFrames(
11658 encoder: *mut ::core::ffi::c_void,
11659 invalidRefFrameTimeStamp: u64,
11660 ) -> NVENCSTATUS;
11661 #[must_use]
11662 pub fn NvEncOpenEncodeSessionEx(
11663 openSessionExParams: *mut NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS,
11664 encoder: *mut *mut ::core::ffi::c_void,
11665 ) -> NVENCSTATUS;
11666 #[must_use]
11667 pub fn NvEncRegisterResource(
11668 encoder: *mut ::core::ffi::c_void,
11669 registerResParams: *mut NV_ENC_REGISTER_RESOURCE,
11670 ) -> NVENCSTATUS;
11671 #[must_use]
11672 pub fn NvEncUnregisterResource(
11673 encoder: *mut ::core::ffi::c_void,
11674 registeredResource: NV_ENC_REGISTERED_PTR,
11675 ) -> NVENCSTATUS;
11676 #[must_use]
11677 pub fn NvEncReconfigureEncoder(
11678 encoder: *mut ::core::ffi::c_void,
11679 reInitEncodeParams: *mut NV_ENC_RECONFIGURE_PARAMS,
11680 ) -> NVENCSTATUS;
11681 #[must_use]
11682 pub fn NvEncCreateMVBuffer(
11683 encoder: *mut ::core::ffi::c_void,
11684 createMVBufferParams: *mut NV_ENC_CREATE_MV_BUFFER,
11685 ) -> NVENCSTATUS;
11686 #[must_use]
11687 pub fn NvEncDestroyMVBuffer(
11688 encoder: *mut ::core::ffi::c_void,
11689 mvBuffer: NV_ENC_OUTPUT_PTR,
11690 ) -> NVENCSTATUS;
11691 #[must_use]
11692 pub fn NvEncRunMotionEstimationOnly(
11693 encoder: *mut ::core::ffi::c_void,
11694 meOnlyParams: *mut NV_ENC_MEONLY_PARAMS,
11695 ) -> NVENCSTATUS;
11696 #[must_use]
11697 pub fn NvEncodeAPIGetMaxSupportedVersion(version: *mut u32) -> NVENCSTATUS;
11698 pub fn NvEncGetLastErrorString(encoder: *mut ::core::ffi::c_void)
11699 -> *const ::core::ffi::c_char;
11700 #[must_use]
11701 pub fn NvEncLookaheadPicture(
11702 encoder: *mut ::core::ffi::c_void,
11703 lookaheadParamas: *mut NV_ENC_LOOKAHEAD_PIC_PARAMS,
11704 ) -> NVENCSTATUS;
11705 #[must_use]
11706 pub fn NvEncodeAPICreateInstance(functionList: *mut NV_ENCODE_API_FUNCTION_LIST)
11707 -> NVENCSTATUS;
11708}