tiff.h File Reference

TIFF tables. More...

#include <stdint.h>
Include dependency graph for tiff.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  TiffGeoTag
 
struct  TiffGeoTagKeyName
 
struct  TiffGeoTagNameType
 

Typedefs

typedef struct TiffGeoTag TiffGeoTag
 
typedef struct TiffGeoTagKeyName TiffGeoTagKeyName
 
typedef struct TiffGeoTagNameType TiffGeoTagNameType
 

Enumerations

enum  TiffTags {
  TIFF_SUBFILE = 0xfe, TIFF_WIDTH = 0x100, TIFF_HEIGHT, TIFF_BPP,
  TIFF_COMPR, TIFF_INVERT = 0x106, TIFF_FILL_ORDER = 0x10A, TIFF_DOCUMENT_NAME = 0x10D,
  TIFF_IMAGE_DESCRIPTION = 0x10E, TIFF_MAKE = 0x10F, TIFF_MODEL = 0x110, TIFF_STRIP_OFFS = 0x111,
  TIFF_SAMPLES_PER_PIXEL = 0x115, TIFF_ROWSPERSTRIP = 0x116, TIFF_STRIP_SIZE, TIFF_XRES = 0x11A,
  TIFF_YRES = 0x11B, TIFF_PLANAR = 0x11C, TIFF_PAGE_NAME = 0x11D, TIFF_XPOS = 0x11E,
  TIFF_YPOS = 0x11F, TIFF_T4OPTIONS = 0x124, TIFF_T6OPTIONS, TIFF_RES_UNIT = 0x128,
  TIFF_PAGE_NUMBER = 0x129, TIFF_SOFTWARE_NAME = 0x131, TIFF_DATE = 0x132, TIFF_ARTIST = 0x13B,
  TIFF_HOST_COMPUTER = 0x13C, TIFF_PREDICTOR = 0x13D, TIFF_PAL = 0x140, TIFF_TILE_WIDTH = 0x142,
  TIFF_TILE_LENGTH = 0x143, TIFF_TILE_OFFSETS = 0x144, TIFF_TILE_BYTE_COUNTS = 0x145, TIFF_EXTRASAMPLES = 0x152,
  TIFF_YCBCR_COEFFICIENTS = 0x211, TIFF_YCBCR_SUBSAMPLING = 0x212, TIFF_YCBCR_POSITIONING = 0x213, TIFF_REFERENCE_BW = 0x214,
  TIFF_COPYRIGHT = 0x8298, TIFF_MODEL_TIEPOINT = 0x8482, TIFF_MODEL_PIXEL_SCALE = 0x830E, TIFF_MODEL_TRANSFORMATION = 0x8480,
  TIFF_GEO_KEY_DIRECTORY = 0x87AF, TIFF_GEO_DOUBLE_PARAMS = 0x87B0, TIFF_GEO_ASCII_PARAMS = 0x87B1
}
 abridged list of TIFF tags More...
 
enum  TiffCompr {
  TIFF_RAW = 1, TIFF_CCITT_RLE, TIFF_G3, TIFF_G4,
  TIFF_LZW, TIFF_JPEG, TIFF_NEWJPEG, TIFF_ADOBE_DEFLATE,
  TIFF_PACKBITS = 0x8005, TIFF_DEFLATE = 0x80B2
}
 list of TIFF compression types More...
 
enum  TiffTypes {
  TIFF_BYTE = 1, TIFF_STRING, TIFF_SHORT, TIFF_LONG,
  TIFF_RATIONAL, TIFF_SBYTE, TIFF_UNDEFINED, TIFF_SSHORT,
  TIFF_SLONG, TIFF_SRATIONAL, TIFF_FLOAT, TIFF_DOUBLE,
  TIFF_IFD
}
 
