FFmpeg
Data Structures | Macros | Functions | Variables
tiff_data.h File Reference
#include "tiff.h"

Go to the source code of this file.

Data Structures

struct  TiffGeoTagNameType
 

Macros

#define TIFF_CONF_KEY_ID_OFFSET   1024
 
#define CONF_NAME_TYPE_MAP(KEY)
 
#define TIFF_GEOG_KEY_ID_OFFSET   2048
 
#define GEOG_NAME_TYPE_MAP(KEY)
 
#define TIFF_PROJ_KEY_ID_OFFSET   3072
 
#define PROJ_NAME_TYPE_MAP(KEY)
 
#define TIFF_VERT_KEY_ID_OFFSET   4096
 
#define VERT_NAME_TYPE_MAP(KEY)
 
#define ADD_OFFSET(NAME, TYPE)
 
#define STRING(NAME, TYPE)   #NAME "\0"
 
#define ENTRY(NAME, TYPE)   { .type = GEOTIFF_ ## TYPE, .offset = NAME ## _OFFSET },
 
#define NAME_TYPE_MAP(NAME, name)
 
#define TIFF_GEO_KEY_UNDEFINED   0
 
#define TIFF_GEO_KEY_USER_DEFINED   32767
 
#define TIFF_GT_MODEL_TYPE_OFFSET   1
 
#define TIFF_GT_RASTER_TYPE_OFFSET   1
 
#define TIFF_LINEAR_UNIT_OFFSET   9001
 
#define TIFF_ANGULAR_UNIT_OFFSET   9101
 
#define TIFF_GCS_TYPE_OFFSET   4201
 
#define TIFF_GCSE_TYPE_OFFSET   4001
 
#define TIFF_GEODETIC_DATUM_OFFSET   6201
 
#define TIFF_GEODETIC_DATUM_E_OFFSET   6001
 
#define TIFF_ELLIPSOID_OFFSET   7001
 
#define TIFF_PRIME_MERIDIAN_OFFSET   8901
 
#define TIFF_COORD_TRANS_OFFSET   1
 
#define TIFF_VERT_CS_OFFSET   5001
 
#define TIFF_ORTHO_VERT_CS_OFFSET   5101
 

Functions

 NAME_TYPE_MAP (CONF, conf)
 
 NAME_TYPE_MAP (GEOG, geog)
 
 NAME_TYPE_MAP (PROJ, proj)
 
 NAME_TYPE_MAP (VERT, vert)
 

Variables

static const char *const tiff_gt_model_type_codes []
 
static const char *const tiff_gt_raster_type_codes []
 
static const char *const tiff_linear_unit_codes []
 
static const char *const tiff_angular_unit_codes []
 
static const char *const tiff_gcs_type_codes []
 
static const char *const tiff_gcse_type_codes []
 
static const char *const tiff_geodetic_datum_codes []
 
static const char *const tiff_geodetic_datum_e_codes []
 
static const char *const tiff_ellipsoid_codes []
 
static const char *const tiff_prime_meridian_codes []
 
static const TiffGeoTagKeyName tiff_proj_cs_type_codes []
 
static const TiffGeoTagKeyName tiff_projection_codes []
 
static const char *const tiff_coord_trans_codes []
 
static const char *const tiff_vert_cs_codes []
 
static const char *const tiff_ortho_vert_cs_codes []
 

Detailed Description

TIFF data tables

Author
Thomas Kuehnel
See also
GeoTIFF specification at http://www.remotesensing.org/geotiff/spec/geotiffhome.html

Definition in file tiff_data.h.

Macro Definition Documentation

◆ TIFF_CONF_KEY_ID_OFFSET

#define TIFF_CONF_KEY_ID_OFFSET   1024

Definition at line 40 of file tiff_data.h.

◆ CONF_NAME_TYPE_MAP

#define CONF_NAME_TYPE_MAP (   KEY)
Value:
KEY(GTModelTypeGeoKey, SHORT ) \
KEY(GTRasterTypeGeoKey, SHORT ) \
KEY(GTCitationGeoKey, STRING) \

Definition at line 41 of file tiff_data.h.

◆ TIFF_GEOG_KEY_ID_OFFSET

#define TIFF_GEOG_KEY_ID_OFFSET   2048

Definition at line 46 of file tiff_data.h.

◆ GEOG_NAME_TYPE_MAP

