blob: cc2c65ddc8d17badeaf906192c41925f52e7d35b [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.
Stefan Reinauerd650e992010-02-22 04:33:13 +000014 */
15
16/*
17 * a tiny jpeg decoder.
18 *
19 * written in August 2001 by Michael Schroeder <mls@suse.de>
20 */
21
22#ifndef __JPEG_H
23#define __JPEG_H
24
25#define ERR_NO_SOI 1
26#define ERR_NOT_8BIT 2
27#define ERR_HEIGHT_MISMATCH 3
28#define ERR_WIDTH_MISMATCH 4
29#define ERR_BAD_WIDTH_OR_HEIGHT 5
30#define ERR_TOO_MANY_COMPPS 6
31#define ERR_ILLEGAL_HV 7
32#define ERR_QUANT_TABLE_SELECTOR 8
33#define ERR_NOT_YCBCR_221111 9
34#define ERR_UNKNOWN_CID_IN_SCAN 10
35#define ERR_NOT_SEQUENTIAL_DCT 11
36#define ERR_WRONG_MARKER 12
37#define ERR_NO_EOI 13
38#define ERR_BAD_TABLES 14
39#define ERR_DEPTH_MISMATCH 15
40
41struct jpeg_decdata {
42 int dcts[6 * 64 + 16];
43 int out[64 * 6];
44 int dquant[3][64];
45};
46
Lee Leahy73402172017-03-10 15:23:24 -080047int jpeg_decode(unsigned char *, unsigned char *, int, int, int,
48 struct jpeg_decdata *);
Patrick Georgi246179a2015-08-09 18:23:10 +020049void jpeg_fetch_size(unsigned char *buf, int *width, int *height);
Stefan Reinauerd650e992010-02-22 04:33:13 +000050int jpeg_check_size(unsigned char *, int, int);
51
52#endif