API Reference#

Helper API#

nvtiffStatus_t nvtiffGetProperty(
libraryPropertyType type,
int *value
)#

Gets the library’s property values.

This function retrieves version information about the nvTIFF library. The libraryPropertyType enum is defined in CUDA’s library_types.h header.

Parameters:
  • type – [in] The property to retrieve. Valid values are:

    • MAJOR_VERSION - Returns the major version number.

    • MINOR_VERSION - Returns the minor version number.

    • PATCH_LEVEL - Returns the patch level.

  • value – [out] Pointer to receive the numeric value of the requested property.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamCreate(nvtiffStream_t *tiff_stream)#

Creates an instance of the bitstream handle.

Parameters:

tiff_stream – [out] Pointer to nvTIFF bitstream handle.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamDestroy(nvtiffStream_t tiff_stream)#

Releases the bitstream handle.

Parameters:

tiff_stream – [in] nvTIFF bitstream handle to destroy.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecoderCreate(
nvtiffDecoder_t *decoder,
nvtiffDeviceAllocator_t *device_allocator,
nvtiffPinnedAllocator_t *pinned_allocator,
cudaStream_t stream
)#

Creates an instance of the decoder handle with custom memory allocators.

Parameters:
  • decoder – [out] Pointer to nvTIFF decoder handle.

  • device_allocator – [in] User-provided device memory allocator. If NULL, the library uses cudaMalloc / cudaFree.

  • pinned_allocator – [in] User-provided pinned memory allocator. If NULL, the library uses cudaHostAlloc / cudaFreeHost.

  • stream – [in] CUDA stream for asynchronous API calls.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecoderCreateSimple(
nvtiffDecoder_t *decoder,
cudaStream_t stream
)#

Creates an instance of the decoder handle with default memory allocators.

Parameters:
  • decoder – [out] Pointer to nvTIFF decoder handle.

  • stream – [in] CUDA stream for asynchronous API calls.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecoderDestroy(
nvtiffDecoder_t decoder,
cudaStream_t stream
)#

Releases the decoder handle.

Parameters:
  • decoder – [in] nvTIFF decoder handle to destroy.

  • stream – [in] CUDA stream for asynchronous API calls.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecodeParamsCreate(
nvtiffDecodeParams_t *decode_params
)#

Creates an instance of the decode parameters handle.

Parameters:

decode_params – [out] Pointer to decode parameters handle.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecodeParamsDestroy(
nvtiffDecodeParams_t decode_params
)#

Releases the decode parameters handle.

Parameters:

decode_params – [in] Decode parameters handle to destroy.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncoderCreate(
nvtiffEncoder_t *encoder,
nvtiffDeviceAllocator_t *device_allocator,
nvtiffPinnedAllocator_t *pinned_allocator,
cudaStream_t stream
)#

Creates and initializes a TIFF encoder instance.

Parameters:
  • encoder – [out] Pointer to encoder handle.

  • device_allocator – [in] Custom device memory allocator (can be NULL to use cudaMalloc() / cudaFree()).

  • pinned_allocator – [in] Custom pinned memory allocator (can be NULL to use cudaHostAlloc() / cudaFreeHost()).

  • stream – [in] CUDA stream.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncoderDestroy(
nvtiffEncoder_t encoder,
cudaStream_t stream
)#

Destroys a TIFF encoder instance and frees associated resources.

Parameters:
  • encoder – [in] Encoder handle to destroy.

  • stream – [in] CUDA stream.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsCreate(nvtiffEncodeParams_t *params)#

Creates and initializes encode parameters object.

Parameters:

params – [out] Pointer to encode parameters handle.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsDestroy(
nvtiffEncodeParams_t params,
cudaStream_t stream
)#

Destroys encode parameters object and frees associated resources.

Parameters:
  • params – [in] Encode parameters handle.

  • stream – [in] CUDA stream.

Returns:

An error code as specified in API Return Status Codes.

Parser API#

nvtiffStatus_t nvtiffStreamParseFromFile(
const char *fname,
nvtiffStream_t tiff_stream
)#

Parses a TIFF file and stores the metadata in the stream handle.

Parameters:
  • fname – [in] TIFF file name on disk.

  • tiff_stream – [in/out] TIFF stream handle to be initialized.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamParse(
const uint8_t *buffer,
size_t buffer_size,
nvtiffStream_t tiff_stream
)#

Parses a TIFF file from host memory and stores the metadata.

For best decode performance, the host buffer should be page-locked (pinned) memory. This can be allocated with cudaHostAlloc.

Parameters:
  • buffer – [in] Buffer containing TIFF file data.

  • buffer_size – [in] Size of the buffer in bytes.

  • tiff_stream – [in/out] TIFF stream handle to be initialized.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamParseFromFileEx(
const char *fname,
nvtiffStream_t tiff_stream,
size_t bitstream_offset,
uint32_t limit_images,
size_t *next_bitstream_offset
)#

Extended version of nvtiffStreamParseFromFile() with pagination support.

Supports parsing from a specific bitstream offset and limiting the number of images parsed. This is useful for parsing large multi-image TIFFs incrementally.

If bitstream_offset is zero, parsing starts at the first IFD specified in the TIFF header. If limit_images is zero, all images in the IFD chain are parsed.

Parameters:
  • fname – [in] TIFF file name on disk.

  • tiff_stream – [in/out] TIFF stream handle to be initialized.

  • bitstream_offset – [in] Bitstream offset of the IFD to start parsing from (0 = beginning).

  • limit_images – [in] Maximum number of images to parse (0 = no limit).

  • next_bitstream_offset – [out] If non-null, receives the offset of the next IFD (0 if end of chain).

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamParseEx(
const uint8_t *buffer,
size_t buffer_size,
nvtiffStream_t tiff_stream,
size_t bitstream_offset,
uint32_t limit_images,
size_t *next_bitstream_offset
)#

Extended version of nvtiffStreamParse() with pagination support.

Supports parsing from a specific bitstream offset and limiting the number of images parsed. This is useful for parsing large multi-image TIFFs from memory incrementally.

