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 */
Generated on Fri Dec 5 2014 04:42:02 for FFmpeg by
1.8.2