FFmpeg
4.0
libavcodec
tiff.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 Konstantin Shishkov
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
/**
22
* @file
23
* TIFF tables
24
*
25
* For more information about the TIFF format, check the official docs at:
26
* http://partners.adobe.com/public/developer/tiff/index.html
27
* @author Konstantin Shishkov
28
*/
29
30
#ifndef AVCODEC_TIFF_H
31
#define AVCODEC_TIFF_H
32
33
#include <stdint.h>
34
#include "
tiff_common.h
"
35
36
/** abridged list of TIFF tags */
37
enum
TiffTags
{
38
TIFF_SUBFILE
= 0xfe,
39
TIFF_WIDTH
= 0x100,
40
TIFF_HEIGHT
,
41
TIFF_BPP
,
42
TIFF_COMPR
,
43
TIFF_PHOTOMETRIC
= 0x106,
44
TIFF_FILL_ORDER
= 0x10A,
45
TIFF_DOCUMENT_NAME
= 0x10D,
46
TIFF_IMAGE_DESCRIPTION
= 0x10E,
47
TIFF_MAKE
= 0x10F,
48
TIFF_MODEL
= 0x110,
49
TIFF_STRIP_OFFS
= 0x111,
50
TIFF_SAMPLES_PER_PIXEL
= 0x115,
51
TIFF_ROWSPERSTRIP
= 0x116,
52
TIFF_STRIP_SIZE
,
53
TIFF_XRES
= 0x11A,
54
TIFF_YRES
= 0x11B,
55
TIFF_PLANAR
= 0x11C,
56
TIFF_PAGE_NAME
= 0x11D,
57
TIFF_XPOS
= 0x11E,
58
TIFF_YPOS
= 0x11F,
59
TIFF_T4OPTIONS
= 0x124,
60
TIFF_T6OPTIONS
,
61
TIFF_RES_UNIT
= 0x128,
62
TIFF_PAGE_NUMBER
= 0x129,
63
TIFF_SOFTWARE_NAME
= 0x131,
64
TIFF_DATE
= 0x132,
65
TIFF_ARTIST
= 0x13B,
66
TIFF_HOST_COMPUTER
= 0x13C,
67
TIFF_PREDICTOR
= 0x13D,
68
TIFF_PAL
= 0x140,
69
TIFF_TILE_WIDTH
= 0x142,
70
TIFF_TILE_LENGTH
= 0x143,
71
TIFF_TILE_OFFSETS
= 0x144,
72
TIFF_TILE_BYTE_COUNTS
= 0x145,
73
TIFF_EXTRASAMPLES
= 0x152,
74
TIFF_YCBCR_COEFFICIENTS
= 0x211,
75
TIFF_YCBCR_SUBSAMPLING
= 0x212,
76
TIFF_YCBCR_POSITIONING
= 0x213,
77
TIFF_REFERENCE_BW
= 0x214,
78
TIFF_COPYRIGHT
= 0x8298,
79
TIFF_MODEL_TIEPOINT
= 0x8482,
80
TIFF_MODEL_PIXEL_SCALE
= 0x830E,
81
TIFF_MODEL_TRANSFORMATION
= 0x8480,
82
TIFF_GEO_KEY_DIRECTORY
= 0x87AF,
83
TIFF_GEO_DOUBLE_PARAMS
= 0x87B0,
84
TIFF_GEO_ASCII_PARAMS
= 0x87B1
85
};
86
87
/** list of TIFF compression types */
88
enum
TiffCompr
{
89
TIFF_RAW
= 1,
90
TIFF_CCITT_RLE
,
91
TIFF_G3
,
92
TIFF_G4
,
93
TIFF_LZW
,
94
TIFF_JPEG
,
95
TIFF_NEWJPEG
,
96
TIFF_ADOBE_DEFLATE
,
97
TIFF_PACKBITS
= 0x8005,
98
TIFF_DEFLATE
= 0x80B2,
99
TIFF_LZMA
= 0x886D,
100
};
101
102
enum
TiffGeoTagKey
{
103
TIFF_GT_MODEL_TYPE_GEOKEY
= 1024,
104
TIFF_GT_RASTER_TYPE_GEOKEY
= 1025,
105
TIFF_GT_CITATION_GEOKEY
= 1026,
106
TIFF_GEOGRAPHIC_TYPE_GEOKEY
= 2048,
107
TIFF_GEOG_CITATION_GEOKEY
= 2049,
108
TIFF_GEOG_GEODETIC_DATUM_GEOKEY
= 2050,
109
TIFF_GEOG_PRIME_MERIDIAN_GEOKEY
= 2051,
110
TIFF_GEOG_LINEAR_UNITS_GEOKEY
= 2052,
111
TIFF_GEOG_LINEAR_UNIT_SIZE_GEOKEY
= 2053,
112
TIFF_GEOG_ANGULAR_UNITS_GEOKEY
= 2054,
113
TIFF_GEOG_ANGULAR_UNIT_SIZE_GEOKEY
= 2055,
114
TIFF_GEOG_ELLIPSOID_GEOKEY
= 2056,
115
TIFF_GEOG_SEMI_MAJOR_AXIS_GEOKEY
= 2057,
116
TIFF_GEOG_SEMI_MINOR_AXIS_GEOKEY
= 2058,
117
TIFF_GEOG_INV_FLATTENING_GEOKEY
= 2059,
118
TIFF_GEOG_AZIMUTH_UNITS_GEOKEY
= 2060,
119
TIFF_GEOG_PRIME_MERIDIAN_LONG_GEOKEY
= 2061,
120
TIFF_PROJECTED_CS_TYPE_GEOKEY
= 3072,
121
TIFF_PCS_CITATION_GEOKEY
= 3073,
122
TIFF_PROJECTION_GEOKEY
= 3074,
123
TIFF_PROJ_COORD_TRANS_GEOKEY
= 3075,
124
TIFF_PROJ_LINEAR_UNITS_GEOKEY
= 3076,
125
TIFF_PROJ_LINEAR_UNIT_SIZE_GEOKEY
= 3077,
126
TIFF_PROJ_STD_PARALLEL1_GEOKEY
= 3078,
127
TIFF_PROJ_STD_PARALLEL2_GEOKEY
= 3079,
128
TIFF_PROJ_NAT_ORIGIN_LONG_GEOKEY
= 3080,
129
TIFF_PROJ_NAT_ORIGIN_LAT_GEOKEY
= 3081,
130
TIFF_PROJ_FALSE_EASTING_GEOKEY
= 3082,
131
TIFF_PROJ_FALSE_NORTHING_GEOKEY
= 3083,
132
TIFF_PROJ_FALSE_ORIGIN_LONG_GEOKEY
= 3084,
133
TIFF_PROJ_FALSE_ORIGIN_LAT_GEOKEY
= 3085,
134
TIFF_PROJ_FALSE_ORIGIN_EASTING_GEOKEY
= 3086,
135
TIFF_PROJ_FALSE_ORIGIN_NORTHING_GEOKEY
= 3087,
136
TIFF_PROJ_CENTER_LONG_GEOKEY
= 3088,
137
TIFF_PROJ_CENTER_LAT_GEOKEY
= 3089,
138
TIFF_PROJ_CENTER_EASTING_GEOKEY
= 3090,
139
TIFF_PROJ_CENTER_NORTHING_GEOKEY
= 3091,
140
TIFF_PROJ_SCALE_AT_NAT_ORIGIN_GEOKEY
= 3092,
141
TIFF_PROJ_SCALE_AT_CENTER_GEOKEY
= 3093,
142
TIFF_PROJ_AZIMUTH_ANGLE_GEOKEY
= 3094,
143
TIFF_PROJ_STRAIGHT_VERT_POLE_LONG_GEOKEY
= 3095,
144
TIFF_VERTICAL_CS_TYPE_GEOKEY
= 4096,
145
TIFF_VERTICAL_CITATION_GEOKEY
= 4097,
146
TIFF_VERTICAL_DATUM_GEOKEY
= 4098,
147
TIFF_VERTICAL_UNITS_GEOKEY
= 4099
148
};
149
150
enum
TiffPhotometric
{
151
TIFF_PHOTOMETRIC_NONE
= -1,
152
TIFF_PHOTOMETRIC_WHITE_IS_ZERO
,
/* mono or grayscale, 0 is white */
153
TIFF_PHOTOMETRIC_BLACK_IS_ZERO
,
/* mono or grayscale, 0 is black */
154
TIFF_PHOTOMETRIC_RGB
,
/* RGB or RGBA*/
155
TIFF_PHOTOMETRIC_PALETTE
,
/* Uses a palette */
156
TIFF_PHOTOMETRIC_ALPHA_MASK
,
/* Transparency mask */
157
TIFF_PHOTOMETRIC_SEPARATED
,
/* CMYK or some other ink set */
158
TIFF_PHOTOMETRIC_YCBCR
,
/* YCbCr */
159
TIFF_PHOTOMETRIC_CIE_LAB
= 8,
/* 1976 CIE L*a*b* */
160
TIFF_PHOTOMETRIC_ICC_LAB
,
/* ICC L*a*b* */
161
TIFF_PHOTOMETRIC_ITU_LAB
,
/* ITU L*a*b* */
162
TIFF_PHOTOMETRIC_CFA
= 32803,
/* Color Filter Array (DNG) */
163
TIFF_PHOTOMETRIC_LOG_L
= 32844,
/* CIE Log2(L) */
164
TIFF_PHOTOMETRIC_LOG_LUV
,
/* CIE Log L*u*v* */
165
TIFF_PHOTOMETRIC_LINEAR_RAW
= 34892,
/* Linear Raw (DNG) */
166
};
167
168
enum
TiffGeoTagType
{
169
GEOTIFF_SHORT
= 0,
170
GEOTIFF_DOUBLE
= 34736,
171
GEOTIFF_STRING
= 34737
172
};
173
174
typedef
struct
TiffGeoTag
{
175
enum
TiffGeoTagKey
key
;
176
enum
TiffTags
type
;
177
int
count
;
178
int
offset
;
179
char
*
val
;
180
}
TiffGeoTag
;
181
182
typedef
struct
TiffGeoTagKeyName
{
183
const
enum
TiffGeoTagKey
key
;
184
const
char
*
const
name
;
185
}
TiffGeoTagKeyName
;
186
187
typedef
struct
TiffGeoTagNameType
{
188
const
char
*
const
name
;
189
const
enum
TiffGeoTagType
type
;
190
}
TiffGeoTagNameType
;
191
192
#endif
/* AVCODEC_TIFF_H */
TIFF_YRES
Definition:
tiff.h:54
tiff_common.h
TIFF Common Routines.
TIFF_RAW
Definition:
tiff.h:89
TiffGeoTag::offset
int offset
Definition:
tiff.h:178
TIFF_SOFTWARE_NAME
Definition:
tiff.h:63
TIFF_PHOTOMETRIC_WHITE_IS_ZERO
Definition:
tiff.h:152
TIFF_PACKBITS
Definition:
tiff.h:97
TiffPhotometric
TiffPhotometric
Definition:
tiff.h:150
TIFF_PHOTOMETRIC_LINEAR_RAW
Definition:
tiff.h:165
GEOTIFF_STRING
Definition:
tiff.h:171
TIFF_GEOG_INV_FLATTENING_GEOKEY
Definition:
tiff.h:117
TIFF_GEOG_ANGULAR_UNIT_SIZE_GEOKEY
Definition:
tiff.h:113
TIFF_XRES
Definition:
tiff.h:53
TIFF_LZMA
Definition:
tiff.h:99
TIFF_RES_UNIT
Definition:
tiff.h:61
TiffGeoTagKeyName::name
const char *const name
Definition:
tiff.h:184
TIFF_MAKE
Definition:
tiff.h:47
TIFF_PHOTOMETRIC_RGB
Definition:
tiff.h:154
TIFF_SUBFILE
Definition:
tiff.h:38
TIFF_LZW
Definition:
tiff.h:93
TIFF_G4
Definition:
tiff.h:92
TIFF_STRIP_SIZE
Definition:
tiff.h:52
TIFF_PHOTOMETRIC_SEPARATED
Definition:
tiff.h:157
TiffGeoTag::val
char * val
Definition:
tiff.h:179
TIFF_PROJ_CENTER_NORTHING_GEOKEY
Definition:
tiff.h:139
TIFF_GT_RASTER_TYPE_GEOKEY
Definition:
tiff.h:104
TIFF_GEOG_SEMI_MINOR_AXIS_GEOKEY
Definition:
tiff.h:116
TiffGeoTag
Definition:
tiff.h:174
TIFF_COPYRIGHT
Definition:
tiff.h:78
TIFF_NEWJPEG
Definition:
tiff.h:95
TIFF_PHOTOMETRIC_YCBCR
Definition:
tiff.h:158
TIFF_PHOTOMETRIC_PALETTE
Definition:
tiff.h:155
TIFF_JPEG
Definition:
tiff.h:94
TIFF_GEO_ASCII_PARAMS
Definition:
tiff.h:84
TIFF_GEO_DOUBLE_PARAMS
Definition:
tiff.h:83
TIFF_PAL
Definition:
tiff.h:68
TIFF_GEOG_PRIME_MERIDIAN_GEOKEY
Definition:
tiff.h:109
GEOTIFF_SHORT
Definition:
tiff.h:169
TIFF_DOCUMENT_NAME
Definition:
tiff.h:45
TIFF_GEOG_AZIMUTH_UNITS_GEOKEY
Definition:
tiff.h:118
TIFF_SAMPLES_PER_PIXEL
Definition:
tiff.h:50
TIFF_PROJ_STD_PARALLEL2_GEOKEY
Definition:
tiff.h:127
TIFF_WIDTH
Definition:
tiff.h:39
TIFF_TILE_OFFSETS
Definition:
tiff.h:71
TIFF_FILL_ORDER
Definition:
tiff.h:44
TIFF_ADOBE_DEFLATE
Definition:
tiff.h:96
TIFF_PHOTOMETRIC_ITU_LAB
Definition:
tiff.h:161
TiffGeoTag::key
enum TiffGeoTagKey key
Definition:
tiff.h:175
TiffGeoTagKey
TiffGeoTagKey
Definition:
tiff.h:102
TIFF_T4OPTIONS
Definition:
tiff.h:59
TIFF_PROJ_FALSE_ORIGIN_LONG_GEOKEY
Definition:
tiff.h:132
TIFF_YCBCR_SUBSAMPLING
Definition:
tiff.h:75
TIFF_EXTRASAMPLES
Definition:
tiff.h:73
TIFF_PROJECTION_GEOKEY
Definition:
tiff.h:122
TIFF_PROJ_LINEAR_UNITS_GEOKEY
Definition:
tiff.h:124
TiffGeoTagNameType
Definition:
tiff.h:187
TIFF_PROJ_SCALE_AT_NAT_ORIGIN_GEOKEY
Definition:
tiff.h:140
TIFF_MODEL_TRANSFORMATION
Definition:
tiff.h:81
TIFF_MODEL
Definition:
tiff.h:48
TIFF_PHOTOMETRIC_ALPHA_MASK
Definition:
tiff.h:156
TIFF_PCS_CITATION_GEOKEY
Definition:
tiff.h:121
TIFF_GEOG_PRIME_MERIDIAN_LONG_GEOKEY
Definition:
tiff.h:119
TIFF_PROJ_LINEAR_UNIT_SIZE_GEOKEY
Definition:
tiff.h:125
TIFF_HOST_COMPUTER
Definition:
tiff.h:66
TIFF_PROJ_FALSE_ORIGIN_NORTHING_GEOKEY
Definition:
tiff.h:135
TIFF_GEOG_GEODETIC_DATUM_GEOKEY
Definition:
tiff.h:108
TIFF_PROJ_STRAIGHT_VERT_POLE_LONG_GEOKEY
Definition:
tiff.h:143
TIFF_T6OPTIONS
Definition:
tiff.h:60
TIFF_GEOGRAPHIC_TYPE_GEOKEY
Definition:
tiff.h:106
TIFF_VERTICAL_CS_TYPE_GEOKEY
Definition:
tiff.h:144
TIFF_PHOTOMETRIC_BLACK_IS_ZERO
Definition:
tiff.h:153
TIFF_PHOTOMETRIC_LOG_L
Definition:
tiff.h:163
TIFF_MODEL_PIXEL_SCALE
Definition:
tiff.h:80
TIFF_PLANAR
Definition:
tiff.h:55
TIFF_PROJ_NAT_ORIGIN_LAT_GEOKEY
Definition:
tiff.h:129
TIFF_PROJ_CENTER_LAT_GEOKEY
Definition:
tiff.h:137
TIFF_PAGE_NAME
Definition:
tiff.h:56
TIFF_BPP
Definition:
tiff.h:41
TiffCompr
TiffCompr
list of TIFF compression types
Definition:
tiff.h:88
TiffGeoTagType
TiffGeoTagType
Definition:
tiff.h:168
TIFF_DEFLATE
Definition:
tiff.h:98
GEOTIFF_DOUBLE
Definition:
tiff.h:170
TIFF_IMAGE_DESCRIPTION
Definition:
tiff.h:46
TIFF_PREDICTOR
Definition:
tiff.h:67
TIFF_REFERENCE_BW
Definition:
tiff.h:77
TIFF_G3
Definition:
tiff.h:91
TIFF_GEO_KEY_DIRECTORY
Definition:
tiff.h:82
TIFF_PROJ_FALSE_NORTHING_GEOKEY
Definition:
tiff.h:131
TIFF_VERTICAL_UNITS_GEOKEY
Definition:
tiff.h:147
TIFF_PROJ_NAT_ORIGIN_LONG_GEOKEY
Definition:
tiff.h:128
TIFF_PROJECTED_CS_TYPE_GEOKEY
Definition:
tiff.h:120
TIFF_PROJ_FALSE_ORIGIN_LAT_GEOKEY
Definition:
tiff.h:133
TIFF_VERTICAL_DATUM_GEOKEY
Definition:
tiff.h:146
TIFF_MODEL_TIEPOINT
Definition:
tiff.h:79
TIFF_PHOTOMETRIC_CIE_LAB
Definition:
tiff.h:159
TIFF_ARTIST
Definition:
tiff.h:65
TIFF_GEOG_LINEAR_UNITS_GEOKEY
Definition:
tiff.h:110
TIFF_GEOG_ANGULAR_UNITS_GEOKEY
Definition:
tiff.h:112
TIFF_TILE_LENGTH
Definition:
tiff.h:70
TiffGeoTag::count
int count
Definition:
tiff.h:177
TiffGeoTag::type
enum TiffTags type
Definition:
tiff.h:176
TIFF_COMPR
Definition:
tiff.h:42
TIFF_YCBCR_COEFFICIENTS
Definition:
tiff.h:74
TIFF_GEOG_CITATION_GEOKEY
Definition:
tiff.h:107
TIFF_YPOS
Definition:
tiff.h:58
TIFF_PHOTOMETRIC_LOG_LUV
Definition:
tiff.h:164
TIFF_YCBCR_POSITIONING
Definition:
tiff.h:76
TIFF_PROJ_FALSE_ORIGIN_EASTING_GEOKEY
Definition:
tiff.h:134
TIFF_PHOTOMETRIC_CFA
Definition:
tiff.h:162
TIFF_GT_MODEL_TYPE_GEOKEY
Definition:
tiff.h:103
TIFF_PROJ_CENTER_EASTING_GEOKEY
Definition:
tiff.h:138
TIFF_VERTICAL_CITATION_GEOKEY
Definition:
tiff.h:145
TIFF_PROJ_FALSE_EASTING_GEOKEY
Definition:
tiff.h:130
TIFF_PROJ_SCALE_AT_CENTER_GEOKEY
Definition:
tiff.h:141
TIFF_PROJ_AZIMUTH_ANGLE_GEOKEY
Definition:
tiff.h:142
TiffGeoTagKeyName
Definition:
tiff.h:182
TIFF_STRIP_OFFS
Definition:
tiff.h:49
TIFF_TILE_WIDTH
Definition:
tiff.h:69
TIFF_HEIGHT
Definition:
tiff.h:40
TIFF_PHOTOMETRIC_ICC_LAB
Definition:
tiff.h:160
TIFF_ROWSPERSTRIP
Definition:
tiff.h:51
TIFF_GEOG_ELLIPSOID_GEOKEY
Definition:
tiff.h:114
TIFF_PROJ_CENTER_LONG_GEOKEY
Definition:
tiff.h:136
TIFF_GEOG_LINEAR_UNIT_SIZE_GEOKEY
Definition:
tiff.h:111
TIFF_GEOG_SEMI_MAJOR_AXIS_GEOKEY
Definition:
tiff.h:115
TiffGeoTagNameType::name
const char *const name
Definition:
tiff.h:188
TIFF_PAGE_NUMBER
Definition:
tiff.h:62
TIFF_PROJ_COORD_TRANS_GEOKEY
Definition:
tiff.h:123
TIFF_PHOTOMETRIC
Definition:
tiff.h:43
TIFF_CCITT_RLE
Definition:
tiff.h:90
TIFF_PROJ_STD_PARALLEL1_GEOKEY
Definition:
tiff.h:126
TIFF_DATE
Definition:
tiff.h:64
TIFF_TILE_BYTE_COUNTS
Definition:
tiff.h:72
TiffTags
TiffTags
abridged list of TIFF tags
Definition:
tiff.h:37
TIFF_XPOS
Definition:
tiff.h:57
TIFF_PHOTOMETRIC_NONE
Definition:
tiff.h:151
TIFF_GT_CITATION_GEOKEY
Definition:
tiff.h:105
Generated on Tue May 22 2018 07:06:42 for FFmpeg by
1.8.13