]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/blob - libavcodec/tiff.h
Fix segault
[frescor/ffmpeg.git] / libavcodec / tiff.h
1 /*
2  * TIFF tables
3  * Copyright (c) 2006 Konstantin Shishkov
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21
22 /**
23  * TIFF tables
24  * @file libavcodec/tiff.h
25  * @author Konstantin Shishkov
26  */
27 #ifndef AVCODEC_TIFF_H
28 #define AVCODEC_TIFF_H
29
30 #include <stdint.h>
31
32 /** abridged list of TIFF tags */
33 enum TiffTags{
34     TIFF_SUBFILE = 0xfe,
35     TIFF_WIDTH = 0x100,
36     TIFF_HEIGHT,
37     TIFF_BPP,
38     TIFF_COMPR,
39     TIFF_INVERT = 0x106,
40     TIFF_STRIP_OFFS = 0x111,
41     TIFF_SAMPLES_PER_PIXEL = 0x115,
42     TIFF_ROWSPERSTRIP = 0x116,
43     TIFF_STRIP_SIZE,
44     TIFF_XRES = 0x11A,
45     TIFF_YRES = 0x11B,
46     TIFF_PLANAR = 0x11C,
47     TIFF_XPOS = 0x11E,
48     TIFF_YPOS = 0x11F,
49     TIFF_T4OPTIONS = 0x124,
50     TIFF_T6OPTIONS,
51     TIFF_RES_UNIT = 0x128,
52     TIFF_SOFTWARE_NAME = 0x131,
53     TIFF_PREDICTOR = 0x13D,
54     TIFF_PAL = 0x140,
55     TIFF_YCBCR_COEFFICIENTS = 0x211,
56     TIFF_YCBCR_SUBSAMPLING = 0x212,
57     TIFF_YCBCR_POSITIONING = 0x213,
58     TIFF_REFERENCE_BW = 0x214,
59 };
60
61 /** list of TIFF compression types */
62 enum TiffCompr{
63     TIFF_RAW = 1,
64     TIFF_CCITT_RLE,
65     TIFF_G3,
66     TIFF_G4,
67     TIFF_LZW,
68     TIFF_JPEG,
69     TIFF_NEWJPEG,
70     TIFF_ADOBE_DEFLATE,
71     TIFF_PACKBITS = 0x8005,
72     TIFF_DEFLATE = 0x80B2
73 };
74
75 enum TiffTypes{
76     TIFF_BYTE = 1,
77     TIFF_STRING,
78     TIFF_SHORT,
79     TIFF_LONG,
80     TIFF_RATIONAL,
81 };
82
83 /** sizes of various TIFF field types (string size = 100)*/
84 static const uint8_t type_sizes[6] = {
85     0, 1, 100, 2, 4, 8
86 };
87
88 #endif /* AVCODEC_TIFF_H */