1 /* jpeg-marker.h
2  *
3  * Copyright (c) 2001 Lutz Mueller <lutz@users.sourceforge.net>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA  02110-1301  USA.
19  */
20 #ifndef __JPEG_MARKER_H__
21 #define __JPEG_MARKER_H__
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif /* __cplusplus */
26 
27 typedef enum {
28         JPEG_MARKER_SOF0        = 0xc0,
29         JPEG_MARKER_SOF1        = 0xc1,
30         JPEG_MARKER_SOF2        = 0xc2,
31         JPEG_MARKER_SOF3        = 0xc3,
32 	JPEG_MARKER_DHT		= 0xc4,
33         JPEG_MARKER_SOF5        = 0xc5,
34         JPEG_MARKER_SOF6        = 0xc6,
35         JPEG_MARKER_SOF7        = 0xc7,
36 	JPEG_MARKER_JPG		= 0xc8,
37         JPEG_MARKER_SOF9        = 0xc9,
38         JPEG_MARKER_SOF10       = 0xca,
39         JPEG_MARKER_SOF11       = 0xcb,
40 	JPEG_MARKER_DAC		= 0xcc,
41         JPEG_MARKER_SOF13       = 0xcd,
42         JPEG_MARKER_SOF14       = 0xce,
43         JPEG_MARKER_SOF15       = 0xcf,
44         JPEG_MARKER_RST0	= 0xd0,
45         JPEG_MARKER_RST1	= 0xd1,
46         JPEG_MARKER_RST2	= 0xd2,
47         JPEG_MARKER_RST3	= 0xd3,
48         JPEG_MARKER_RST4	= 0xd4,
49 	JPEG_MARKER_RST5	= 0xd5,
50         JPEG_MARKER_RST6	= 0xd6,
51         JPEG_MARKER_RST7	= 0xd7,
52         JPEG_MARKER_SOI         = 0xd8,
53         JPEG_MARKER_EOI         = 0xd9,
54         JPEG_MARKER_SOS         = 0xda,
55         JPEG_MARKER_DQT		= 0xdb,
56         JPEG_MARKER_DNL		= 0xdc,
57         JPEG_MARKER_DRI		= 0xdd,
58         JPEG_MARKER_DHP		= 0xde,
59         JPEG_MARKER_EXP		= 0xdf,
60 	JPEG_MARKER_APP0	= 0xe0,
61         JPEG_MARKER_APP1        = 0xe1,
62 	JPEG_MARKER_APP2        = 0xe2,
63 	JPEG_MARKER_APP3        = 0xe3,
64 	JPEG_MARKER_APP4        = 0xe4,
65 	JPEG_MARKER_APP5        = 0xe5,
66 	JPEG_MARKER_APP6        = 0xe6,
67 	JPEG_MARKER_APP7        = 0xe7,
68 	JPEG_MARKER_APP8        = 0xe8,
69 	JPEG_MARKER_APP9        = 0xe9,
70 	JPEG_MARKER_APP10       = 0xea,
71 	JPEG_MARKER_APP11       = 0xeb,
72 	JPEG_MARKER_APP12       = 0xec,
73 	JPEG_MARKER_APP13       = 0xed,
74 	JPEG_MARKER_APP14       = 0xee,
75 	JPEG_MARKER_APP15       = 0xef,
76 	JPEG_MARKER_JPG0	= 0xf0,
77 	JPEG_MARKER_JPG1	= 0xf1,
78 	JPEG_MARKER_JPG2	= 0xf2,
79 	JPEG_MARKER_JPG3	= 0xf3,
80 	JPEG_MARKER_JPG4	= 0xf4,
81 	JPEG_MARKER_JPG5	= 0xf5,
82 	JPEG_MARKER_JPG6	= 0xf6,
83 	JPEG_MARKER_JPG7	= 0xf7,
84 	JPEG_MARKER_JPG8	= 0xf8,
85 	JPEG_MARKER_JPG9	= 0xf9,
86 	JPEG_MARKER_JPG10	= 0xfa,
87 	JPEG_MARKER_JPG11	= 0xfb,
88 	JPEG_MARKER_JPG12	= 0xfc,
89 	JPEG_MARKER_JPG13	= 0xfd,
90         JPEG_MARKER_COM         = 0xfe
91 } JPEGMarker;
92 
93 #define JPEG_IS_MARKER(m) (((m) >= JPEG_MARKER_SOF0) &&		\
94 			   ((m) <= JPEG_MARKER_COM))
95 
96 const char *jpeg_marker_get_name        (JPEGMarker marker);
97 const char *jpeg_marker_get_description (JPEGMarker marker);
98 
99 #ifdef __cplusplus
100 }
101 #endif /* __cplusplus */
102 
103 #endif /* __JPEG_MARKER_H__ */
104