#define GEOG_NAME_TYPE_MAP (   KEY)
Value:
KEY(GeographicTypeGeoKey, SHORT ) \
KEY(GeogCitationGeoKey, STRING) \
KEY(GeogGeodeticDatumGeoKey, SHORT ) \
KEY(GeogPrimeMeridianGeoKey, SHORT ) \
KEY(GeogLinearUnitsGeoKey, SHORT ) \
KEY(GeogLinearUnitSizeGeoKey, DOUBLE) \
KEY(GeogAngularUnitsGeoKey, SHORT ) \
KEY(GeogAngularUnitSizeGeoKey, DOUBLE) \
KEY(GeogEllipsoidGeoKey, SHORT ) \
KEY(GeogSemiMajorAxisGeoKey, DOUBLE) \
KEY(GeogSemiMinorAxisGeoKey, DOUBLE) \
KEY(GeogInvFlatteningGeoKey, DOUBLE) \
KEY(GeogAzimuthUnitsGeoKey, SHORT ) \
KEY(GeogPrimeMeridianLongGeoKey, DOUBLE) \

Definition at line 47 of file tiff_data.h.

◆ TIFF_PROJ_KEY_ID_OFFSET

#define TIFF_PROJ_KEY_ID_OFFSET   3072

Definition at line 63 of file tiff_data.h.

◆ PROJ_NAME_TYPE_MAP

#define PROJ_NAME_TYPE_MAP (   KEY)
Value:
KEY(ProjectedCSTypeGeoKey, SHORT ) \
KEY(PCSCitationGeoKey, STRING) \
KEY(ProjectionGeoKey, SHORT ) \
KEY(ProjCoordTransGeoKey, SHORT ) \
KEY(ProjLinearUnitsGeoKey, SHORT ) \
KEY(ProjLinearUnitSizeGeoKey, DOUBLE) \
KEY(ProjStdParallel1GeoKey, DOUBLE) \
KEY(ProjStdParallel2GeoKey, DOUBLE) \
KEY(ProjNatOriginLongGeoKey, DOUBLE) \
KEY(ProjNatOriginLatGeoKey, DOUBLE) \
KEY(ProjFalseEastingGeoKey, DOUBLE) \
KEY(ProjFalseNorthingGeoKey, DOUBLE) \
KEY(ProjFalseOriginLongGeoKey, DOUBLE) \
KEY(ProjFalseOriginLatGeoKey, DOUBLE) \
KEY(ProjFalseOriginEastingGeoKey, DOUBLE) \
KEY(ProjFalseOriginNorthingGeoKey, DOUBLE) \
KEY(ProjCenterLongGeoKey, DOUBLE) \
KEY(ProjCenterLatGeoKey, DOUBLE) \
KEY(ProjCenterEastingGeoKey, DOUBLE) \
KEY(ProjCenterNorthingGeoKey, DOUBLE) \
KEY(ProjScaleAtNatOriginGeoKey, DOUBLE) \
KEY(ProjScaleAtCenterGeoKey, DOUBLE) \
KEY(ProjAzimuthAngleGeoKey, DOUBLE) \
KEY(ProjStraightVertPoleLongGeoKey, DOUBLE) \

Definition at line 64 of file tiff_data.h.

◆ TIFF_VERT_KEY_ID_OFFSET

#define TIFF_VERT_KEY_ID_OFFSET   4096

Definition at line 90 of file tiff_data.h.

◆ VERT_NAME_TYPE_MAP

#define VERT_NAME_TYPE_MAP (   KEY)
Value:
KEY(VerticalCSTypeGeoKey, SHORT ) \
KEY(VerticalCitationGeoKey, STRING) \
KEY(VerticalDatumGeoKey, SHORT ) \
KEY(VerticalUnitsGeoKey, SHORT ) \

Definition at line 91 of file tiff_data.h.

◆ ADD_OFFSET

#define ADD_OFFSET (   NAME,
  TYPE 
)
Value:
NAME ## _OFFSET, \
NAME ## _END = NAME ## _OFFSET + sizeof(#NAME) - 1, \

Definition at line 97 of file tiff_data.h.

◆ STRING

#define STRING (   NAME,
  TYPE 
)    #NAME "\0"

Definition at line 101 of file tiff_data.h.

◆ ENTRY

#define ENTRY (   NAME,
  TYPE 
)    { .type = GEOTIFF_ ## TYPE, .offset = NAME ## _OFFSET },

Definition at line 103 of file tiff_data.h.

◆ NAME_TYPE_MAP

#define NAME_TYPE_MAP (   NAME,
  name 
)
Value:
enum { \
NAME ## _NAME_TYPE_MAP(ADD_OFFSET) \
}; \
static const TiffGeoTagNameType tiff_ ## name ## _name_type_map[] = { \
NAME ## _NAME_TYPE_MAP(ENTRY) \
}; \
static const char *const tiff_ ## name ## _name_type_string = \
NAME ## _NAME_TYPE_MAP(STRING)