Parameters:
  • buffer – [in] Buffer containing TIFF file data.

  • buffer_size – [in] Size of the buffer in bytes.

  • tiff_stream – [in/out] TIFF stream handle to be initialized.

  • bitstream_offset – [in] Bitstream offset of the IFD to start parsing from (0 = beginning).

  • limit_images – [in] Maximum number of images to parse (0 = no limit).

  • next_bitstream_offset – [out] If non-null, receives the offset of the next IFD (0 if end of chain).

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamParseFromParentStream(
nvtiffStream_t parent_stream,
nvtiffStream_t offset_stream,
size_t bitstream_offset,
uint32_t limit_images,
size_t *next_bitstream_offset
)#

Parses a new stream from a specified bitstream offset within an existing TIFF stream.

This can be used to parse SubIFDs and other custom IFD chains. The new stream shares the same base resource (file or memory buffer) as the parent stream. The resource is only released when all streams referencing it have been destroyed.

The offset_stream parameter can be the same as parent_stream, in which case the source stream will be replaced with the target stream.

Parameters:
  • parent_stream – [in] Parent TIFF stream handle.

  • offset_stream – [in/out] Stream handle to be initialized from the specified offset.

  • bitstream_offset – [in] Bitstream offset of the IFD to parse relative to the file beginning.

  • limit_images – [in] Maximum number of images to parse along the IFD chain (0 = no limit).

  • next_bitstream_offset – [out] If non-null, receives the offset of the next IFD (0 if end of chain).

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetBitstreamOffset(
nvtiffStream_t tiff_stream,
uint32_t image_id,
size_t *offset
)#

Retrieves the bitstream offset of a given IFD within the TIFF file.

Each image’s bitstream offset serves as a unique identifier, which is helpful for dealing with complex TIFF structures involving SubIFDs.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • offset – [out] Pointer to receive the file offset where the image’s IFD begins.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamPrint(nvtiffStream_t tiff_stream)#

Prints the TIFF file metadata to standard output.

Parameters:

tiff_stream – [in] TIFF stream handle.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetNumImages(
nvtiffStream_t tiff_stream,
uint32_t *num_images
)#

Retrieves the number of images stored in a TIFF file.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • num_images – [out] Pointer to receive the number of images.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetImageInfo(
nvtiffStream_t tiff_stream,
uint32_t image_id,
nvtiffImageInfo_t *image_info
)#

Retrieves the image information for a given image in a TIFF file.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • image_info – [out] Pointer to nvtiffImageInfo_t structure to receive the image information.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetImageGeometry(
nvtiffStream_t tiff_stream,
uint32_t image_id,
nvtiffImageGeometry_t *geometry
)#

Retrieves image geometry information.

Geometry includes information whether the images use strips or tiles and their corresponding dimensions.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • geometry – [out] Pointer to nvtiffImageGeometry_t structure.

Returns:

An error code as specified in API Return Status Codes.

Metadata API#

nvtiffStatus_t nvtiffStreamGetTagInfo(
nvtiffStream_t tiff_stream,
uint32_t image_id,
nvtiffTag_t tiff_tag,
nvtiffTagDataType_t *tag_type,
uint32_t *size,
uint32_t *count
)#

Retrieves TIFF tag information.

Retrieves tag type, size per element, and count for a specific tag in an image.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • tiff_tag – [in] TIFF tag to query.

  • tag_type – [out] Pointer to receive the datatype of the tag.

  • size – [out] Pointer to receive the size of individual values in the tag.

  • count – [out] Pointer to receive the number of values in the tag.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetTagValue(
nvtiffStream_t tiff_stream,
uint32_t image_id,
nvtiffTag_t tiff_tag,
void *tag_value,
uint32_t count
)#

Retrieves the values stored in a TIFF tag.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • tiff_tag – [in] TIFF tag to query.

  • tag_value – [out] Pointer to buffer to receive the tag values.

  • count – [in] Number of values to retrieve.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetTagInfoGeneric(
nvtiffStream_t tiff_stream,
uint32_t image_id,
uint16_t tiff_tag,
nvtiffTagDataType_t *tag_type,
uint32_t *size,
uint32_t *count
)#

Retrieves TIFF tag information using a generic tag ID.

Retrieves tag type, size per element, and count for any TIFF tag (not just nvtiffTag_t values). If the tag is not found, returns NVTIFF_STATUS_TAG_NOT_FOUND.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • tiff_tag – [in] TIFF tag ID (any valid TIFF tag number).

  • tag_type – [out] Pointer to receive the datatype of the tag.

  • size – [out] Pointer to receive the size per element. When tag type is NVTIFF_TAG_TYPE_ASCII, the string is NULL terminated.

  • count – [out] Pointer to receive the number of elements.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetTagValueGeneric(
nvtiffStream_t tiff_stream,
uint32_t image_id,
uint16_t tiff_tag,
void *tag_value,
uint32_t count
)#

Retrieves the values stored in a TIFF tag using a generic tag ID.

If the tag is not found, returns NVTIFF_STATUS_TAG_NOT_FOUND.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • tiff_tag – [in] TIFF tag ID (any valid TIFF tag number).

  • tag_value – [out] Output buffer to receive the tag value.

  • count – [in] Number of elements to retrieve.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetNumberOfTags(
nvtiffStream_t tiff_stream,
uint32_t image_id,
uint16_t *tags,
uint32_t *num_tags
)#

Enumerates all TIFF tags present in a specific image.

Use the two-call pattern: first call with tags=NULL to get the count, then allocate a buffer and call again to retrieve the tag IDs.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • tags – [out] Pointer to buffer for storing tag IDs (can be NULL to get count only).

  • num_tags – [out] Pointer to receive the number of tags.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamHasTag(
nvtiffStream_t tiff_stream,
uint32_t image_id,
uint16_t tag,
int *has_tag
)#

Checks whether a specific tag exists in an image.

This is useful for quickly determining tag presence without enumerating all tags.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • image_id – [in] Image index.

  • tag – [in] Tag ID to check for.

  • has_tag – [out] Set to 1 if tag exists, 0 if not.

Returns:

An error code as specified in API Return Status Codes.

GeoTIFF Metadata API#

nvtiffStatus_t nvtiffStreamGetGeoKeyInfo(
nvtiffStream_t tiff_stream,
nvtiffGeoKey_t key,
uint32_t *size,
uint32_t *count,
nvtiffGeoKeyDataType_t *type
)#