enum  TiffGeoTagKey {
  TIFF_GT_MODEL_TYPE_GEOKEY = 1024, TIFF_GT_RASTER_TYPE_GEOKEY = 1025, TIFF_GT_CITATION_GEOKEY = 1026, TIFF_GEOGRAPHIC_TYPE_GEOKEY = 2048,
  TIFF_GEOG_CITATION_GEOKEY = 2049, TIFF_GEOG_GEODETIC_DATUM_GEOKEY = 2050, TIFF_GEOG_PRIME_MERIDIAN_GEOKEY = 2051, TIFF_GEOG_LINEAR_UNITS_GEOKEY = 2052,
  TIFF_GEOG_LINEAR_UNIT_SIZE_GEOKEY = 2053, TIFF_GEOG_ANGULAR_UNITS_GEOKEY = 2054, TIFF_GEOG_ANGULAR_UNIT_SIZE_GEOKEY = 2055, TIFF_GEOG_ELLIPSOID_GEOKEY = 2056,
  TIFF_GEOG_SEMI_MAJOR_AXIS_GEOKEY = 2057, TIFF_GEOG_SEMI_MINOR_AXIS_GEOKEY = 2058, TIFF_GEOG_INV_FLATTENING_GEOKEY = 2059, TIFF_GEOG_AZIMUTH_UNITS_GEOKEY = 2060,
  TIFF_GEOG_PRIME_MERIDIAN_LONG_GEOKEY = 2061, TIFF_PROJECTED_CS_TYPE_GEOKEY = 3072, TIFF_PCS_CITATION_GEOKEY = 3073, TIFF_PROJECTION_GEOKEY = 3074,
  TIFF_PROJ_COORD_TRANS_GEOKEY = 3075, TIFF_PROJ_LINEAR_UNITS_GEOKEY = 3076, TIFF_PROJ_LINEAR_UNIT_SIZE_GEOKEY = 3077, TIFF_PROJ_STD_PARALLEL1_GEOKEY = 3078,
  TIFF_PROJ_STD_PARALLEL2_GEOKEY = 3079, TIFF_PROJ_NAT_ORIGIN_LONG_GEOKEY = 3080, TIFF_PROJ_NAT_ORIGIN_LAT_GEOKEY = 3081, TIFF_PROJ_FALSE_EASTING_GEOKEY = 3082,
  TIFF_PROJ_FALSE_NORTHING_GEOKEY = 3083, TIFF_PROJ_FALSE_ORIGIN_LONG_GEOKEY = 3084, TIFF_PROJ_FALSE_ORIGIN_LAT_GEOKEY = 3085, TIFF_PROJ_FALSE_ORIGIN_EASTING_GEOKEY = 3086,
  TIFF_PROJ_FALSE_ORIGIN_NORTHING_GEOKEY = 3087, TIFF_PROJ_CENTER_LONG_GEOKEY = 3088, TIFF_PROJ_CENTER_LAT_GEOKEY = 3089, TIFF_PROJ_CENTER_EASTING_GEOKEY = 3090,
  TIFF_PROJ_CENTER_NORTHING_GEOKEY = 3091, TIFF_PROJ_SCALE_AT_NAT_ORIGIN_GEOKEY = 3092, TIFF_PROJ_SCALE_AT_CENTER_GEOKEY = 3093, TIFF_PROJ_AZIMUTH_ANGLE_GEOKEY = 3094,
  TIFF_PROJ_STRAIGHT_VERT_POLE_LONG_GEOKEY = 3095, TIFF_VERTICAL_CS_TYPE_GEOKEY = 4096, TIFF_VERTICAL_CITATION_GEOKEY = 4097, TIFF_VERTICAL_DATUM_GEOKEY = 4098,
  TIFF_VERTICAL_UNITS_GEOKEY = 4099
}
 
enum  TiffGeoTagType { GEOTIFF_SHORT = 0, GEOTIFF_DOUBLE = 34736, GEOTIFF_STRING = 34737 }
 

Variables

static const uint8_t type_sizes [14]
 sizes of various TIFF field types (string size = 100) More...
 

Detailed Description

TIFF tables.

For more information about the TIFF format, check the official docs at: http://partners.adobe.com/public/developer/tiff/index.html

Author
Konstantin Shishkov

Definition in file tiff.h.

Typedef Documentation

typedef struct TiffGeoTag TiffGeoTag

Enumeration Type Documentation

enum TiffCompr

list of TIFF compression types

Enumerator
TIFF_RAW 
TIFF_CCITT_RLE 
TIFF_G3 
TIFF_G4 
TIFF_LZW 
TIFF_JPEG 
TIFF_NEWJPEG 
TIFF_ADOBE_DEFLATE 
TIFF_PACKBITS 
TIFF_DEFLATE 

Definition at line 87 of file tiff.h.

