]> git.sesse.net Git - ffmpeg/blob - libavcodec/tiff.h
Check available size before writing in decode_frame()
[ffmpeg] / 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 tiff.h
25  * @author Konstantin Shishkov
26  */
27 #ifndef FFMPEG_TIFF_H
28 #define FFMPEG_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_RES_UNIT = 0x128,
50     TIFF_SOFTWARE_NAME = 0x131,
51     TIFF_PREDICTOR = 0x13D,
52     TIFF_PAL = 0x140,
53     TIFF_YCBCR_COEFFICIENTS = 0x211,
54     TIFF_YCBCR_SUBSAMPLING = 0x212,
55     TIFF_YCBCR_POSITIONING = 0x213,
56     TIFF_REFERENCE_BW = 0x214,
57 };
58
59 /** list of TIFF compression types */
60 enum TiffCompr{
61     TIFF_RAW = 1,
62     TIFF_CCITT_RLE,
63     TIFF_G3,
64     TIFF_G4,
65     TIFF_LZW,
66     TIFF_JPEG,
67     TIFF_NEWJPEG,
68     TIFF_ADOBE_DEFLATE,
69     TIFF_PACKBITS = 0x8005,
70     TIFF_DEFLATE = 0x80B2
71 };
72
73 enum TiffTypes{
74     TIFF_BYTE = 1,
75     TIFF_STRING,
76     TIFF_SHORT,
77     TIFF_LONG,
78     TIFF_RATIONAL,
79 };
80
81 /** sizes of various TIFF field types (string size = 100)*/
82 static const uint8_t type_sizes[6] = {
83     0, 1, 100, 2, 4, 8
84 };
85
86 #endif /* FFMPEG_TIFF_H */