Retrieves information about a GeoTIFF key.

This information is useful for retrieving the values associated with the geo key.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • key – [in] GeoTIFF key to query.

  • size – [out] Pointer to receive the size of each value (in bytes).

  • count – [out] Pointer to receive the number of values stored in key.

  • type – [out] Pointer to receive the datatype of values stored in key.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetNumberOfGeoKeys(
nvtiffStream_t tiff_stream,
nvtiffGeoKey_t *key,
uint32_t *num_keys
)#

Retrieves the list of GeoTIFF keys present in a TIFF file and their count.

Use the two-call pattern: first call with key=NULL to get the count, then allocate a buffer and call again to retrieve the key IDs.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • key – [out] Pointer to buffer for storing geokey IDs (can be NULL to get count only).

  • num_keys – [out] Pointer to receive the number of geokeys.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetGeoKey(
nvtiffStream_t tiff_stream,
nvtiffGeoKey_t key,
void *val,
uint32_t count
)#

Retrieves the values associated with a given GeoTIFF key.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • key – [in] GeoTIFF key to retrieve.

  • val – [out] Pointer to buffer to receive the key values.

  • count – [in] Number of values to copy. For NVTIFF_GEOKEY_TYPE_ASCII this is ignored. For NVTIFF_GEOKEY_TYPE_SHORT, count=1 is implied.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetGeoKeyASCII(
nvtiffStream_t tiff_stream,
nvtiffGeoKey_t key,
char *str,
uint32_t max_len
)#

Retrieves ASCII values associated with a GeoTIFF key.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • key – [in] GeoTIFF key to retrieve.

  • str – [out] Pointer to buffer to receive the ASCII string.

  • max_len – [in] Size of the user-allocated buffer str.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetGeoKeySHORT(
nvtiffStream_t tiff_stream,
nvtiffGeoKey_t key,
unsigned short *val,
uint32_t index,
uint32_t count
)#

Retrieves SHORT values associated with a GeoTIFF key.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • key – [in] GeoTIFF key to retrieve.

  • val – [out] Pointer to buffer to receive the SHORT values.

  • index – [in] Index of the starting value to copy.

  • count – [in] Number of values to copy.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffStreamGetGeoKeyDOUBLE(
nvtiffStream_t tiff_stream,
nvtiffGeoKey_t key,
double *val,
uint32_t index,
uint32_t count
)#

Retrieves DOUBLE values associated with a GeoTIFF key.

Parameters:
  • tiff_stream – [in] TIFF stream handle.

  • key – [in] GeoTIFF key to retrieve.

  • val – [out] Pointer to buffer to receive the DOUBLE values.

  • index – [in] Index of the starting value to copy.

  • count – [in] Number of values to copy.

Returns:

An error code as specified in API Return Status Codes.

Decode API#

nvtiffStatus_t nvtiffDecodeRange(
nvtiffStream_t tiff_stream,
nvtiffDecoder_t decoder,
unsigned int sub_file_start,
unsigned int sub_file_num,
unsigned char **image_out,
cudaStream_t stream
)#

Decodes a range of images from a TIFF file.

Decodes images in the range [sub_file_start, sub_file_start + sub_file_num). When the photometric interpretation is NVTIFF_PHOTOMETRIC_PALETTE or NVTIFF_PHOTOMETRIC_YCBCR, the decode output will be converted to RGB. For images with multiple samples, the decode output will always be in planar contiguous format.

Parameters:
  • tiff_stream – [in] TIFF stream handle containing the parsed file.

  • decoder – [in] Decoder handle.

  • sub_file_start – [in] Index of the first image to decode, in the range [0, num_images).

  • sub_file_num – [in] Number of images to decode starting from sub_file_start.

  • image_out – [out] Host array of pointers to device buffers. Each buffer size should be image_height * DivUp(image_width * bits_per_pixel, 8). For palette mode images, buffer size should be image_width * image_height * 6.

  • stream – [in] CUDA stream for GPU work submission.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecode(
nvtiffStream_t tiff_stream,
nvtiffDecoder_t decoder,
unsigned char **image_out,
cudaStream_t stream
)#

Decodes all images from a TIFF file.

Decodes all image data on the GPU. Each image is copied into the respective buffer pointed to by image_out. This function is fully asynchronous. When the photometric interpretation is NVTIFF_PHOTOMETRIC_PALETTE or NVTIFF_PHOTOMETRIC_YCBCR, the decode output will be converted to RGB. For images with multiple samples, the decode output will always be in planar contiguous format.

Parameters:
  • tiff_stream – [in] TIFF stream handle containing the parsed file.

  • decoder – [in] Decoder handle.

  • image_out – [out] Host array (of size num_images) of pointers to device buffers. Each buffer size should be image_height * DivUp(image_width * bits_per_pixel, 8). For palette mode images, buffer size should be image_width * image_height * 6.

  • stream – [in] CUDA stream for GPU work submission.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecodeImage(
nvtiffStream_t tiff_stream,
nvtiffDecoder_t decoder,
nvtiffDecodeParams_t params,
uint32_t image_id,
void *image_out_d,
cudaStream_t stream
)#

Decodes a single image with additional output control.

Decodes a single image on the GPU. The function is asynchronous with respect to the host. Additional control of the decode output is possible using nvtiffDecodeParams_t.

Parameters:
  • tiff_stream – [in] TIFF stream handle containing the parsed file.

  • decoder – [in] Decoder handle.

  • params – [in] Decode parameters for controlling output (ROI, output format).

  • image_id – [in] Image index within the TIFF file.

  • image_out_d – [out] Device buffer for decoded output. See nvtiffDecodeParamsSetOutputFormat() for size requirements.

  • stream – [in] CUDA stream for GPU work submission.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecodeImageEx(
nvtiffStream_t tiff_stream,
nvtiffDecoder_t decoder,
nvtiffDecodeParams_t params,
uint32_t image_id,
nvtiffImage_t *image_out,
cudaStream_t stream
)#

Decodes a single image with extended output support.

Decodes a single image on the GPU with extended output buffer control via nvtiffImage_t. The function is asynchronous with respect to the host.

