nvtiff-sys 0.5.0

Rust bindings to nvTIFF via bindgen
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
/* automatically generated by rust-bindgen 0.71.1 */

pub mod libraryPropertyType_t {
    pub type Type = u32;
    pub const MAJOR_VERSION: Type = 0;
    pub const MINOR_VERSION: Type = 1;
    pub const PATCH_LEVEL: Type = 2;
}
pub use self::libraryPropertyType_t::Type as libraryPropertyType;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct CUstream_st {
    _unused: [u8; 0],
}
pub type cudaStream_t = *mut CUstream_st;
pub mod nvtiffStatus {
    pub type Type = u32;
    pub const NVTIFF_STATUS_SUCCESS: Type = 0;
    pub const NVTIFF_STATUS_NOT_INITIALIZED: Type = 1;
    pub const NVTIFF_STATUS_INVALID_PARAMETER: Type = 2;
    pub const NVTIFF_STATUS_BAD_TIFF: Type = 3;
    pub const NVTIFF_STATUS_TIFF_NOT_SUPPORTED: Type = 4;
    pub const NVTIFF_STATUS_ALLOCATOR_FAILURE: Type = 5;
    pub const NVTIFF_STATUS_EXECUTION_FAILED: Type = 6;
    pub const NVTIFF_STATUS_ARCH_MISMATCH: Type = 7;
    pub const NVTIFF_STATUS_INTERNAL_ERROR: Type = 8;
    pub const NVTIFF_STATUS_NVCOMP_NOT_FOUND: Type = 9;
    pub const NVTIFF_STATUS_NVJPEG_NOT_FOUND: Type = 10;
    pub const NVTIFF_STATUS_TAG_NOT_FOUND: Type = 11;
    pub const NVTIFF_STATUS_PARAMETER_OUT_OF_BOUNDS: Type = 12;
    pub const NVTIFF_STATUS_NVJPEG2K_NOT_FOUND: Type = 13;
    pub const NVTIFF_STATUS_BATCH_INCOMPATIBLE: Type = 14;
}
pub use self::nvtiffStatus::Type as nvtiffStatus_t;
pub mod nvtiffGeoKeys {
    pub type Type = u32;
    pub const NVTIFF_GEOKEY_GT_MODEL_TYPE: Type = 1024;
    pub const NVTIFF_GEOKEY_GT_RASTER_TYPE: Type = 1025;
    pub const NVTIFF_GEOKEY_GT_CITATION: Type = 1026;
    pub const NVTIFF_GEOKEY_GEODETIC_CRS: Type = 2048;
    pub const NVTIFF_GEOKEY_GEODETIC_CITATION: Type = 2049;
    pub const NVTIFF_GEOKEY_GEODETIC_DATUM: Type = 2050;
    pub const NVTIFF_GEOKEY_PRIME_MERIDIAN: Type = 2051;
    pub const NVTIFF_GEOKEY_GEOG_LINEAR_UNITS: Type = 2052;
    pub const NVTIFF_GEOKEY_GEOG_LINEAR_UNIT_SIZE: Type = 2053;
    pub const NVTIFF_GEOKEY_GEOG_ANGULAR_UNITS: Type = 2054;
    pub const NVTIFF_GEOKEY_GEOG_ANGULAR_UNIT_SIZE: Type = 2055;
    pub const NVTIFF_GEOKEY_ELLIPSOID: Type = 2056;
    pub const NVTIFF_GEOKEY_ELLIPSOID_SEMI_MAJOR_AXIS: Type = 2057;
    pub const NVTIFF_GEOKEY_ELLIPSOID_SEMI_MINOR_AXIS: Type = 2058;
    pub const NVTIFF_GEOKEY_ELLIPSOID_INV_FLATTENING: Type = 2059;
    pub const NVTIFF_GEOKEY_GEOG_AZIMUTH_UNITS: Type = 2060;
    pub const NVTIFF_GEOKEY_PRIME_MERIDIAN_LONG: Type = 2061;
    pub const NVTIFF_GEOKEY_PROJECTED_CRS: Type = 3072;
    pub const NVTIFF_GEOKEY_PROJECTED_CITATION: Type = 3073;
    pub const NVTIFF_GEOKEY_PROJECTION: Type = 3074;
    pub const NVTIFF_GEOKEY_PROJ_METHOD: Type = 3075;
    pub const NVTIFF_GEOKEY_PROJ_LINEAR_UNITS: Type = 3076;
    pub const NVTIFF_GEOKEY_PROJ_LINEAR_UNIT_SIZE: Type = 3077;
    pub const NVTIFF_GEOKEY_PROJ_STD_PARALLEL1: Type = 3078;
    pub const NVTIFF_GEOKEY_PROJ_STD_PARALLEL: Type = 3078;
    pub const NVTIFF_GEOKEY_PROJ_STD_PARALLEL2: Type = 3079;
    pub const NVTIFF_GEOKEY_PROJ_NAT_ORIGIN_LONG: Type = 3080;
    pub const NVTIFF_GEOKEY_PROJ_ORIGIN_LONG: Type = 3080;
    pub const NVTIFF_GEOKEY_PROJ_NAT_ORIGIN_LAT: Type = 3081;
    pub const NVTIFF_GEOKEY_PROJ_ORIGIN_LAT: Type = 3081;
    pub const NVTIFF_GEOKEY_PROJ_FALSE_EASTING: Type = 3082;
    pub const NVTIFF_GEOKEY_PROJ_FALSE_NORTHING: Type = 3083;
    pub const NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_LONG: Type = 3084;
    pub const NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_LAT: Type = 3085;
    pub const NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_EASTING: Type = 3086;
    pub const NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_NORTHING: Type = 3087;
    pub const NVTIFF_GEOKEY_PROJ_CENTER_LONG: Type = 3088;
    pub const NVTIFF_GEOKEY_PROJ_CENTER_LAT: Type = 3089;
    pub const NVTIFF_GEOKEY_PROJ_CENTER_EASTING: Type = 3090;
    pub const NVTIFF_GEOKEY_PROJ_CENTER_NORTHING: Type = 3091;
    pub const NVTIFF_GEOKEY_PROJ_SCALE_AT_NAT_ORIGIN: Type = 3092;
    pub const NVTIFF_GEOKEY_PROJ_SCALE_AT_ORIGIN: Type = 3092;
    pub const NVTIFF_GEOKEY_PROJ_SCALE_AT_CENTER: Type = 3093;
    pub const NVTIFF_GEOKEY_PROJ_AZIMUTH_ANGLE: Type = 3094;
    pub const NVTIFF_GEOKEY_PROJ_STRAIGHT_VERT_POLE_LONG: Type = 3095;
    pub const NVTIFF_GEOKEY_VERTICAL: Type = 4096;
    pub const NVTIFF_GEOKEY_VERTICAL_CITATION: Type = 4097;
    pub const NVTIFF_GEOKEY_VERTICAL_DATUM: Type = 4098;
    pub const NVTIFF_GEOKEY_VERTICAL_UNITS: Type = 4099;
    pub const NVTIFF_GEOKEY_BASE: Type = 32768;
    pub const NVTIFF_GEOKEY_END: Type = 65535;
}
pub use self::nvtiffGeoKeys::Type as nvtiffGeoKey_t;
pub mod nvtiffGeoKeyDataType {
    pub type Type = u32;
    pub const NVTIFF_GEOKEY_TYPE_SHORT: Type = 1;
    pub const NVTIFF_GEOKEY_TYPE_ASCII: Type = 2;
    pub const NVTIFF_GEOKEY_TYPE_DOUBLE: Type = 3;
    pub const NVTIFF_GEOKEY_TYPE_UNKNOWN: Type = 4;
}
pub use self::nvtiffGeoKeyDataType::Type as nvtiffGeoKeyDataType_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nvtiffDecoder {
    _unused: [u8; 0],
}
pub type nvtiffDecoder_t = *mut nvtiffDecoder;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nvtiffStream {
    _unused: [u8; 0],
}
pub type nvtiffStream_t = *mut nvtiffStream;
pub mod nvtiffSampleFormat {
    pub type Type = u32;
    pub const NVTIFF_SAMPLEFORMAT_UNKNOWN: Type = 0;
    pub const NVTIFF_SAMPLEFORMAT_UINT: Type = 1;
    pub const NVTIFF_SAMPLEFORMAT_INT: Type = 2;
    pub const NVTIFF_SAMPLEFORMAT_IEEEFP: Type = 3;
    pub const NVTIFF_SAMPLEFORMAT_VOID: Type = 4;
    pub const NVTIFF_SAMPLEFORMAT_COMPLEXINT: Type = 5;
    pub const NVTIFF_SAMPLEFORMAT_COMPLEXIEEEFP: Type = 6;
}
pub use self::nvtiffSampleFormat::Type as nvtiffSampleFormat_t;
pub mod nvtiffPhotometricInt {
    pub type Type = i32;
    pub const NVTIFF_PHOTOMETRIC_UNKNOWN: Type = -1;
    pub const NVTIFF_PHOTOMETRIC_MINISWHITE: Type = 0;
    pub const NVTIFF_PHOTOMETRIC_MINISBLACK: Type = 1;
    pub const NVTIFF_PHOTOMETRIC_RGB: Type = 2;
    pub const NVTIFF_PHOTOMETRIC_PALETTE: Type = 3;
    pub const NVTIFF_PHOTOMETRIC_MASK: Type = 4;
    pub const NVTIFF_PHOTOMETRIC_SEPARATED: Type = 5;
    pub const NVTIFF_PHOTOMETRIC_YCBCR: Type = 6;
}
pub use self::nvtiffPhotometricInt::Type as nvtiffPhotometricInt_t;
pub mod nvtiffPlanarConfig {
    pub type Type = u32;
    pub const NVTIFF_PLANARCONFIG_UNKNOWN: Type = 0;
    pub const NVTIFF_PLANARCONFIG_CONTIG: Type = 1;
    pub const NVTIFF_PLANARCONFIG_SEPARATE: Type = 2;
}
pub use self::nvtiffPlanarConfig::Type as nvtiffPlanarConfig_t;
pub mod nvtiffCompression {
    pub type Type = u32;
    pub const NVTIFF_COMPRESSION_UNKNOWN: Type = 0;
    pub const NVTIFF_COMPRESSION_NONE: Type = 1;
    pub const NVTIFF_COMPRESSION_LZW: Type = 5;
    pub const NVTIFF_COMPRESSION_JPEG: Type = 7;
    pub const NVTIFF_COMPRESSION_ADOBE_DEFLATE: Type = 8;
    pub const NVTIFF_COMPRESSION_PACKBITS: Type = 32773;
    pub const NVTIFF_COMPRESSION_DEFLATE: Type = 32946;
    pub const NVTIFF_COMPRESSION_APERIO_JP2000_YCC: Type = 33003;
    pub const NVTIFF_COMPRESSION_APERIO_JP2000_RGB: Type = 33005;
    pub const NVTIFF_COMPRESSION_JP2000: Type = 34712;
    pub const NVTIFF_COMPRESSION_ZSTD: Type = 50000;
}
pub use self::nvtiffCompression::Type as nvtiffCompression_t;
pub mod nvtiffImageType {
    pub type Type = u32;
    pub const NVTIFF_IMAGETYPE_REDUCED_IMAGE: Type = 1;
    pub const NVTIFF_IMAGETYPE_PAGE: Type = 2;
    pub const NVTIFF_IMAGETYPE_MASK: Type = 4;
    pub const NVTIFF_IMAGETYPE_ENUM_FORCE_UINT32: Type = 4294967295;
}
pub type nvtiffImageType_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone, PartialEq)]
pub struct nvtiffImageInfo {
    pub image_type: nvtiffImageType_t,
    pub image_width: u32,
    pub image_height: u32,
    pub compression: nvtiffCompression_t,
    pub photometric_int: nvtiffPhotometricInt_t,
    pub planar_config: nvtiffPlanarConfig_t,
    pub samples_per_pixel: u16,
    pub bits_per_pixel: u16,
    pub bits_per_sample: [u16; 16usize],
    pub sample_format: [nvtiffSampleFormat_t; 16usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of nvtiffImageInfo"][::std::mem::size_of::<nvtiffImageInfo>() - 124usize];
    ["Alignment of nvtiffImageInfo"][::std::mem::align_of::<nvtiffImageInfo>() - 4usize];
    ["Offset of field: nvtiffImageInfo::image_type"]
        [::std::mem::offset_of!(nvtiffImageInfo, image_type) - 0usize];
    ["Offset of field: nvtiffImageInfo::image_width"]
        [::std::mem::offset_of!(nvtiffImageInfo, image_width) - 4usize];
    ["Offset of field: nvtiffImageInfo::image_height"]
        [::std::mem::offset_of!(nvtiffImageInfo, image_height) - 8usize];
    ["Offset of field: nvtiffImageInfo::compression"]
        [::std::mem::offset_of!(nvtiffImageInfo, compression) - 12usize];
    ["Offset of field: nvtiffImageInfo::photometric_int"]
        [::std::mem::offset_of!(nvtiffImageInfo, photometric_int) - 16usize];
    ["Offset of field: nvtiffImageInfo::planar_config"]
        [::std::mem::offset_of!(nvtiffImageInfo, planar_config) - 20usize];
    ["Offset of field: nvtiffImageInfo::samples_per_pixel"]
        [::std::mem::offset_of!(nvtiffImageInfo, samples_per_pixel) - 24usize];
    ["Offset of field: nvtiffImageInfo::bits_per_pixel"]
        [::std::mem::offset_of!(nvtiffImageInfo, bits_per_pixel) - 26usize];
    ["Offset of field: nvtiffImageInfo::bits_per_sample"]
        [::std::mem::offset_of!(nvtiffImageInfo, bits_per_sample) - 28usize];
    ["Offset of field: nvtiffImageInfo::sample_format"]
        [::std::mem::offset_of!(nvtiffImageInfo, sample_format) - 60usize];
};
impl Default for nvtiffImageInfo {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
pub type nvtiffImageInfo_t = nvtiffImageInfo;
pub mod nvtiffImageGeometryType {
    pub type Type = u32;
    pub const NVTIFF_IMAGE_STRIPED: Type = 0;
    pub const NVTIFF_IMAGE_TILED: Type = 1;
}
pub use self::nvtiffImageGeometryType::Type as nvtiffImageGeometryType_t;
#[repr(C)]
#[derive(Debug, Copy, Clone, PartialEq)]
pub struct nvtiffImageGeometry {
    pub type_: nvtiffImageGeometryType_t,
    pub image_depth: u32,
    pub strile_width: u32,
    pub strile_height: u32,
    pub strile_depth: u32,
    pub num_striles_per_plane: u32,
    pub num_striles: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of nvtiffImageGeometry"][::std::mem::size_of::<nvtiffImageGeometry>() - 28usize];
    ["Alignment of nvtiffImageGeometry"][::std::mem::align_of::<nvtiffImageGeometry>() - 4usize];
    ["Offset of field: nvtiffImageGeometry::type_"]
        [::std::mem::offset_of!(nvtiffImageGeometry, type_) - 0usize];
    ["Offset of field: nvtiffImageGeometry::image_depth"]
        [::std::mem::offset_of!(nvtiffImageGeometry, image_depth) - 4usize];
    ["Offset of field: nvtiffImageGeometry::strile_width"]
        [::std::mem::offset_of!(nvtiffImageGeometry, strile_width) - 8usize];
    ["Offset of field: nvtiffImageGeometry::strile_height"]
        [::std::mem::offset_of!(nvtiffImageGeometry, strile_height) - 12usize];
    ["Offset of field: nvtiffImageGeometry::strile_depth"]
        [::std::mem::offset_of!(nvtiffImageGeometry, strile_depth) - 16usize];
    ["Offset of field: nvtiffImageGeometry::num_striles_per_plane"]
        [::std::mem::offset_of!(nvtiffImageGeometry, num_striles_per_plane) - 20usize];
    ["Offset of field: nvtiffImageGeometry::num_striles"]
        [::std::mem::offset_of!(nvtiffImageGeometry, num_striles) - 24usize];
};
impl Default for nvtiffImageGeometry {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
pub type nvtiffImageGeometry_t = nvtiffImageGeometry;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nvtiffDecodeParams {
    _unused: [u8; 0],
}
pub type nvtiffDecodeParams_t = *mut nvtiffDecodeParams;
#[repr(C)]
#[derive(Debug, Copy, Clone, PartialEq)]
pub struct nvtiffImage {
    pub plane_data: *mut *mut ::std::os::raw::c_void,
    pub plane_pitch_bytes: *mut usize,
    pub num_planes: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of nvtiffImage"][::std::mem::size_of::<nvtiffImage>() - 24usize];
    ["Alignment of nvtiffImage"][::std::mem::align_of::<nvtiffImage>() - 8usize];
    ["Offset of field: nvtiffImage::plane_data"]
        [::std::mem::offset_of!(nvtiffImage, plane_data) - 0usize];
    ["Offset of field: nvtiffImage::plane_pitch_bytes"]
        [::std::mem::offset_of!(nvtiffImage, plane_pitch_bytes) - 8usize];
    ["Offset of field: nvtiffImage::num_planes"]
        [::std::mem::offset_of!(nvtiffImage, num_planes) - 16usize];
};
impl Default for nvtiffImage {
    fn default() -> Self {
        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
        unsafe {
            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
            s.assume_init()
        }
    }
}
pub type nvtiffImage_t = nvtiffImage;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone, PartialEq)]
pub struct nvtiffDecodeRegion {
    pub ifd_offset: usize,
    pub offset_x: i32,
    pub offset_y: i32,
    pub width: u32,
    pub height: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of nvtiffDecodeRegion"][::std::mem::size_of::<nvtiffDecodeRegion>() - 24usize];
    ["Alignment of nvtiffDecodeRegion"][::std::mem::align_of::<nvtiffDecodeRegion>() - 8usize];
    ["Offset of field: nvtiffDecodeRegion::ifd_offset"]
        [::std::mem::offset_of!(nvtiffDecodeRegion, ifd_offset) - 0usize];
    ["Offset of field: nvtiffDecodeRegion::offset_x"]
        [::std::mem::offset_of!(nvtiffDecodeRegion, offset_x) - 8usize];
    ["Offset of field: nvtiffDecodeRegion::offset_y"]
        [::std::mem::offset_of!(nvtiffDecodeRegion, offset_y) - 12usize];
    ["Offset of field: nvtiffDecodeRegion::width"]
        [::std::mem::offset_of!(nvtiffDecodeRegion, width) - 16usize];
    ["Offset of field: nvtiffDecodeRegion::height"]
        [::std::mem::offset_of!(nvtiffDecodeRegion, height) - 20usize];
};
pub type nvtiffDecodeRegion_t = nvtiffDecodeRegion;
unsafe extern "C" {
    pub fn nvtiffGetProperty(
        type_: libraryPropertyType,
        value: *mut ::std::os::raw::c_int,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffDecodeParamsCreate(decode_params: *mut nvtiffDecodeParams_t) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffDecoderCreateSimple(
        decoder: *mut nvtiffDecoder_t,
        stream: cudaStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamOpenFromFile(
        fname: *const ::std::os::raw::c_char,
        tiff_stream: *mut nvtiffStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamOpen(
        buffer: *const u8,
        buffer_size: usize,
        tiff_stream: *mut nvtiffStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetNextIFDOffset(
        tiff_stream: nvtiffStream_t,
        ifd_offset: usize,
        next_ifd_offset: *mut usize,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamPrint(tiff_stream: nvtiffStream_t) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetImageInfo(
        tiff_stream: nvtiffStream_t,
        ifd_offset: usize,
        image_info: *mut nvtiffImageInfo_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetImageGeometry(
        tiff_stream: nvtiffStream_t,
        ifd_offset: usize,
        geometry: *mut nvtiffImageGeometry_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetGeoKeyInfo(
        tiff_stream: nvtiffStream_t,
        key: nvtiffGeoKey_t,
        size: *mut u32,
        count: *mut u32,
        type_: *mut nvtiffGeoKeyDataType_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetTagValue(
        tiff_stream: nvtiffStream_t,
        ifd_offset: usize,
        tiff_tag: u16,
        tag_value: *mut ::std::os::raw::c_void,
        count: u32,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetGeoKey(
        tiff_stream: nvtiffStream_t,
        key: nvtiffGeoKey_t,
        val: *mut ::std::os::raw::c_void,
        count: u32,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffDecode(
        tiff_stream: nvtiffStream_t,
        decoder: nvtiffDecoder_t,
        params: nvtiffDecodeParams_t,
        image_out: *mut nvtiffImage_t,
        stream: cudaStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffDecodeCheckSupported(
        tiff_stream: nvtiffStream_t,
        decoder: nvtiffDecoder_t,
        params: nvtiffDecodeParams_t,
        image_out: *const nvtiffImage_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffDecodeParamsSetRegions(
        decode_params: nvtiffDecodeParams_t,
        regions: *const nvtiffDecodeRegion_t,
        count: u32,
    ) -> nvtiffStatus_t;
}