1*5fc19323SFrançois Revol /* 2*5fc19323SFrançois Revol * linux/drivers/video/bootsplash/decode-jpg.h - a tiny jpeg decoder. 3*5fc19323SFrançois Revol * 4*5fc19323SFrançois Revol * (w) August 2001 by Michael Schroeder, <mls@suse.de> 5*5fc19323SFrançois Revol */ 6*5fc19323SFrançois Revol 7*5fc19323SFrançois Revol #ifndef __DECODE_JPG_H 8*5fc19323SFrançois Revol #define __DECODE_JPG_H 9*5fc19323SFrançois Revol 10*5fc19323SFrançois Revol #define ERR_NO_SOI 1 11*5fc19323SFrançois Revol #define ERR_NOT_8BIT 2 12*5fc19323SFrançois Revol #define ERR_HEIGHT_MISMATCH 3 13*5fc19323SFrançois Revol #define ERR_WIDTH_MISMATCH 4 14*5fc19323SFrançois Revol #define ERR_BAD_WIDTH_OR_HEIGHT 5 15*5fc19323SFrançois Revol #define ERR_TOO_MANY_COMPPS 6 16*5fc19323SFrançois Revol #define ERR_ILLEGAL_HV 7 17*5fc19323SFrançois Revol #define ERR_QUANT_TABLE_SELECTOR 8 18*5fc19323SFrançois Revol #define ERR_NOT_YCBCR_221111 9 19*5fc19323SFrançois Revol #define ERR_UNKNOWN_CID_IN_SCAN 10 20*5fc19323SFrançois Revol #define ERR_NOT_SEQUENTIAL_DCT 11 21*5fc19323SFrançois Revol #define ERR_WRONG_MARKER 12 22*5fc19323SFrançois Revol #define ERR_NO_EOI 13 23*5fc19323SFrançois Revol #define ERR_BAD_TABLES 14 24*5fc19323SFrançois Revol #define ERR_DEPTH_MISMATCH 15 25*5fc19323SFrançois Revol 26*5fc19323SFrançois Revol struct jpeg_decdata { 27*5fc19323SFrançois Revol int dcts[6 * 64 + 16]; 28*5fc19323SFrançois Revol int out[64 * 6]; 29*5fc19323SFrançois Revol int dquant[3][64]; 30*5fc19323SFrançois Revol }; 31*5fc19323SFrançois Revol 32*5fc19323SFrançois Revol extern int jpeg_decode(unsigned char *, unsigned char *, int, int, int, 33*5fc19323SFrançois Revol struct jpeg_decdata *); 34*5fc19323SFrançois Revol extern int jpeg_check_size(unsigned char *, int, int); 35*5fc19323SFrançois Revol 36*5fc19323SFrançois Revol #endif 37