Parameters:
  • tiff_stream – [in] TIFF stream handle containing the parsed file.

  • decoder – [in] Decoder handle.

  • params – [in] Decode parameters for controlling output (ROI, output format).

  • image_id – [in] Image index within the TIFF file.

  • image_out – [out] Output image structure. Only one output plane is currently supported. The pitch must be aligned to the size of the sample type.

  • stream – [in] CUDA stream for GPU work submission.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecodeCheckSupported(
nvtiffStream_t tiff_stream,
nvtiffDecoder_t decoder,
nvtiffDecodeParams_t params,
uint32_t image_id
)#

Checks whether an image can be decoded by nvTIFF.

Returns NVTIFF_STATUS_SUCCESS if the image is supported.

Parameters:
  • tiff_stream – [in] TIFF stream handle containing the parsed file.

  • decoder – [in] Decoder handle.

  • params – [in] Decode parameters.

  • image_id – [in] Image index within the TIFF file.

Returns:

NVTIFF_STATUS_SUCCESS if supported, otherwise an error code as specified in APIReturn Status Codes”.

Decode Parameters API#

nvtiffStatus_t nvtiffDecodeParamsSetOutputFormat(
nvtiffDecodeParams_t decode_params,
nvtiffOutputFormat_t format
)#

Sets the decode output format.

The default value is NVTIFF_OUTPUT_UNCHANGED_I.

Buffer size and pitch requirements:

When NVTIFF_OUTPUT_UNCHANGED_I is used:

  • Buffer size: image_height * DivUp(image_width * bits_per_pixel, 8)

  • Pitch must be aligned to DivUp(bits_per_sample[0], 8) bytes.

  • Default pitch (if not specified): DivUp(image_width * bits_per_pixel, 8)

When NVTIFF_OUTPUT_RGB_I_UINT8 is used:

  • Buffer size: image_width * image_height * 3

  • Pitch must be aligned to 1 byte.

When NVTIFF_OUTPUT_RGB_I_UINT16 is used:

  • Buffer size: image_width * image_height * 6

  • Pitch must be aligned to 2 bytes.

Parameters:
  • decode_params – [in/out] Decode parameters handle.

  • format – [in] Output format value.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffDecodeParamsSetROI(
nvtiffDecodeParams_t decode_params,
int32_t offset_x,
int32_t offset_y,
int32_t roi_width,
int32_t roi_height
)#

Sets the region of interest for decoding.

The entire image is decoded by default.

Constraints:

  • offset_x and offset_y must be non-negative and cannot exceed image dimensions.

  • offset_x + roi_width and offset_y + roi_height cannot exceed image dimensions.

  • When image bitdepth is 1, offset_x and roi_width must be multiples of 8.

Parameters:
  • decode_params – [in/out] Decode parameters handle.

  • offset_x – [in] Horizontal offset from top-left corner.

  • offset_y – [in] Vertical offset from top-left corner.

  • roi_width – [in] Width of the region of interest.

  • roi_height – [in] Height of the region of interest.

Returns:

An error code as specified in API Return Status Codes.

Encode API#

nvtiffStatus_t nvtiffEncode(
nvtiffEncoder_t encoder,
nvtiffEncodeParams_t *params,
uint32_t num_params,
cudaStream_t stream
)#

Performs asynchronous TIFF encoding of one or more images.

Parameters must be set using nvtiffEncodeParamsSetImageInfo() and nvtiffEncodeParamsSetInputs() before calling this function. If the provided compression method (LZW by default) results in a bitstream larger than the raw input image data, compression is automatically disabled.

Parameters:
  • encoder – [in] Encoder handle.

  • params – [in] Array of encode parameters.

  • num_params – [in] Number of encode parameters (must be 1 for now).

  • stream – [in] CUDA stream.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeFinalize(
nvtiffEncoder_t encoder,
nvtiffEncodeParams_t *params,
uint32_t num_params,
cudaStream_t stream
)#

Finalizes asynchronous TIFF encoding operation started by nvtiffEncode().

This function must be called before the encoded bitstream can be written with nvtiffWriteTiffBuffer() or nvtiffWriteTiffFile().

Parameters:
  • encoder – [in] Encoder handle.

  • params – [in] Array of encode parameters.

  • num_params – [in] Number of encode parameters (must be 1 for now).

  • stream – [in] CUDA stream.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffGetBitstreamSize(
nvtiffEncoder_t encoder,
nvtiffEncodeParams_t *params,
uint32_t num_params,
size_t *metadata_size,
size_t *bitstream_size
)#

Calculates the size of TIFF metadata and/or compressed bitstream.

Either metadata_size or bitstream_size can be NULL to skip that calculation. metadata_size can be calculated before calling nvtiffEncode(), but bitstream_size can only be calculated after nvtiffEncodeFinalize() is called.

Parameters:
  • encoder – [in] Encoder handle.

  • params – [in] Array of encode parameters.

  • num_params – [in] Number of encode parameters (must be 1 for now).

  • metadata_size – [out] Size of TIFF metadata in bytes (can be NULL).

  • bitstream_size – [out] Size of compressed data in bytes (can be NULL).

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffWriteTiffBuffer(
nvtiffEncoder_t encoder,
nvtiffEncodeParams_t *params,
uint32_t num_params,
uint8_t *buffer,
size_t size,
cudaStream_t stream
)#

Writes complete TIFF data including metadata to a host memory buffer.

This function performs stream synchronization internally to ensure the bitstream is ready.

Parameters:
  • encoder – [in] Encoder handle.

  • params – [in] Array of encode parameters.

  • num_params – [in] Number of encode parameters (must be 1 for now).

  • buffer – [out] Buffer to write TIFF data to.

  • size – [in] Size of output buffer in bytes.

  • stream – [in] CUDA stream.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffWriteTiffFile(
nvtiffEncoder_t encoder,
nvtiffEncodeParams_t *params,
uint32_t num_params,
const char *fname,
cudaStream_t stream
)#

Writes complete TIFF data including metadata to a file.

This function performs stream synchronization internally to ensure the bitstream is ready.

Parameters:
  • encoder – [in] Encoder handle.

  • params – [in] Array of encode parameters.

  • num_params – [in] Number of encode parameters (must be 1 for now).

  • fname – [in] Output file path.

  • stream – [in] CUDA stream.

