blob: fdb2defab7026d99834ae721cd0b6abe3e0517b9 [file] [log] [blame]
Angel Pons118a9c72020-04-02 23:48:34 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Stefan Reinauerd650e992010-02-22 04:33:13 +00002
3/*
4 * a tiny jpeg decoder.
5 *
6 * written in August 2001 by Michael Schroeder <mls@suse.de>
7 */
8
9#ifndef __JPEG_H
10#define __JPEG_H
11
12#define ERR_NO_SOI 1
13#define ERR_NOT_8BIT 2
14#define ERR_HEIGHT_MISMATCH 3
15#define ERR_WIDTH_MISMATCH 4
16#define ERR_BAD_WIDTH_OR_HEIGHT 5
17#define ERR_TOO_MANY_COMPPS 6
18#define ERR_ILLEGAL_HV 7
19#define ERR_QUANT_TABLE_SELECTOR 8
20#define ERR_NOT_YCBCR_221111 9
21#define ERR_UNKNOWN_CID_IN_SCAN 10
22#define ERR_NOT_SEQUENTIAL_DCT 11
23#define ERR_WRONG_MARKER 12
24#define ERR_NO_EOI 13
25#define ERR_BAD_TABLES 14
26#define ERR_DEPTH_MISMATCH 15
27
28struct jpeg_decdata {
29 int dcts[6 * 64 + 16];
30 int out[64 * 6];
31 int dquant[3][64];
32};
33
Nico Huber99eee162023-07-14 00:09:00 +020034int jpeg_decode(unsigned char *, unsigned char *, int, int, int, int, struct jpeg_decdata *);
Patrick Georgi246179a2015-08-09 18:23:10 +020035void jpeg_fetch_size(unsigned char *buf, int *width, int *height);
Stefan Reinauerd650e992010-02-22 04:33:13 +000036int jpeg_check_size(unsigned char *, int, int);
37
38#endif