Definition at line 104 of file tiff_data.h.

◆ TIFF_GEO_KEY_UNDEFINED

#define TIFF_GEO_KEY_UNDEFINED   0

Definition at line 119 of file tiff_data.h.

◆ TIFF_GEO_KEY_USER_DEFINED

#define TIFF_GEO_KEY_USER_DEFINED   32767

Definition at line 120 of file tiff_data.h.

◆ TIFF_GT_MODEL_TYPE_OFFSET

#define TIFF_GT_MODEL_TYPE_OFFSET   1

Definition at line 122 of file tiff_data.h.

◆ TIFF_GT_RASTER_TYPE_OFFSET

#define TIFF_GT_RASTER_TYPE_OFFSET   1

Definition at line 129 of file tiff_data.h.

◆ TIFF_LINEAR_UNIT_OFFSET

#define TIFF_LINEAR_UNIT_OFFSET   9001

Definition at line 135 of file tiff_data.h.

◆ TIFF_ANGULAR_UNIT_OFFSET

#define TIFF_ANGULAR_UNIT_OFFSET   9101

Definition at line 154 of file tiff_data.h.

◆ TIFF_GCS_TYPE_OFFSET

#define TIFF_GCS_TYPE_OFFSET   4201

Definition at line 166 of file tiff_data.h.

◆ TIFF_GCSE_TYPE_OFFSET

#define TIFF_GCSE_TYPE_OFFSET   4001

Definition at line 303 of file tiff_data.h.

◆ TIFF_GEODETIC_DATUM_OFFSET

#define TIFF_GEODETIC_DATUM_OFFSET   6201

Definition at line 342 of file tiff_data.h.

◆ TIFF_GEODETIC_DATUM_E_OFFSET

#define TIFF_GEODETIC_DATUM_E_OFFSET   6001

Definition at line 466 of file tiff_data.h.

◆ TIFF_ELLIPSOID_OFFSET

#define TIFF_ELLIPSOID_OFFSET   7001

Definition at line 505 of file tiff_data.h.

◆ TIFF_PRIME_MERIDIAN_OFFSET

#define TIFF_PRIME_MERIDIAN_OFFSET   8901

Definition at line 544 of file tiff_data.h.

◆ TIFF_COORD_TRANS_OFFSET

#define TIFF_COORD_TRANS_OFFSET   1

Definition at line 1837 of file tiff_data.h.

◆ TIFF_VERT_CS_OFFSET

#define TIFF_VERT_CS_OFFSET   5001

Definition at line 1868 of file tiff_data.h.

◆ TIFF_ORTHO_VERT_CS_OFFSET

#define TIFF_ORTHO_VERT_CS_OFFSET   5101

Definition at line 1904 of file tiff_data.h.

Function Documentation

◆ NAME_TYPE_MAP() [1/4]

NAME_TYPE_MAP ( CONF  ,
conf   
)

◆ NAME_TYPE_MAP() [2/4]

NAME_TYPE_MAP ( GEOG  ,
geog   
)

◆ NAME_TYPE_MAP() [3/4]

NAME_TYPE_MAP ( PROJ  ,
proj   
)

◆ NAME_TYPE_MAP() [4/4]

NAME_TYPE_MAP ( VERT  ,
vert   
)

Variable Documentation

◆ tiff_gt_model_type_codes

const char* const tiff_gt_model_type_codes[]
static
Initial value:
= {
"ModelTypeProjected",
"ModelTypeGeographic",
"ModelTypeGeocentric"
}

Definition at line 123 of file tiff_data.h.

◆ tiff_gt_raster_type_codes

const char* const tiff_gt_raster_type_codes[]
static
Initial value:
= {
"RasterPixelIsArea",
"RasterPixelIsPoint"
}

Definition at line 130 of file tiff_data.h.

◆ tiff_linear_unit_codes

const char* const tiff_linear_unit_codes[]
static
Initial value:
= {
"Linear_Meter",
"Linear_Foot",
"Linear_Foot_US_Survey",
"Linear_Foot_Modified_American",
"Linear_Foot_Clarke",
"Linear_Foot_Indian",
"Linear_Link",
"Linear_Link_Benoit",
"Linear_Link_Sears",
"Linear_Chain_Benoit",
"Linear_Chain_Sears",
"Linear_Yard_Sears",
"Linear_Yard_Indian",
"Linear_Fathom",
"Linear_Mile_International_Nautical"
}

