nvtiff-sys 0.3.0

Rust bindings to nvTIFF via bindgen
Documentation
/* automatically generated by rust-bindgen 0.71.1 */

#[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 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;
pub mod nvtiffTag {
    pub type Type = i32;
    pub const NVTIFF_TAG_UNKNOWN: Type = -1;
    pub const NVTIFF_TAG_MODEL_PIXEL_SCALE: Type = 33550;
    pub const NVTIFF_TAG_MODEL_TIE_POINT: Type = 33922;
    pub const NVTIFF_TAG_MODEL_TRANSFORMATION: Type = 34264;
}
pub use self::nvtiffTag::Type as nvtiffTag_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_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 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;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nvtiffDecodeParams {
    _unused: [u8; 0],
}
pub type nvtiffDecodeParams_t = *mut nvtiffDecodeParams;
unsafe extern "C" {
    pub fn nvtiffDecodeParamsCreate(decode_params: *mut nvtiffDecodeParams_t) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamCreate(tiff_stream: *mut nvtiffStream_t) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffDecoderCreateSimple(
        decoder: *mut nvtiffDecoder_t,
        stream: cudaStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamParseFromFile(
        fname: *const ::std::os::raw::c_char,
        tiff_stream: nvtiffStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamParse(
        buffer: *const u8,
        buffer_size: usize,
        tiff_stream: nvtiffStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetNumImages(
        tiff_stream: nvtiffStream_t,
        num_images: *mut u32,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffStreamGetImageInfo(
        tiff_stream: nvtiffStream_t,
        image_id: u32,
        image_info: *mut nvtiffImageInfo_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,
        image_id: u32,
        tiff_tag: nvtiffTag_t,
        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 nvtiffDecodeImage(
        tiff_stream: nvtiffStream_t,
        decoder: nvtiffDecoder_t,
        params: nvtiffDecodeParams_t,
        image_id: u32,
        image_out_d: *mut ::std::os::raw::c_void,
        stream: cudaStream_t,
    ) -> nvtiffStatus_t;
}
unsafe extern "C" {
    pub fn nvtiffDecodeCheckSupported(
        tiff_stream: nvtiffStream_t,
        decoder: nvtiffDecoder_t,
        params: nvtiffDecodeParams_t,
        image_id: u32,
    ) -> nvtiffStatus_t;
}