Returns:

An error code as specified in API Return Status Codes.

Encode Parameters API#

nvtiffStatus_t nvtiffEncodeParamsSetTiffVariant(
nvtiffEncodeParams_t params,
nvtiffVariant_t variant
)#

Sets the TIFF variant (regular or BigTIFF) for encoding.

This API is optional; by default, regular TIFF is used.

Parameters:
Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsSetImageInfo(
nvtiffEncodeParams_t params,
const nvtiffImageInfo_t *image_info
)#

Sets image information for encoding.

Required fields: image_width, image_height, samples_per_pixel, bits_per_sample, and sample_format (for each sample in a pixel).

Constraints:

Parameters:
  • params – [in] Encode parameters handle.

  • image_info – [in] Pointer to image information structure.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsSetImageGeometry(
nvtiffEncodeParams_t params,
const nvtiffImageGeometry_t *geometry
)#

Sets strip size for encoding.

This is optional; by default, strip size will be set to 8 KB. Only the strile_height field (number of rows per strip) needs to be set, as only stripes (not tiles) are currently supported.

Parameters:
  • params – [in] Encode parameters handle.

  • geometry – [in] Pointer to image geometry structure.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsSetInputs(
nvtiffEncodeParams_t params,
uint8_t **images_d,
uint32_t num_images
)#

Sets input image pointers for encoding.

Parameters:
  • params – [in] Encode parameters handle.

  • images_d – [in] Host array of size num_images of pointers to device buffers.

  • num_images – [in] Number of input images.

Returns:

An error code as specified in API Return Status Codes.

Encode Metadata API#

nvtiffStatus_t nvtiffEncodeParamsSetTag(
nvtiffEncodeParams_t params,
uint16_t tag,
nvtiffTagDataType type,
void *value,
uint32_t count
)#

Sets a TIFF tag with specified type and value.

Parameters:
  • params – [in] Encode parameters handle.

  • tag – [in] TIFF tag to set.

  • type – [in] Data type of tag value.

  • value – [in] Pointer to tag value.

  • count – [in] Number of values.

Returns:

An error code as specified in API Return Status Codes.

Encode Parameters API#

nvtiffStatus_t nvtiffEncodeParamsSetGeoKey(
nvtiffEncodeParams_t params,
nvtiffGeoKey_t key,
nvtiffGeoKeyDataType_t type,
void *value,
uint32_t value_size,
uint32_t count
)#

Sets a GeoTIFF key with arbitrary type and value.

Parameters:
  • params – [in] Encode parameters handle.

  • key – [in] GeoTIFF key to set.

  • type – [in] Data type of the key value.

  • value – [in] Pointer to key value.

  • value_size – [in] Size of individual value in bytes.

  • count – [in] Number of values.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsSetGeoKeySHORT(
nvtiffEncodeParams_t params,
nvtiffGeoKey_t key,
uint16_t value,
uint32_t count
)#

Sets a GeoTIFF key with SHORT value type.

Parameters:
  • params – [in] Encode parameters handle.

  • key – [in] GeoTIFF key to set.

  • value – [in] SHORT value to set.

  • count – [in] Number of values.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsSetGeoKeyDOUBLE(
nvtiffEncodeParams_t params,
nvtiffGeoKey_t key,
double value,
uint32_t count
)#

Sets a GeoTIFF key with DOUBLE value type.

Parameters:
  • params – [in] Encode parameters handle.

  • key – [in] GeoTIFF key to set.

  • value – [in] DOUBLE value to set.

  • count – [in] Number of values.

Returns:

An error code as specified in API Return Status Codes.

nvtiffStatus_t nvtiffEncodeParamsSetGeoKeyASCII(
nvtiffEncodeParams_t params,
nvtiffGeoKey_t key,
const char *value,
uint32_t value_size
)#

Sets a GeoTIFF key with ASCII value type.

Parameters:
  • params – [in] Encode parameters handle.

  • key – [in] GeoTIFF key to set.

  • value – [in] ASCII string value.

  • value_size – [in] Size of ASCII string including null terminator.

Returns:

An error code as specified in API Return Status Codes.

Type Declarations#

API Return Status Codes#

enum nvtiffStatus_t#

Return status codes for nvTIFF APIs.

Values:

enumerator NVTIFF_STATUS_SUCCESS#

The API call finished successfully. Note that many calls are asynchronous and some errors may only be seen after synchronization.

enumerator NVTIFF_STATUS_NOT_INITIALIZED#

The library handle was not initialized.

enumerator NVTIFF_STATUS_INVALID_PARAMETER#

Wrong parameter was passed. For example, a null pointer as input data, or an invalid enum value.

enumerator NVTIFF_STATUS_BAD_TIFF#

Cannot parse the TIFF stream. Likely due to a corruption that cannot be handled.

enumerator NVTIFF_STATUS_TIFF_NOT_SUPPORTED#

Attempting to decode a TIFF stream that is not supported by the nvTIFF library.

enumerator NVTIFF_STATUS_ALLOCATOR_FAILURE#

The user-provided allocator functions returned a non-zero code.

enumerator NVTIFF_STATUS_EXECUTION_FAILED#

Error during the execution of the device tasks.

enumerator NVTIFF_STATUS_ARCH_MISMATCH#

The device capabilities are not enough for the set of input parameters provided.

enumerator NVTIFF_STATUS_INTERNAL_ERROR#

Unknown error occurred in the library.

enumerator NVTIFF_STATUS_NVCOMP_NOT_FOUND#

nvTIFF is unable to load the nvcomp library.

enumerator NVTIFF_STATUS_NVJPEG_NOT_FOUND#

nvTIFF is unable to load the nvjpeg library.

enumerator NVTIFF_STATUS_TAG_NOT_FOUND#

nvTIFF is unable to find information about the provided tag.

enumerator NVTIFF_STATUS_PARAMETER_OUT_OF_BOUNDS#

Provided parameter is outside the range of possible values.

enumerator NVTIFF_STATUS_NVJPEG2K_NOT_FOUND#

nvTIFF is unable to load the nvJPEG2000 library.

Device Allocator Interface#

typedef int (*nvtiffDeviceMallocAsync)(void *ctx, void **ptr, size_t size, cudaStream_t stream)#

