Home | History | Annotate | Download | only in decode
      1 /*
      2  * Small jpeg decoder library (header file)
      3  *
      4  * Copyright (c) 2006, Luc Saillard <luc (at) saillard.org>
      5  * Copyright (c) 2012 Intel Corporation.
      6  * All rights reserved.
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions are met:
      9  *
     10  * - Redistributions of source code must retain the above copyright notice,
     11  *  this list of conditions and the following disclaimer.
     12  *
     13  * - Redistributions in binary form must reproduce the above copyright notice,
     14  *  this list of conditions and the following disclaimer in the documentation
     15  *  and/or other materials provided with the distribution.
     16  *
     17  * - Neither the name of the author nor the names of its contributors may be
     18  *  used to endorse or promote products derived from this software without
     19  *  specific prior written permission.
     20  *
     21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
     25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     31  * POSSIBILITY OF SUCH DAMAGE.
     32  *
     33  */
     34 
     35 
     36 #ifndef __JPEGDEC_H__
     37 #define __JPEGDEC_H__
     38 
     39 #ifdef __cplusplus
     40 extern "C" {
     41 #endif
     42 
     43 struct jdec_private;
     44 
     45 /* Flags that can be set by any applications */
     46 #define TINYJPEG_FLAGS_MJPEG_TABLE	(1<<1)
     47 
     48 /* Format accepted in outout */
     49 enum tinyjpeg_fmt {
     50    TINYJPEG_FMT_GREY = 1,
     51    TINYJPEG_FMT_BGR24,
     52    TINYJPEG_FMT_RGB24,
     53    TINYJPEG_FMT_YUV420P,
     54 };
     55 
     56 struct jdec_private *tinyjpeg_init(void);
     57 void tinyjpeg_free(struct jdec_private *priv);
     58 
     59 int tinyjpeg_parse_header(struct jdec_private *priv, const unsigned char *buf, unsigned int size);
     60 int tinyjpeg_decode(struct jdec_private *priv);
     61 const char *tinyjpeg_get_errorstring(struct jdec_private *priv);
     62 void tinyjpeg_get_size(struct jdec_private *priv, unsigned int *width, unsigned int *height);
     63 
     64 #ifdef __cplusplus
     65 }
     66 #endif
     67 
     68 #endif
     69 
     70 
     71 
     72