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
};
100
101
enum
TiffGeoTagKey
{
102
TIFF_GT_MODEL_TYPE_GEOKEY
= 1024,
103
TIFF_GT_RASTER_TYPE_GEOKEY
= 1025,
104
TIFF_GT_CITATION_GEOKEY
= 1026,
105
TIFF_GEOGRAPHIC_TYPE_GEOKEY
= 2048,
106
TIFF_GEOG_CITATION_GEOKEY
= 2049,
107
TIFF_GEOG_GEODETIC_DATUM_GEOKEY
= 2050,
108
TIFF_GEOG_PRIME_MERIDIAN_GEOKEY
= 2051,
109
TIFF_GEOG_LINEAR_UNITS_GEOKEY
= 2052,
110
TIFF_GEOG_LINEAR_UNIT_SIZE_GEOKEY
= 2053,
111
TIFF_GEOG_ANGULAR_UNITS_GEOKEY
= 2054,
112
TIFF_GEOG_ANGULAR_UNIT_SIZE_GEOKEY
= 2055,
113
TIFF_GEOG_ELLIPSOID_GEOKEY
= 2056,
114
TIFF_GEOG_SEMI_MAJOR_AXIS_GEOKEY
= 2057,
115
TIFF_GEOG_SEMI_MINOR_AXIS_GEOKEY
= 2058,
116
TIFF_GEOG_INV_FLATTENING_GEOKEY
= 2059,
117
TIFF_GEOG_AZIMUTH_UNITS_GEOKEY
= 2060,
118
TIFF_GEOG_PRIME_MERIDIAN_LONG_GEOKEY
= 2061,
119
TIFF_PROJECTED_CS_TYPE_GEOKEY
= 3072,
120
TIFF_PCS_CITATION_GEOKEY
= 3073,
121
TIFF_PROJECTION_GEOKEY
= 3074,
122
TIFF_PROJ_COORD_TRANS_GEOKEY
= 3075,
123
TIFF_PROJ_LINEAR_UNITS_GEOKEY
= 3076,
124
TIFF_PROJ_LINEAR_UNIT_SIZE_GEOKEY
= 3077,
125
TIFF_PROJ_STD_PARALLEL1_GEOKEY
= 3078,
126
TIFF_PROJ_STD_PARALLEL2_GEOKEY
= 3079,
127
TIFF_PROJ_NAT_ORIGIN_LONG_GEOKEY
= 3080,
128
TIFF_PROJ_NAT_ORIGIN_LAT_GEOKEY
= 3081,
129
TIFF_PROJ_FALSE_EASTING_GEOKEY
= 3082,
130
TIFF_PROJ_FALSE_NORTHING_GEOKEY
= 3083,
131
TIFF_PROJ_FALSE_ORIGIN_LONG_GEOKEY
= 3084,
132
TIFF_PROJ_FALSE_ORIGIN_LAT_GEOKEY
= 3085,
133
TIFF_PROJ_FALSE_ORIGIN_EASTING_GEOKEY
= 3086,
134
TIFF_PROJ_FALSE_ORIGIN_NORTHING_GEOKEY
= 3087,
135
TIFF_PROJ_CENTER_LONG_GEOKEY
= 3088,
136
TIFF_PROJ_CENTER_LAT_GEOKEY
= 3089,
137
TIFF_PROJ_CENTER_EASTING_GEOKEY
= 3090,
138
TIFF_PROJ_CENTER_NORTHING_GEOKEY
= 3091,
139
TIFF_PROJ_SCALE_AT_NAT_ORIGIN_GEOKEY
= 3092,
140
TIFF_PROJ_SCALE_AT_CENTER_GEOKEY
= 3093,
141
TIFF_PROJ_AZIMUTH_ANGLE_GEOKEY
= 3094,
142
TIFF_PROJ_STRAIGHT_VERT_POLE_LONG_GEOKEY
= 3095,
143
TIFF_VERTICAL_CS_TYPE_GEOKEY
= 4096,
144
TIFF_VERTICAL_CITATION_GEOKEY
= 4097,
145
TIFF_VERTICAL_DATUM_GEOKEY
= 4098,
146
TIFF_VERTICAL_UNITS_GEOKEY
= 4099
147
};
148
149
enum
TiffPhotometric
{
150
TIFF_PHOTOMETRIC_NONE
= -1,
151
TIFF_PHOTOMETRIC_WHITE_IS_ZERO
,
/* mono or grayscale, 0 is white */
152
TIFF_PHOTOMETRIC_BLACK_IS_ZERO
,
/* mono or grayscale, 0 is black */
153
TIFF_PHOTOMETRIC_RGB
,
/* RGB or RGBA*/
154
TIFF_PHOTOMETRIC_PALETTE
,
/* Uses a palette */
155
TIFF_PHOTOMETRIC_ALPHA_MASK
,
/* Transparency mask */
156
TIFF_PHOTOMETRIC_SEPARATED
,
/* CMYK or some other ink set */
157
TIFF_PHOTOMETRIC_YCBCR
,
/* YCbCr */
158
TIFF_PHOTOMETRIC_CIE_LAB
= 8,
/* 1976 CIE L*a*b* */
159
TIFF_PHOTOMETRIC_ICC_LAB
,
/* ICC L*a*b* */
160
TIFF_PHOTOMETRIC_ITU_LAB
,
/* ITU L*a*b* */
161
TIFF_PHOTOMETRIC_CFA
= 32803,
/* Color Filter Array (DNG) */
162
TIFF_PHOTOMETRIC_LOG_L
= 32844,
/* CIE Log2(L) */
163
TIFF_PHOTOMETRIC_LOG_LUV
,
/* CIE Log L*u*v* */
164
TIFF_PHOTOMETRIC_LINEAR_RAW
= 34892,
/* Linear Raw (DNG) */
165
};
166
167
enum
TiffGeoTagType
{
168
GEOTIFF_SHORT
= 0,
169
GEOTIFF_DOUBLE
= 34736,
170
GEOTIFF_STRING
= 34737
171
};
172
173
typedef
struct
TiffGeoTag
{
174
enum
TiffGeoTagKey
key
;
175
enum
TiffTags
type
;
176
int
count
;
177
int
offset
;
178
char
*
val
;
179
}
TiffGeoTag
;
180
181
typedef
struct
TiffGeoTagKeyName
{
182
const
enum
TiffGeoTagKey
key
;
183
const
char
*
const
name
;
184
}
TiffGeoTagKeyName
;
185
186
typedef
struct
TiffGeoTagNameType
{
187
const
char
*
const
name
;
188
const
enum
TiffGeoTagType
type
;
189
}
TiffGeoTagNameType
;
190
191
#endif
/* AVCODEC_TIFF_H */
Generated on Sun Jul 20 2014 23:05:55 for FFmpeg by
1.8.2