Prototype for stream-ordered device memory allocation.

Param ctx:

[in] User-defined context pointer.

Param ptr:

[out] Pointer to allocated memory.

Param size:

[in] Size in bytes to allocate.

Param stream:

[in] CUDA stream for ordered allocation.

Return:

0 on success, non-zero on failure.

typedef int (*nvtiffDeviceFreeAsync)(void *ctx, void *ptr, size_t size, cudaStream_t stream)#

Prototype for stream-ordered device memory deallocation.

Param ctx:

[in] User-defined context pointer.

Param ptr:

[in] Pointer to memory to free.

Param size:

[in] Size in bytes that was allocated.

Param stream:

[in] CUDA stream for ordered deallocation.

Return:

0 on success, non-zero on failure.

struct nvtiffDeviceAllocator_t#

Custom device memory allocator interface.

Supports stream-ordered allocation and user-defined context information. When invoking the device allocators, nvTIFF will pass device_ctx as input.

Public Members

nvtiffDeviceMallocAsync device_malloc#

Device allocator callback.

nvtiffDeviceFreeAsync device_free#

Device free callback.

void *device_ctx#

User-defined context pointer.

Pinned Allocator Interface#

typedef int (*nvtiffPinnedMallocAsync)(void *ctx, void **ptr, size_t size, cudaStream_t stream)#

Prototype for stream-ordered pinned memory allocation.

Param ctx:

[in] User-defined context pointer.

Param ptr:

[out] Pointer to allocated memory.

Param size:

[in] Size in bytes to allocate.

Param stream:

[in] CUDA stream for ordered allocation.

Return:

0 on success, non-zero on failure.

typedef int (*nvtiffPinnedFreeAsync)(void *ctx, void *ptr, size_t size, cudaStream_t stream)#

Prototype for stream-ordered pinned memory deallocation.

Param ctx:

[in] User-defined context pointer.

Param ptr:

[in] Pointer to memory to free.

Param size:

[in] Size in bytes that was allocated.

Param stream:

[in] CUDA stream for ordered deallocation.

Return:

0 on success, non-zero on failure.

struct nvtiffPinnedAllocator_t#

Custom pinned memory allocator interface.

Supports stream-ordered allocation and user-defined context information. When invoking the pinned allocators, nvTIFF will pass pinned_ctx as input.

Public Members

nvtiffPinnedMallocAsync pinned_malloc#

Pinned allocator callback.

nvtiffPinnedFreeAsync pinned_free#

Pinned free callback.

void *pinned_ctx#

User-defined context pointer.

Handle Types#

typedef struct nvtiffEncoder *nvtiffEncoder_t#

Handle to opaque nvTIFF encoder instance.

typedef struct nvtiffEncodeParams *nvtiffEncodeParams_t#

Handle to opaque nvTIFF encode parameters.

typedef struct nvtiffDecoder *nvtiffDecoder_t#

Handle to opaque nvTIFF decoder instance.

Stores intermediate decode buffers used in decoding.

typedef struct nvtiffStream *nvtiffStream_t#

Handle to opaque nvTIFF stream instance.

Used for parsing a TIFF file. TIFF metadata can be extracted using parser APIs.

typedef struct nvtiffDecodeParams *nvtiffDecodeParams_t#

Handle to opaque decode parameters.

Used to specify decode output parameters such as region of interest and output format.

Image Info#

enum nvtiffVariant_t#

TIFF file format variant.

Values:

enumerator NVTIFF_REGULAR_TIFF#

Standard TIFF format (up to 4GB file size).

enumerator NVTIFF_BIG_TIFF#

BigTIFF format (supports files larger than 4GB).

enum nvtiffSampleFormat_t#

Sample format types.

Corresponds to the SampleFormat (339) tag defined in the TIFF specification.

Values:

enumerator NVTIFF_SAMPLEFORMAT_UNKNOWN#

Unknown sample format.

enumerator NVTIFF_SAMPLEFORMAT_UINT#

Unsigned integer data.

enumerator NVTIFF_SAMPLEFORMAT_INT#

Signed integer data.

enumerator NVTIFF_SAMPLEFORMAT_IEEEFP#

IEEE floating point data.

enumerator NVTIFF_SAMPLEFORMAT_VOID#

Undefined data format.

enumerator NVTIFF_SAMPLEFORMAT_COMPLEXINT#

Complex integer data.

enumerator NVTIFF_SAMPLEFORMAT_COMPLEXIEEEFP#

Complex IEEE floating point data.

enum nvtiffPhotometricInt_t#

Photometric interpretation types.

Corresponds to the PhotometricInterpretation (262) tag defined in the TIFF specification.

Values:

enumerator NVTIFF_PHOTOMETRIC_UNKNOWN#

Unknown photometric interpretation.

enumerator NVTIFF_PHOTOMETRIC_MINISWHITE#

0 is white, max value is black.

enumerator NVTIFF_PHOTOMETRIC_MINISBLACK#

0 is black, max value is white.

enumerator NVTIFF_PHOTOMETRIC_RGB#

RGB color model.

enumerator NVTIFF_PHOTOMETRIC_PALETTE#

Color map indexed (palette color).

enumerator NVTIFF_PHOTOMETRIC_MASK#

Holdout mask.

enumerator NVTIFF_PHOTOMETRIC_SEPARATED#

Color separations (e.g., CMYK).

enumerator NVTIFF_PHOTOMETRIC_YCBCR#

YCbCr color space.

enum nvtiffPlanarConfig_t#

Planar configuration types.

Corresponds to the PlanarConfiguration (284) tag defined in the TIFF specification.

Values:

enumerator NVTIFF_PLANARCONFIG_UNKNOWN#

Unknown planar configuration.

enumerator NVTIFF_PLANARCONFIG_CONTIG#

Chunky format (interleaved).

enumerator NVTIFF_PLANARCONFIG_SEPARATE#

Planar format (separate planes).

enum nvtiffCompression_t#

Compression types.

Corresponds to the Compression (259) tag defined in the TIFF specification.

Values:

enumerator NVTIFF_COMPRESSION_UNKNOWN#

Unknown compression.

enumerator NVTIFF_COMPRESSION_NONE#

No compression.

enumerator NVTIFF_COMPRESSION_LZW#

LZW compression.

