blob: b2f5923217513eafb246fa718ae7b520e620e9a9 [file] [log] [blame]
Stefan Reinauerd650e992010-02-22 04:33:13 +00001/*
2 * This file is part of the coreboot project.
Uwe Hermann548dbe72010-02-22 16:41:49 +00003 *
4 * Copyright (C) 2001 Michael Schroeder
Stefan Reinauerd650e992010-02-22 04:33:13 +00005 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
Uwe Hermann548dbe72010-02-22 16:41:49 +00008 * published by the Free Software Foundation; version 2 of the License.
Stefan Reinauerd650e992010-02-22 04:33:13 +00009 *
10 * This program 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
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
Uwe Hermann548dbe72010-02-22 16:41:49 +000017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Stefan Reinauerd650e992010-02-22 04:33:13 +000018 */
19
20/*
21 * a tiny jpeg decoder.
22 *
23 * written in August 2001 by Michael Schroeder <mls@suse.de>
24 */
25
26#ifndef __JPEG_H
27#define __JPEG_H
28
29#define ERR_NO_SOI 1
30#define ERR_NOT_8BIT 2
31#define ERR_HEIGHT_MISMATCH 3
32#define ERR_WIDTH_MISMATCH 4
33#define ERR_BAD_WIDTH_OR_HEIGHT 5
34#define ERR_TOO_MANY_COMPPS 6
35#define ERR_ILLEGAL_HV 7
36#define ERR_QUANT_TABLE_SELECTOR 8
37#define ERR_NOT_YCBCR_221111 9
38#define ERR_UNKNOWN_CID_IN_SCAN 10
39#define ERR_NOT_SEQUENTIAL_DCT 11
40#define ERR_WRONG_MARKER 12
41#define ERR_NO_EOI 13
42#define ERR_BAD_TABLES 14
43#define ERR_DEPTH_MISMATCH 15
44
45struct jpeg_decdata {
46 int dcts[6 * 64 + 16];
47 int out[64 * 6];
48 int dquant[3][64];
49};
50
51int jpeg_decode(unsigned char *, unsigned char *, int, int, int, struct jpeg_decdata *);
52int jpeg_check_size(unsigned char *, int, int);
53
54#endif