FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
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
TiffGeoTagKeyName::key
enum TiffGeoTagKey key
Definition:
tiff.h:183
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
TiffGeoTagNameType::type
enum TiffGeoTagType type
Definition:
tiff.h:189
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 Fri Jan 12 2018 01:45:47 for FFmpeg by
1.8.6