Definition at line 136 of file tiff_data.h.

◆ tiff_angular_unit_codes

const char* const tiff_angular_unit_codes[]
static
Initial value:
= {
"Angular_Radian",
"Angular_Degree",
"Angular_Arc_Minute",
"Angular_Arc_Second",
"Angular_Grad",
"Angular_Gon",
"Angular_DMS",
"Angular_DMS_Hemisphere"
}

Definition at line 155 of file tiff_data.h.

◆ tiff_gcs_type_codes

const char* const tiff_gcs_type_codes[]
static

Definition at line 167 of file tiff_data.h.

◆ tiff_gcse_type_codes

const char* const tiff_gcse_type_codes[]
static

Definition at line 304 of file tiff_data.h.

◆ tiff_geodetic_datum_codes

const char* const tiff_geodetic_datum_codes[]
static

Definition at line 343 of file tiff_data.h.

◆ tiff_geodetic_datum_e_codes

const char* const tiff_geodetic_datum_e_codes[]
static

Definition at line 467 of file tiff_data.h.

◆ tiff_ellipsoid_codes

const char* const tiff_ellipsoid_codes[]
static

Definition at line 506 of file tiff_data.h.

◆ tiff_prime_meridian_codes

const char* const tiff_prime_meridian_codes[]
static
Initial value:
= {
"PM_Greenwich",
"PM_Lisbon",
"PM_Paris",
"PM_Bogota",
"PM_Madrid",
"PM_Rome",
"PM_Bern",
"PM_Jakarta",
"PM_Ferro",
"PM_Brussels",
"PM_Stockholm"
}

Definition at line 545 of file tiff_data.h.

◆ tiff_proj_cs_type_codes

const TiffGeoTagKeyName tiff_proj_cs_type_codes[]
static

Definition at line 559 of file tiff_data.h.

Referenced by get_geokey_val().

◆ tiff_projection_codes

const TiffGeoTagKeyName tiff_projection_codes[]
static

Definition at line 1536 of file tiff_data.h.

Referenced by get_geokey_val().

◆ tiff_coord_trans_codes

const char* const tiff_coord_trans_codes[]
static
Initial value:
= {
"CT_TransverseMercator",
"CT_TransvMercator_Modified_Alaska",
"CT_ObliqueMercator",
"CT_ObliqueMercator_Laborde",
"CT_ObliqueMercator_Rosenmund",
"CT_ObliqueMercator_Spherical",
"CT_Mercator",
"CT_LambertConfConic_2SP",
"CT_LambertConfConic_Helmert",
"CT_LambertAzimEqualArea",
"CT_AlbersEqualArea",
"CT_AzimuthalEquidistant",
"CT_EquidistantConic",
"CT_Stereographic",
"CT_PolarStereographic",
"CT_ObliqueStereographic",
"CT_Equirectangular",
"CT_CassiniSoldner",
"CT_Gnomonic",
"CT_MillerCylindrical",
"CT_Orthographic",
"CT_Polyconic",
"CT_Robinson",
"CT_Sinusoidal",
"CT_VanDerGrinten",
"CT_NewZealandMapGrid",
"CT_TransvMercator_SouthOriented"
}

Definition at line 1838 of file tiff_data.h.

◆ tiff_vert_cs_codes

const char* const tiff_vert_cs_codes[]
static

Definition at line 1869 of file tiff_data.h.

◆ tiff_ortho_vert_cs_codes

const char* const tiff_ortho_vert_cs_codes[]
static
Initial value:
= {
"VertCS_Newlyn",
"VertCS_North_American_Vertical_Datum_1929",
"VertCS_North_American_Vertical_Datum_1988",
"VertCS_Yellow_Sea_1956",
"VertCS_Baltic_Sea",
"VertCS_Caspian_Sea"
}

Definition at line 1905 of file tiff_data.h.

name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
STRING
#define STRING(NAME, TYPE)
Definition: tiff_data.h:101
ADD_OFFSET
#define ADD_OFFSET(NAME, TYPE)
Definition: tiff_data.h:97
ENTRY
#define ENTRY(NAME, TYPE)
Definition: tiff_data.h:103
TiffGeoTagNameType
Definition: tiff_data.h:35
KEY
#define KEY
Definition: cri_parser.c:40