Enumerator
TIFF_GT_MODEL_TYPE_GEOKEY 
TIFF_GT_RASTER_TYPE_GEOKEY 
TIFF_GT_CITATION_GEOKEY 
TIFF_GEOGRAPHIC_TYPE_GEOKEY 
TIFF_GEOG_CITATION_GEOKEY 
TIFF_GEOG_GEODETIC_DATUM_GEOKEY 
TIFF_GEOG_PRIME_MERIDIAN_GEOKEY 
TIFF_GEOG_LINEAR_UNITS_GEOKEY 
TIFF_GEOG_LINEAR_UNIT_SIZE_GEOKEY 
TIFF_GEOG_ANGULAR_UNITS_GEOKEY 
TIFF_GEOG_ANGULAR_UNIT_SIZE_GEOKEY 
TIFF_GEOG_ELLIPSOID_GEOKEY 
TIFF_GEOG_SEMI_MAJOR_AXIS_GEOKEY 
TIFF_GEOG_SEMI_MINOR_AXIS_GEOKEY 
TIFF_GEOG_INV_FLATTENING_GEOKEY 
TIFF_GEOG_AZIMUTH_UNITS_GEOKEY 
TIFF_GEOG_PRIME_MERIDIAN_LONG_GEOKEY 
TIFF_PROJECTED_CS_TYPE_GEOKEY 
TIFF_PCS_CITATION_GEOKEY 
TIFF_PROJECTION_GEOKEY 
TIFF_PROJ_COORD_TRANS_GEOKEY 
TIFF_PROJ_LINEAR_UNITS_GEOKEY 
TIFF_PROJ_LINEAR_UNIT_SIZE_GEOKEY 
TIFF_PROJ_STD_PARALLEL1_GEOKEY 
TIFF_PROJ_STD_PARALLEL2_GEOKEY 
TIFF_PROJ_NAT_ORIGIN_LONG_GEOKEY 
TIFF_PROJ_NAT_ORIGIN_LAT_GEOKEY 
TIFF_PROJ_FALSE_EASTING_GEOKEY 
TIFF_PROJ_FALSE_NORTHING_GEOKEY 
TIFF_PROJ_FALSE_ORIGIN_LONG_GEOKEY 
TIFF_PROJ_FALSE_ORIGIN_LAT_GEOKEY 
TIFF_PROJ_FALSE_ORIGIN_EASTING_GEOKEY 
TIFF_PROJ_FALSE_ORIGIN_NORTHING_GEOKEY 
TIFF_PROJ_CENTER_LONG_GEOKEY 
TIFF_PROJ_CENTER_LAT_GEOKEY 
TIFF_PROJ_CENTER_EASTING_GEOKEY 
TIFF_PROJ_CENTER_NORTHING_GEOKEY 
TIFF_PROJ_SCALE_AT_NAT_ORIGIN_GEOKEY 
TIFF_PROJ_SCALE_AT_CENTER_GEOKEY 
TIFF_PROJ_AZIMUTH_ANGLE_GEOKEY 
TIFF_PROJ_STRAIGHT_VERT_POLE_LONG_GEOKEY 
TIFF_VERTICAL_CS_TYPE_GEOKEY 
TIFF_VERTICAL_CITATION_GEOKEY 
TIFF_VERTICAL_DATUM_GEOKEY 
TIFF_VERTICAL_UNITS_GEOKEY 

Definition at line 116 of file tiff.h.

Enumerator
GEOTIFF_SHORT 
GEOTIFF_DOUBLE 
GEOTIFF_STRING 

Definition at line 164 of file tiff.h.

enum TiffTags

abridged list of TIFF tags

Enumerator
TIFF_SUBFILE 
TIFF_WIDTH 
TIFF_HEIGHT 
TIFF_BPP 
TIFF_COMPR 
TIFF_INVERT 
TIFF_FILL_ORDER 
TIFF_DOCUMENT_NAME 
TIFF_IMAGE_DESCRIPTION 
TIFF_MAKE 
TIFF_MODEL 
TIFF_STRIP_OFFS 
TIFF_SAMPLES_PER_PIXEL 
TIFF_ROWSPERSTRIP 
TIFF_STRIP_SIZE 
TIFF_XRES 
TIFF_YRES 
TIFF_PLANAR 
TIFF_PAGE_NAME 
TIFF_XPOS 
TIFF_YPOS 
TIFF_T4OPTIONS 
TIFF_T6OPTIONS 
TIFF_RES_UNIT 
TIFF_PAGE_NUMBER 
TIFF_SOFTWARE_NAME 
TIFF_DATE 
TIFF_ARTIST 
TIFF_HOST_COMPUTER 
TIFF_PREDICTOR 
TIFF_PAL 
TIFF_TILE_WIDTH 
TIFF_TILE_LENGTH 
TIFF_TILE_OFFSETS 
TIFF_TILE_BYTE_COUNTS 
TIFF_EXTRASAMPLES 
TIFF_YCBCR_COEFFICIENTS 
TIFF_YCBCR_SUBSAMPLING 
TIFF_YCBCR_POSITIONING 
TIFF_REFERENCE_BW 
TIFF_COPYRIGHT 
TIFF_MODEL_TIEPOINT 
TIFF_MODEL_PIXEL_SCALE 
TIFF_MODEL_TRANSFORMATION 
TIFF_GEO_KEY_DIRECTORY 
TIFF_GEO_DOUBLE_PARAMS 
TIFF_GEO_ASCII_PARAMS 

Definition at line 36 of file tiff.h.

enum TiffTypes
Enumerator
TIFF_BYTE 
TIFF_STRING 
TIFF_SHORT 
TIFF_LONG 
TIFF_RATIONAL 
TIFF_SBYTE 
TIFF_UNDEFINED 
TIFF_SSHORT 
TIFF_SLONG 
TIFF_SRATIONAL 
TIFF_FLOAT 
TIFF_DOUBLE 
TIFF_IFD 

Definition at line 100 of file tiff.h.

Variable Documentation

const uint8_t type_sizes[14]
static
Initial value:
= {
0, 1, 100, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8, 4
}

sizes of various TIFF field types (string size = 100)

Definition at line 171 of file tiff.h.

Referenced by add_entry(), and tiff_decode_tag().