]> git.sesse.net Git - ffmpeg/blob - libavcodec/tiff.h
lavc: move SANE_NB_CHANNELS to internal.h and use it in the PCM decoders
[ffmpeg] / libavcodec / tiff.h
1 /*
2  * TIFF tables
3  * Copyright (c) 2006 Konstantin Shishkov
4  *
5  * This file is part of Libav.
6  *
7  * Libav 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  * Libav 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 Libav; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21
22 /**
23  * @file
24  * TIFF tables
25  * @author Konstantin Shishkov
26  */
27
28 #ifndef AVCODEC_TIFF_H
29 #define AVCODEC_TIFF_H
30
31 #include <stdint.h>
32
33 /** abridged list of TIFF tags */
34 enum TiffTags{
35     TIFF_SUBFILE = 0xfe,
36     TIFF_WIDTH = 0x100,
37     TIFF_HEIGHT,
38     TIFF_BPP,
39     TIFF_COMPR,
40     TIFF_INVERT = 0x106,
41     TIFF_FILL_ORDER = 0x10A,
42     TIFF_STRIP_OFFS = 0x111,
43     TIFF_SAMPLES_PER_PIXEL = 0x115,
44     TIFF_ROWSPERSTRIP = 0x116,
45     TIFF_STRIP_SIZE,
46     TIFF_XRES = 0x11A,
47     TIFF_YRES = 0x11B,
48     TIFF_PLANAR = 0x11C,
49     TIFF_XPOS = 0x11E,
50     TIFF_YPOS = 0x11F,
51     TIFF_T4OPTIONS = 0x124,
52     TIFF_T6OPTIONS,
53     TIFF_RES_UNIT = 0x128,
54     TIFF_SOFTWARE_NAME = 0x131,
55     TIFF_PREDICTOR = 0x13D,
56     TIFF_PAL = 0x140,
57     TIFF_YCBCR_COEFFICIENTS = 0x211,
58     TIFF_YCBCR_SUBSAMPLING = 0x212,
59     TIFF_YCBCR_POSITIONING = 0x213,
60     TIFF_REFERENCE_BW = 0x214,
61 };
62
63 /** list of TIFF compression types */
64 enum TiffCompr{
65     TIFF_RAW = 1,
66     TIFF_CCITT_RLE,
67     TIFF_G3,
68     TIFF_G4,
69     TIFF_LZW,
70     TIFF_JPEG,
71     TIFF_NEWJPEG,
72     TIFF_ADOBE_DEFLATE,
73     TIFF_PACKBITS = 0x8005,
74     TIFF_DEFLATE = 0x80B2
75 };
76
77 enum TiffTypes{
78     TIFF_BYTE = 1,
79     TIFF_STRING,
80     TIFF_SHORT,
81     TIFF_LONG,
82     TIFF_RATIONAL,
83 };
84
85 /** sizes of various TIFF field types (string size = 100)*/
86 static const uint8_t type_sizes[6] = {
87     0, 1, 100, 2, 4, 8
88 };
89
90 #endif /* AVCODEC_TIFF_H */