FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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,
43  TIFF_INVERT = 0x106,
44  TIFF_FILL_ORDER = 0x10A,
47  TIFF_MAKE = 0x10F,
48  TIFF_MODEL = 0x110,
49  TIFF_STRIP_OFFS = 0x111,
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,
61  TIFF_RES_UNIT = 0x128,
64  TIFF_DATE = 0x132,
65  TIFF_ARTIST = 0x13B,
67  TIFF_PREDICTOR = 0x13D,
68  TIFF_PAL = 0x140,
69  TIFF_TILE_WIDTH = 0x142,
78  TIFF_COPYRIGHT = 0x8298,
85 };
86 
87 /** list of TIFF compression types */
88 enum TiffCompr {
89  TIFF_RAW = 1,
97  TIFF_PACKBITS = 0x8005,
98  TIFF_DEFLATE = 0x80B2
99 };
100 
147 };
148 
151  GEOTIFF_DOUBLE = 34736,
153 };
154 
155 typedef struct TiffGeoTag {
158  int count;
159  int offset;
160  char *val;
161 } TiffGeoTag;
162 
163 typedef struct TiffGeoTagKeyName {
164  const enum TiffGeoTagKey key;
165  const char *const name;
167 
168 typedef struct TiffGeoTagNameType {
169  const char *const name;
170  const enum TiffGeoTagType type;
172 
173 #endif /* AVCODEC_TIFF_H */