enumerator NVTIFF_COMPRESSION_JPEG#

JPEG compression.

enumerator NVTIFF_COMPRESSION_ADOBE_DEFLATE#

Adobe Deflate compression.

enumerator NVTIFF_COMPRESSION_DEFLATE#

Deflate compression.

enumerator NVTIFF_COMPRESSION_APERIO_JP2000_YCC#

Aperio JPEG2000 YCC compression.

enumerator NVTIFF_COMPRESSION_APERIO_JP2000_RGB#

Aperio JPEG2000 RGB compression.

enumerator NVTIFF_COMPRESSION_JP2000#

JPEG2000 compression.

enum nvtiffImageType#

Image type flags.

Corresponds to the NewSubfileType (254) tag defined in the TIFF specification.

Values:

enumerator NVTIFF_IMAGETYPE_REDUCED_IMAGE#

Reduced resolution version of another image.

enumerator NVTIFF_IMAGETYPE_PAGE#

Single page of a multi-page image.

enumerator NVTIFF_IMAGETYPE_MASK#

Transparency mask for another image.

enumerator NVTIFF_IMAGETYPE_ENUM_FORCE_UINT32#

Force enum to 32-bit.

typedef uint32_t nvtiffImageType_t#

Image type storage type.

struct nvtiffImageInfo_t#

TIFF image metadata structure.

Contains metadata of an image stored in a TIFF file.

Public Members

nvtiffImageType_t image_type#

Image type flags from NewSubfileType tag.

uint32_t image_width#

Image width in pixels.

uint32_t image_height#

Image height in pixels.

nvtiffCompression_t compression#

Compression method used.

nvtiffPhotometricInt_t photometric_int#

Photometric interpretation.

nvtiffPlanarConfig_t planar_config#

Planar configuration.

uint16_t samples_per_pixel#

Number of samples (channels) per pixel.

uint16_t bits_per_pixel#

Total bits per pixel (sum of bits_per_sample).

uint16_t bits_per_sample[(16)]#

Bits per sample for each channel.

nvtiffSampleFormat_t sample_format[(16)]#

Sample format for each channel.

Image Geometry#

enum nvtiffImageGeometryType_t#

Image geometry type.

Specifies whether a TIFF file uses strips or tiles.

Values:

enumerator NVTIFF_IMAGE_STRIPED#

Image is organized in strips.

enumerator NVTIFF_IMAGE_TILED#

Image is organized in tiles.

struct nvtiffImageGeometry_t#

Image geometry information.

Stores image geometry along with strip/tile dimensions. When the geometry type is NVTIFF_IMAGE_STRIPED, strile_width equals image_width.

Public Members

nvtiffImageGeometryType_t type#

Geometry type (striped or tiled).

uint32_t image_depth#

Image depth (for 3D images).

uint32_t strile_width#

Strip/tile width (equals image_width for strips).

uint32_t strile_height#

Strip/tile height.

uint32_t strile_depth#

Strip/tile depth (equals image_depth for strips).

uint32_t num_striles_per_plane#

Number of strips/tiles per plane.

uint32_t num_striles#

Total number of strips/tiles.

Image Format#

enum nvtiffOutputFormat_t#

Decode output format types.

Used to specify the decode output format.

Values:

enumerator NVTIFF_OUTPUT_UNCHANGED_I#

Keep original format, interleaved channels.

enumerator NVTIFF_OUTPUT_RGB_I_UINT8#

Interleaved RGB with 8 bits per channel.

enumerator NVTIFF_OUTPUT_RGB_I_UINT16#

Interleaved RGB with 16 bits per channel.

Image Data#

struct nvtiffImage_t#

Output image data structure.

Contains output image data buffers used by nvtiffDecodeImageEx().

Public Members

void **plane_data#

Array of pointers to plane data buffers on device.

size_t *plane_pitch_bytes#

Array of pitch values (bytes per row) for each plane.

uint32_t num_planes#

Number of planes in the output image.

Metadata#

enum nvtiffTagDataType_t#

TIFF tag data types as defined in the TIFF specification.

Values:

enumerator NVTIFF_TAG_TYPE_BYTE#

8-bit unsigned integer.

enumerator NVTIFF_TAG_TYPE_ASCII#

8-bit byte containing ASCII code (null-terminated).

enumerator NVTIFF_TAG_TYPE_SHORT#

16-bit unsigned integer.

enumerator NVTIFF_TAG_TYPE_LONG#

32-bit unsigned integer.

enumerator NVTIFF_TAG_TYPE_RATIONAL#

Two LONGs: numerator and denominator.

enumerator NVTIFF_TAG_TYPE_SBYTE#

8-bit signed integer.

enumerator NVTIFF_TAG_TYPE_UNDEFINED#

8-bit byte that may contain anything.

enumerator NVTIFF_TAG_TYPE_SSHORT#

16-bit signed integer.

enumerator NVTIFF_TAG_TYPE_SLONG#

32-bit signed integer.

enumerator NVTIFF_TAG_TYPE_SRATIONAL#

Two SLONGs: numerator and denominator.

enumerator NVTIFF_TAG_TYPE_FLOAT#

32-bit IEEE floating point.

enumerator NVTIFF_TAG_TYPE_DOUBLE#

64-bit IEEE floating point.

enumerator NVTIFF_TAG_TYPE_LONG8#

BigTIFF 64-bit unsigned integer.

enumerator NVTIFF_TAG_TYPE_SLONG8#

BigTIFF 64-bit signed integer.

enumerator NVTIFF_TAG_TYPE_IFD8#

BigTIFF 64-bit unsigned IFD offset.

enum nvtiffTag_t#

TIFF tag identifiers.

Corresponds to various TIFF tags listed in the TIFF specification. Currently only GeoTIFF relevant tags are supported.

Values:

enumerator NVTIFF_TAG_UNKNOWN#

Unknown tag.

enumerator NVTIFF_TAG_MODEL_PIXEL_SCALE#

GeoTIFF ModelPixelScaleTag.

enumerator NVTIFF_TAG_MODEL_TIE_POINT#

GeoTIFF ModelTiepointTag.

enumerator NVTIFF_TAG_MODEL_TRANSFORMATION#

GeoTIFF ModelTransformationTag.

