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