GeoTIFF Metadata#

enum nvtiffGeoKey_t#

GeoTIFF key identifiers.

Corresponds to various geo keys listed in the GeoTIFF specification. User can refer to the GeoTIFF specification for additional details.

Values:

enumerator NVTIFF_GEOKEY_GT_MODEL_TYPE#

Model type.

enumerator NVTIFF_GEOKEY_GT_RASTER_TYPE#

Raster type.

enumerator NVTIFF_GEOKEY_GT_CITATION#

Citation.

enumerator NVTIFF_GEOKEY_GEODETIC_CRS#

Geodetic CRS.

enumerator NVTIFF_GEOKEY_GEODETIC_CITATION#

Geodetic citation.

enumerator NVTIFF_GEOKEY_GEODETIC_DATUM#

Geodetic datum.

enumerator NVTIFF_GEOKEY_PRIME_MERIDIAN#

Prime meridian.

enumerator NVTIFF_GEOKEY_GEOG_LINEAR_UNITS#

Geographic linear units.

enumerator NVTIFF_GEOKEY_GEOG_LINEAR_UNIT_SIZE#

Geographic linear unit size.

enumerator NVTIFF_GEOKEY_GEOG_ANGULAR_UNITS#

Geographic angular units.

enumerator NVTIFF_GEOKEY_GEOG_ANGULAR_UNIT_SIZE#

Geographic angular unit size.

enumerator NVTIFF_GEOKEY_ELLIPSOID#

Ellipsoid.

enumerator NVTIFF_GEOKEY_ELLIPSOID_SEMI_MAJOR_AXIS#

Ellipsoid semi-major axis.

enumerator NVTIFF_GEOKEY_ELLIPSOID_SEMI_MINOR_AXIS#

Ellipsoid semi-minor axis.

enumerator NVTIFF_GEOKEY_ELLIPSOID_INV_FLATTENING#

Ellipsoid inverse flattening.

enumerator NVTIFF_GEOKEY_GEOG_AZIMUTH_UNITS#

Geographic azimuth units.

enumerator NVTIFF_GEOKEY_PRIME_MERIDIAN_LONG#

Prime meridian longitude.

enumerator NVTIFF_GEOKEY_PROJECTED_CRS#

Projected CRS.

enumerator NVTIFF_GEOKEY_PROJECTED_CITATION#

Projected citation.

enumerator NVTIFF_GEOKEY_PROJECTION#

Projection.

enumerator NVTIFF_GEOKEY_PROJ_METHOD#

Projection method.

enumerator NVTIFF_GEOKEY_PROJ_LINEAR_UNITS#

Projection linear units.

enumerator NVTIFF_GEOKEY_PROJ_LINEAR_UNIT_SIZE#

Projection linear unit size.

enumerator NVTIFF_GEOKEY_PROJ_STD_PARALLEL1#

Standard parallel 1.

enumerator NVTIFF_GEOKEY_PROJ_STD_PARALLEL#

Standard parallel (alias for PROJ_STD_PARALLEL1).

enumerator NVTIFF_GEOKEY_PROJ_STD_PARALLEL2#

Standard parallel 2.

enumerator NVTIFF_GEOKEY_PROJ_NAT_ORIGIN_LONG#

Natural origin longitude.

enumerator NVTIFF_GEOKEY_PROJ_ORIGIN_LONG#

Origin longitude (alias for PROJ_NAT_ORIGIN_LONG).

enumerator NVTIFF_GEOKEY_PROJ_NAT_ORIGIN_LAT#

Natural origin latitude.

enumerator NVTIFF_GEOKEY_PROJ_ORIGIN_LAT#

Origin latitude (alias for PROJ_NAT_ORIGIN_LAT).

enumerator NVTIFF_GEOKEY_PROJ_FALSE_EASTING#

False easting.

enumerator NVTIFF_GEOKEY_PROJ_FALSE_NORTHING#

False northing.

enumerator NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_LONG#

False origin longitude.

enumerator NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_LAT#

False origin latitude.

enumerator NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_EASTING#

False origin easting.

enumerator NVTIFF_GEOKEY_PROJ_FALSE_ORIGIN_NORTHING#

False origin northing.

enumerator NVTIFF_GEOKEY_PROJ_CENTER_LONG#

Center longitude.

enumerator NVTIFF_GEOKEY_PROJ_CENTER_LAT#

Center latitude.

enumerator NVTIFF_GEOKEY_PROJ_CENTER_EASTING#

Center easting.

enumerator NVTIFF_GEOKEY_PROJ_CENTER_NORTHING#

Center northing.

enumerator NVTIFF_GEOKEY_PROJ_SCALE_AT_NAT_ORIGIN#

Scale at natural origin.

enumerator NVTIFF_GEOKEY_PROJ_SCALE_AT_ORIGIN#

Scale at origin (alias for PROJ_SCALE_AT_NAT_ORIGIN).

enumerator NVTIFF_GEOKEY_PROJ_SCALE_AT_CENTER#

Scale at center.

enumerator NVTIFF_GEOKEY_PROJ_AZIMUTH_ANGLE#

Azimuth angle.

enumerator NVTIFF_GEOKEY_PROJ_STRAIGHT_VERT_POLE_LONG#

Straight vertical pole longitude.

enumerator NVTIFF_GEOKEY_VERTICAL#

Vertical CRS.

enumerator NVTIFF_GEOKEY_VERTICAL_CITATION#

Vertical citation.

enumerator NVTIFF_GEOKEY_VERTICAL_DATUM#

Vertical datum.

enumerator NVTIFF_GEOKEY_VERTICAL_UNITS#

Vertical units.

enumerator NVTIFF_GEOKEY_BASE#

Reserved for private use.

enumerator NVTIFF_GEOKEY_END#

Maximum value.

enum nvtiffGeoKeyDataType_t#

Data type for GeoTIFF key values.

Values:

enumerator NVTIFF_GEOKEY_TYPE_SHORT#

16-bit unsigned integer.

enumerator NVTIFF_GEOKEY_TYPE_ASCII#

ASCII string.

enumerator NVTIFF_GEOKEY_TYPE_DOUBLE#

64-bit floating point.

enumerator NVTIFF_GEOKEY_TYPE_UNKNOWN#

Unknown type.