diff options
Diffstat (limited to 'src/3rdparty/jasper/src/libjasper/bmp')
-rw-r--r-- | src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.c | 135 | ||||
-rw-r--r-- | src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.h | 215 | ||||
-rw-r--r-- | src/3rdparty/jasper/src/libjasper/bmp/bmp_dec.c | 464 | ||||
-rw-r--r-- | src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.c | 395 | ||||
-rw-r--r-- | src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.h | 72 |
5 files changed, 0 insertions, 1281 deletions
diff --git a/src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.c b/src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.c deleted file mode 100644 index b281e2a..0000000 --- a/src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.c +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (c) 1999-2000 Image Power, Inc. and the University of - * British Columbia. - * Copyright (c) 2001-2002 Michael David Adams. - * All rights reserved. - */ - -/* __START_OF_JASPER_LICENSE__ - * - * JasPer License Version 2.0 - * - * Copyright (c) 2001-2006 Michael David Adams - * Copyright (c) 1999-2000 Image Power, Inc. - * Copyright (c) 1999-2000 The University of British Columbia - * - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person (the - * "User") obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, and/or sell copies of the Software, and to permit - * persons to whom the Software is furnished to do so, subject to the - * following conditions: - * - * 1. The above copyright notices and this permission notice (which - * includes the disclaimer below) shall be included in all copies or - * substantial portions of the Software. - * - * 2. The name of a copyright holder shall not be used to endorse or - * promote products derived from the Software without specific prior - * written permission. - * - * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS - * LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER - * THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS - * "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL - * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING - * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE - * PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE - * THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. - * EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS - * BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL - * PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS - * GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE - * ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE - * IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL - * SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, - * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL - * SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH - * THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, - * PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH - * RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY - * EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. - * - * __END_OF_JASPER_LICENSE__ - */ - -/* - * Windows Bitmap File Library - * - * $Id$ - */ - -/******************************************************************************\ -* Includes. -\******************************************************************************/ - -#include <assert.h> - -#include "jasper/jas_types.h" -#include "jasper/jas_image.h" -#include "jasper/jas_malloc.h" - -#include "bmp_cod.h" - -/******************************************************************************\ -* Constructors and destructors. -\******************************************************************************/ - -bmp_info_t *bmp_info_create() -{ - bmp_info_t *info; - if (!(info = jas_malloc(sizeof(bmp_info_t)))) { - return 0; - } - info->palents = 0; - return info; -} - -void bmp_info_destroy(bmp_info_t *info) -{ - if (info->palents) { - jas_free(info->palents); - } - jas_free(info); -} - -/******************************************************************************\ -* Miscellaneous functions. -\******************************************************************************/ - -int bmp_isgrayscalepal(bmp_palent_t *palents, int numpalents) -{ - bmp_palent_t *palent; - int i; - - for (i = numpalents, palent = palents; i > 0; --i, ++palent) { - if (palent->red != palent->grn || palent->red != palent->blu) { - return 0; - } - } - return 1; -} - -int bmp_numcmpts(bmp_info_t *info) -{ - int numcmpts; - - if (info->depth == 24) { - numcmpts = 3; - } else if (info->depth == 8) { - numcmpts = bmp_isgrayscalepal(info->palents, info->numcolors) ? - 1 : 3; - } else { - numcmpts = 0; - abort(); - } - return numcmpts; -} diff --git a/src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.h b/src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.h deleted file mode 100644 index 674aa6e..0000000 --- a/src/3rdparty/jasper/src/libjasper/bmp/bmp_cod.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (c) 1999-2000 Image Power, Inc. and the University of - * British Columbia. - * Copyright (c) 2001-2002 Michael David Adams. - * All rights reserved. - */ - -/* __START_OF_JASPER_LICENSE__ - * - * JasPer License Version 2.0 - * - * Copyright (c) 2001-2006 Michael David Adams - * Copyright (c) 1999-2000 Image Power, Inc. - * Copyright (c) 1999-2000 The University of British Columbia - * - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person (the - * "User") obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, and/or sell copies of the Software, and to permit - * persons to whom the Software is furnished to do so, subject to the - * following conditions: - * - * 1. The above copyright notices and this permission notice (which - * includes the disclaimer below) shall be included in all copies or - * substantial portions of the Software. - * - * 2. The name of a copyright holder shall not be used to endorse or - * promote products derived from the Software without specific prior - * written permission. - * - * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS - * LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER - * THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS - * "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL - * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING - * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE - * PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE - * THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. - * EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS - * BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL - * PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS - * GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE - * ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE - * IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL - * SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, - * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL - * SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH - * THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, - * PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH - * RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY - * EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. - * - * __END_OF_JASPER_LICENSE__ - */ - -/* - * Windows Bitmap File Library - * - * $Id$ - */ - -#ifndef BMP_COD_H -#define BMP_COD_H - -/******************************************************************************\ -* Includes. -\******************************************************************************/ - -#include "jasper/jas_types.h" - -/******************************************************************************\ -* Constants and macros. -\******************************************************************************/ - -#define BMP_MAGIC 0x4d42 -/* The signature for a BMP file. */ - -#define BMP_HDRLEN 14 -/* The nominal header length. */ - -#define BMP_INFOLEN 40 -/* The nominal info length. */ - -#define BMP_PALLEN(info) ((info)->numcolors * 4) -/* The length of the palette. */ - -#define BMP_HASPAL(info) ((info)->numcolors > 0) -/* Is this a palettized image? */ - -/* Encoding types. */ -#define BMP_ENC_RGB 0 /* No special encoding. */ -#define BMP_ENC_RLE8 1 /* Run length encoding. */ -#define BMP_ENC_RLE4 2 /* Run length encoding. */ - -/******************************************************************************\ -* Types. -\******************************************************************************/ - -/* BMP header. */ -typedef struct { - - int_fast16_t magic; - /* The signature (a.k.a. the magic number). */ - - int_fast32_t siz; - /* The size of the file in 32-bit words. */ - - int_fast16_t reserved1; - /* Ask Bill Gates what this is all about. */ - - int_fast16_t reserved2; - /* Ditto. */ - - int_fast32_t off; - /* The offset of the bitmap data from the bitmap file header in bytes. */ - -} bmp_hdr_t; - -/* Palette entry. */ -typedef struct { - - int_fast16_t red; - /* The red component. */ - - int_fast16_t grn; - /* The green component. */ - - int_fast16_t blu; - /* The blue component. */ - - int_fast16_t res; - /* Reserved. */ - -} bmp_palent_t; - -/* BMP info. */ -typedef struct { - - int_fast32_t len; - /* The length of the bitmap information header in bytes. */ - - int_fast32_t width; - /* The width of the bitmap in pixels. */ - - int_fast32_t height; - /* The height of the bitmap in pixels. */ - - int_fast8_t topdown; - /* The bitmap data is specified in top-down order. */ - - int_fast16_t numplanes; - /* The number of planes. This must be set to a value of one. */ - - int_fast16_t depth; - /* The number of bits per pixel. */ - - int_fast32_t enctype; - /* The type of compression used. */ - - int_fast32_t siz; - /* The size of the image in bytes. */ - - int_fast32_t hres; - /* The horizontal resolution in pixels/metre. */ - - int_fast32_t vres; - /* The vertical resolution in pixels/metre. */ - - int_fast32_t numcolors; - /* The number of color indices used by the bitmap. */ - - int_fast32_t mincolors; - /* The number of color indices important for displaying the bitmap. */ - - bmp_palent_t *palents; - /* The colors should be listed in order of importance. */ - -} bmp_info_t; - -/******************************************************************************\ -* Functions and macros. -\******************************************************************************/ - -#define bmp_issupported(hdr, info) \ - ((hdr)->magic == BMP_MAGIC && !(hdr)->reserved1 && \ - !(hdr)->reserved2 && (info)->numplanes == 1 && \ - ((info)->depth == 8 || (info)->depth == 24) && \ - (info)->enctype == BMP_ENC_RGB) -/* Is this type of BMP file supported? */ - -#define bmp_haspal(info) \ - ((info)->depth == 8) -/* Is there a palette? */ - -int bmp_numcmpts(bmp_info_t *info); -/* Get the number of components. */ - -bmp_info_t *bmp_info_create(void); -/* Create BMP information. */ - -void bmp_info_destroy(bmp_info_t *info); -/* Destroy BMP information. */ - -int bmp_isgrayscalepal(bmp_palent_t *palents, int numpalents); -/* Does the specified palette correspond to a grayscale image? */ - -#endif diff --git a/src/3rdparty/jasper/src/libjasper/bmp/bmp_dec.c b/src/3rdparty/jasper/src/libjasper/bmp/bmp_dec.c deleted file mode 100644 index b1ff065..0000000 --- a/src/3rdparty/jasper/src/libjasper/bmp/bmp_dec.c +++ /dev/null @@ -1,464 +0,0 @@ -/* - * Copyright (c) 1999-2000 Image Power, Inc. and the University of - * British Columbia. - * Copyright (c) 2001-2003 Michael David Adams. - * All rights reserved. - */ - -/* __START_OF_JASPER_LICENSE__ - * - * JasPer License Version 2.0 - * - * Copyright (c) 2001-2006 Michael David Adams - * Copyright (c) 1999-2000 Image Power, Inc. - * Copyright (c) 1999-2000 The University of British Columbia - * - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person (the - * "User") obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, and/or sell copies of the Software, and to permit - * persons to whom the Software is furnished to do so, subject to the - * following conditions: - * - * 1. The above copyright notices and this permission notice (which - * includes the disclaimer below) shall be included in all copies or - * substantial portions of the Software. - * - * 2. The name of a copyright holder shall not be used to endorse or - * promote products derived from the Software without specific prior - * written permission. - * - * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS - * LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER - * THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS - * "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL - * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING - * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE - * PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE - * THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. - * EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS - * BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL - * PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS - * GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE - * ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE - * IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL - * SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, - * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL - * SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH - * THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, - * PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH - * RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY - * EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. - * - * __END_OF_JASPER_LICENSE__ - */ - -/* - * Windows Bitmap File Library - * - * $Id$ - */ - -/******************************************************************************\ -* Includes. -\******************************************************************************/ - -#include <assert.h> - -#include "jasper/jas_debug.h" -#include "jasper/jas_types.h" -#include "jasper/jas_stream.h" -#include "jasper/jas_image.h" -#include "jasper/jas_malloc.h" - -#include "bmp_cod.h" - -/******************************************************************************\ -* Local prototypes. -\******************************************************************************/ - -static int bmp_gethdr(jas_stream_t *in, bmp_hdr_t *hdr); -static bmp_info_t *bmp_getinfo(jas_stream_t *in); -static int bmp_getdata(jas_stream_t *in, bmp_info_t *info, jas_image_t *image); -static int bmp_getint16(jas_stream_t *in, int_fast16_t *val); -static int bmp_getint32(jas_stream_t *in, int_fast32_t *val); -static int bmp_gobble(jas_stream_t *in, long n); - -/******************************************************************************\ -* Interface functions. -\******************************************************************************/ - -jas_image_t *bmp_decode(jas_stream_t *in, char *optstr) -{ - jas_image_t *image; - bmp_hdr_t hdr; - bmp_info_t *info; - uint_fast16_t cmptno; - jas_image_cmptparm_t cmptparms[3]; - jas_image_cmptparm_t *cmptparm; - uint_fast16_t numcmpts; - long n; - - if (optstr) { - jas_eprintf("warning: ignoring BMP decoder options\n"); - } - - jas_eprintf( - "THE BMP FORMAT IS NOT FULLY SUPPORTED!\n" - "THAT IS, THE JASPER SOFTWARE CANNOT DECODE ALL TYPES OF BMP DATA.\n" - "IF YOU HAVE ANY PROBLEMS, PLEASE TRY CONVERTING YOUR IMAGE DATA\n" - "TO THE PNM FORMAT, AND USING THIS FORMAT INSTEAD.\n" - ); - - /* Read the bitmap header. */ - if (bmp_gethdr(in, &hdr)) { - jas_eprintf("cannot get header\n"); - return 0; - } - - /* Read the bitmap information. */ - if (!(info = bmp_getinfo(in))) { - jas_eprintf("cannot get info\n"); - return 0; - } - - /* Ensure that we support this type of BMP file. */ - if (!bmp_issupported(&hdr, info)) { - jas_eprintf("error: unsupported BMP encoding\n"); - bmp_info_destroy(info); - return 0; - } - - /* Skip over any useless data between the end of the palette - and start of the bitmap data. */ - if ((n = hdr.off - (BMP_HDRLEN + BMP_INFOLEN + BMP_PALLEN(info))) < 0) { - jas_eprintf("error: possibly bad bitmap offset?\n"); - return 0; - } - if (n > 0) { - jas_eprintf("skipping unknown data in BMP file\n"); - if (bmp_gobble(in, n)) { - bmp_info_destroy(info); - return 0; - } - } - - /* Get the number of components. */ - numcmpts = bmp_numcmpts(info); - - for (cmptno = 0, cmptparm = cmptparms; cmptno < numcmpts; ++cmptno, - ++cmptparm) { - cmptparm->tlx = 0; - cmptparm->tly = 0; - cmptparm->hstep = 1; - cmptparm->vstep = 1; - cmptparm->width = info->width; - cmptparm->height = info->height; - cmptparm->prec = 8; - cmptparm->sgnd = false; - } - - /* Create image object. */ - if (!(image = jas_image_create(numcmpts, cmptparms, - JAS_CLRSPC_UNKNOWN))) { - bmp_info_destroy(info); - return 0; - } - - if (numcmpts == 3) { - jas_image_setclrspc(image, JAS_CLRSPC_SRGB); - jas_image_setcmpttype(image, 0, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_R)); - jas_image_setcmpttype(image, 1, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_G)); - jas_image_setcmpttype(image, 2, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_B)); - } else { - jas_image_setclrspc(image, JAS_CLRSPC_SGRAY); - jas_image_setcmpttype(image, 0, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_GRAY_Y)); - } - - /* Read the bitmap data. */ - if (bmp_getdata(in, info, image)) { - bmp_info_destroy(info); - jas_image_destroy(image); - return 0; - } - - bmp_info_destroy(info); - - return image; -} - -int bmp_validate(jas_stream_t *in) -{ - int n; - int i; - uchar buf[2]; - - assert(JAS_STREAM_MAXPUTBACK >= 2); - - /* Read the first two characters that constitute the signature. */ - if ((n = jas_stream_read(in, (char *) buf, 2)) < 0) { - return -1; - } - /* Put the characters read back onto the stream. */ - for (i = n - 1; i >= 0; --i) { - if (jas_stream_ungetc(in, buf[i]) == EOF) { - return -1; - } - } - /* Did we read enough characters? */ - if (n < 2) { - return -1; - } - /* Is the signature correct for the BMP format? */ - if (buf[0] == (BMP_MAGIC & 0xff) && buf[1] == (BMP_MAGIC >> 8)) { - return 0; - } - return -1; -} - -/******************************************************************************\ -* Code for aggregate types. -\******************************************************************************/ - -static int bmp_gethdr(jas_stream_t *in, bmp_hdr_t *hdr) -{ - if (bmp_getint16(in, &hdr->magic) || hdr->magic != BMP_MAGIC || - bmp_getint32(in, &hdr->siz) || bmp_getint16(in, &hdr->reserved1) || - bmp_getint16(in, &hdr->reserved2) || bmp_getint32(in, &hdr->off)) { - return -1; - } - return 0; -} - -static bmp_info_t *bmp_getinfo(jas_stream_t *in) -{ - bmp_info_t *info; - int i; - bmp_palent_t *palent; - - if (!(info = bmp_info_create())) { - return 0; - } - - if (bmp_getint32(in, &info->len) || info->len != 40 || - bmp_getint32(in, &info->width) || bmp_getint32(in, &info->height) || - bmp_getint16(in, &info->numplanes) || - bmp_getint16(in, &info->depth) || bmp_getint32(in, &info->enctype) || - bmp_getint32(in, &info->siz) || - bmp_getint32(in, &info->hres) || bmp_getint32(in, &info->vres) || - bmp_getint32(in, &info->numcolors) || - bmp_getint32(in, &info->mincolors)) { - bmp_info_destroy(info); - return 0; - } - - if (info->height < 0) { - info->topdown = 1; - info->height = -info->height; - } else { - info->topdown = 0; - } - - if (info->width <= 0 || info->height <= 0 || info->numplanes <= 0 || - info->depth <= 0 || info->numcolors < 0 || info->mincolors < 0) { - bmp_info_destroy(info); - return 0; - } - - if (info->enctype != BMP_ENC_RGB) { - jas_eprintf("unsupported BMP encoding\n"); - bmp_info_destroy(info); - return 0; - } - - if (info->numcolors > 0) { - if (!(info->palents = jas_malloc(info->numcolors * - sizeof(bmp_palent_t)))) { - bmp_info_destroy(info); - return 0; - } - } else { - info->palents = 0; - } - - for (i = 0; i < info->numcolors; ++i) { - palent = &info->palents[i]; - if ((palent->blu = jas_stream_getc(in)) == EOF || - (palent->grn = jas_stream_getc(in)) == EOF || - (palent->red = jas_stream_getc(in)) == EOF || - (palent->res = jas_stream_getc(in)) == EOF) { - bmp_info_destroy(info); - return 0; - } - } - - return info; -} - -static int bmp_getdata(jas_stream_t *in, bmp_info_t *info, jas_image_t *image) -{ - int i; - int j; - int y; - jas_matrix_t *cmpts[3]; - int numpad; - int red; - int grn; - int blu; - int ret; - int numcmpts; - int cmptno; - int ind; - bmp_palent_t *palent; - int mxind; - int haspal; - - assert(info->depth == 8 || info->depth == 24); - assert(info->enctype == BMP_ENC_RGB); - - numcmpts = bmp_numcmpts(info); - haspal = bmp_haspal(info); - - ret = 0; - for (i = 0; i < numcmpts; ++i) { - cmpts[i] = 0; - } - - /* Create temporary matrices to hold component data. */ - for (i = 0; i < numcmpts; ++i) { - if (!(cmpts[i] = jas_matrix_create(1, info->width))) { - ret = -1; - goto bmp_getdata_done; - } - } - - /* Calculate number of padding bytes per row of image data. */ - numpad = (numcmpts * info->width) % 4; - if (numpad) { - numpad = 4 - numpad; - } - - mxind = (1 << info->depth) - 1; - for (i = 0; i < info->height; ++i) { - for (j = 0; j < info->width; ++j) { - if (haspal) { - if ((ind = jas_stream_getc(in)) == EOF) { - ret = -1; - goto bmp_getdata_done; - } - if (ind > mxind) { - ret = -1; - goto bmp_getdata_done; - } - if (ind < info->numcolors) { - palent = &info->palents[ind]; - red = palent->red; - grn = palent->grn; - blu = palent->blu; - } else { - red = ind; - grn = ind; - blu = ind; - } - } else { - if ((blu = jas_stream_getc(in)) == EOF || - (grn = jas_stream_getc(in)) == EOF || - (red = jas_stream_getc(in)) == EOF) { - ret = -1; - goto bmp_getdata_done; - } - } - if (numcmpts == 3) { - jas_matrix_setv(cmpts[0], j, red); - jas_matrix_setv(cmpts[1], j, grn); - jas_matrix_setv(cmpts[2], j, blu); - } else { - jas_matrix_setv(cmpts[0], j, red); - } - } - for (j = numpad; j > 0; --j) { - if (jas_stream_getc(in) == EOF) { - ret = -1; - goto bmp_getdata_done; - } - } - for (cmptno = 0; cmptno < numcmpts; ++cmptno) { - y = info->topdown ? i : (info->height - 1 - i); - if (jas_image_writecmpt(image, cmptno, 0, y, info->width, - 1, cmpts[cmptno])) { - ret = -1; - goto bmp_getdata_done; - } - } - } - -bmp_getdata_done: - /* Destroy the temporary matrices. */ - for (i = 0; i < numcmpts; ++i) { - if (cmpts[i]) { - jas_matrix_destroy(cmpts[i]); - } - } - - return ret; -} - -/******************************************************************************\ -* Code for primitive types. -\******************************************************************************/ - -static int bmp_getint16(jas_stream_t *in, int_fast16_t *val) -{ - int lo; - int hi; - if ((lo = jas_stream_getc(in)) == EOF || (hi = jas_stream_getc(in)) == EOF) { - return -1; - } - if (val) { - *val = (hi << 8) | lo; - } - return 0; -} - -static int bmp_getint32(jas_stream_t *in, int_fast32_t *val) -{ - int n; - uint_fast32_t v; - int c; - for (n = 4, v = 0;;) { - if ((c = jas_stream_getc(in)) == EOF) { - return -1; - } - v |= (c << 24); - if (--n <= 0) { - break; - } - v >>= 8; - } - if (val) { - *val = v; - } - return 0; -} - -static int bmp_gobble(jas_stream_t *in, long n) -{ - while (--n >= 0) { - if (jas_stream_getc(in) == EOF) { - return -1; - } - } - return 0; -} diff --git a/src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.c b/src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.c deleted file mode 100644 index e156b01..0000000 --- a/src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.c +++ /dev/null @@ -1,395 +0,0 @@ -/* - * Copyright (c) 1999-2000 Image Power, Inc. and the University of - * British Columbia. - * Copyright (c) 2001-2003 Michael David Adams. - * All rights reserved. - */ - -/* __START_OF_JASPER_LICENSE__ - * - * JasPer License Version 2.0 - * - * Copyright (c) 2001-2006 Michael David Adams - * Copyright (c) 1999-2000 Image Power, Inc. - * Copyright (c) 1999-2000 The University of British Columbia - * - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person (the - * "User") obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, and/or sell copies of the Software, and to permit - * persons to whom the Software is furnished to do so, subject to the - * following conditions: - * - * 1. The above copyright notices and this permission notice (which - * includes the disclaimer below) shall be included in all copies or - * substantial portions of the Software. - * - * 2. The name of a copyright holder shall not be used to endorse or - * promote products derived from the Software without specific prior - * written permission. - * - * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS - * LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER - * THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS - * "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL - * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING - * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE - * PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE - * THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. - * EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS - * BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL - * PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS - * GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE - * ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE - * IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL - * SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, - * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL - * SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH - * THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, - * PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH - * RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY - * EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. - * - * __END_OF_JASPER_LICENSE__ - */ - -/* - * Windows Bitmap File Library - * - * $Id$ - */ - -/******************************************************************************\ -* Includes. -\******************************************************************************/ - -#include <assert.h> - -#include "jasper/jas_types.h" -#include "jasper/jas_stream.h" -#include "jasper/jas_image.h" -#include "jasper/jas_debug.h" - -#include "bmp_enc.h" -#include "bmp_cod.h" - -/******************************************************************************\ -* Local prototypes. -\******************************************************************************/ - -static int bmp_puthdr(jas_stream_t *out, bmp_hdr_t *hdr); -static int bmp_putinfo(jas_stream_t *out, bmp_info_t *info); -static int bmp_putdata(jas_stream_t *out, bmp_info_t *info, jas_image_t *image, int *cmpts); -static int bmp_putint16(jas_stream_t *in, int_fast16_t val); -static int bmp_putint32(jas_stream_t *out, int_fast32_t val); - -/******************************************************************************\ -* Interface functions. -\******************************************************************************/ - -int bmp_encode(jas_image_t *image, jas_stream_t *out, char *optstr) -{ - jas_image_coord_t width; - jas_image_coord_t height; - int depth; - int cmptno; - bmp_hdr_t hdr; - bmp_info_t *info; - int_fast32_t datalen; - int numpad; - bmp_enc_t encbuf; - bmp_enc_t *enc = &encbuf; - jas_clrspc_t clrspc; - - if (optstr) { - jas_eprintf("warning: ignoring BMP encoder options\n"); - } - - clrspc = jas_image_clrspc(image); - switch (jas_clrspc_fam(clrspc)) { - case JAS_CLRSPC_FAM_RGB: - if (clrspc != JAS_CLRSPC_SRGB) - jas_eprintf("warning: inaccurate color\n"); - break; - case JAS_CLRSPC_FAM_GRAY: - if (clrspc != JAS_CLRSPC_SGRAY) - jas_eprintf("warning: inaccurate color\n"); - break; - default: - jas_eprintf("error: BMP format does not support color space\n"); - return -1; - break; - } - - switch (jas_clrspc_fam(clrspc)) { - case JAS_CLRSPC_FAM_RGB: - enc->numcmpts = 3; - if ((enc->cmpts[0] = jas_image_getcmptbytype(image, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_R))) < 0 || - (enc->cmpts[1] = jas_image_getcmptbytype(image, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_G))) < 0 || - (enc->cmpts[2] = jas_image_getcmptbytype(image, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_RGB_B))) < 0) { - jas_eprintf("error: missing color component\n"); - return -1; - } - break; - case JAS_CLRSPC_FAM_GRAY: - enc->numcmpts = 1; - if ((enc->cmpts[0] = jas_image_getcmptbytype(image, - JAS_IMAGE_CT_COLOR(JAS_CLRSPC_CHANIND_GRAY_Y))) < 0) { - jas_eprintf("error: missing color component\n"); - return -1; - } - break; - default: - abort(); - break; - } - - width = jas_image_cmptwidth(image, enc->cmpts[0]); - height = jas_image_cmptheight(image, enc->cmpts[0]); - depth = jas_image_cmptprec(image, enc->cmpts[0]); - - /* Check to ensure that the image to be saved can actually be represented - using the BMP format. */ - for (cmptno = 0; cmptno < enc->numcmpts; ++cmptno) { - if (jas_image_cmptwidth(image, enc->cmpts[cmptno]) != width || - jas_image_cmptheight(image, enc->cmpts[cmptno]) != height || - jas_image_cmptprec(image, enc->cmpts[cmptno]) != depth || - jas_image_cmptsgnd(image, enc->cmpts[cmptno]) != false || - jas_image_cmpttlx(image, enc->cmpts[cmptno]) != 0 || - jas_image_cmpttly(image, enc->cmpts[cmptno]) != 0) { - jas_eprintf("The BMP format cannot be used to represent an image with this geometry.\n"); - return -1; - } - } - - /* The component depths must be 1, 4, or 8. */ - if (depth != 1 && depth != 4 && depth != 8) { - return -1; - } - - numpad = (width * enc->numcmpts) % 4; - if (numpad) { - numpad = 4 - numpad; - } - datalen = (enc->numcmpts * width + numpad) * height; - - if (!(info = bmp_info_create())) { - return -1; - } - info->len = BMP_INFOLEN; - info->width = width; - info->height = height; - info->numplanes = 1; - info->depth = enc->numcmpts * depth; - info->enctype = BMP_ENC_RGB; - info->siz = datalen; - info->hres = 0; - info->vres = 0; - info->numcolors = (enc->numcmpts == 1) ? 256 : 0; - info->mincolors = 0; - - hdr.magic = BMP_MAGIC; - hdr.siz = BMP_HDRLEN + BMP_INFOLEN + 0 + datalen; - hdr.off = BMP_HDRLEN + BMP_INFOLEN + BMP_PALLEN(info); - - /* Write the bitmap header. */ - if (bmp_puthdr(out, &hdr)) { - return -1; - } - - /* Write the bitmap information. */ - if (bmp_putinfo(out, info)) { - return -1; - } - - /* Write the bitmap data. */ - if (bmp_putdata(out, info, image, enc->cmpts)) { - return -1; - } - - bmp_info_destroy(info); - - return 0; -} - -/******************************************************************************\ -* Code for aggregate types. -\******************************************************************************/ - -static int bmp_puthdr(jas_stream_t *out, bmp_hdr_t *hdr) -{ - assert(hdr->magic == BMP_MAGIC); - if (bmp_putint16(out, hdr->magic) || bmp_putint32(out, hdr->siz) || - bmp_putint32(out, 0) || bmp_putint32(out, hdr->off)) { - return -1; - } - return 0; -} - -static int bmp_putinfo(jas_stream_t *out, bmp_info_t *info) -{ - int i; - - info->len = 40; - if (bmp_putint32(out, info->len) || - bmp_putint32(out, info->width) || - bmp_putint32(out, info->height) || - bmp_putint16(out, info->numplanes) || - bmp_putint16(out, info->depth) || - bmp_putint32(out, info->enctype) || - bmp_putint32(out, info->siz) || - bmp_putint32(out, info->hres) || - bmp_putint32(out, info->vres) || - bmp_putint32(out, info->numcolors) || - bmp_putint32(out, info->mincolors)) { - return -1; - } - - for (i = 0; i < info->numcolors; ++i) - { - if (jas_stream_putc(out, i) == EOF || - jas_stream_putc(out, i) == EOF || - jas_stream_putc(out, i) == EOF || - jas_stream_putc(out, 0) == EOF) - { - return -1; - } - } - - return 0; -} - -static int bmp_putdata(jas_stream_t *out, bmp_info_t *info, jas_image_t *image, - int *cmpts) -{ - int i; - int j; - jas_matrix_t *bufs[3]; - int numpad; - unsigned char red; - unsigned char grn; - unsigned char blu; - int ret; - int numcmpts; - int v; - int cmptno; - - numcmpts = (info->depth == 24) ? 3:1; - - /* We do not support palettized images. */ - if (BMP_HASPAL(info) && numcmpts == 3) { - jas_eprintf("no palettized image support for BMP format\n"); - return -1; - } - - ret = 0; - for (i = 0; i < numcmpts; ++i) { - bufs[i] = 0; - } - - /* Create temporary matrices to hold component data. */ - for (i = 0; i < numcmpts; ++i) { - if (!(bufs[i] = jas_matrix_create(1, info->width))) { - ret = -1; - goto bmp_putdata_done; - } - } - - /* Calculate number of padding bytes per row of image data. */ - numpad = (numcmpts * info->width) % 4; - if (numpad) { - numpad = 4 - numpad; - } - - /* Put the image data. */ - for (i = info->height - 1; i >= 0; --i) { - for (cmptno = 0; cmptno < numcmpts; ++cmptno) { - if (jas_image_readcmpt(image, cmptno, 0, i, info->width, - 1, bufs[cmpts[cmptno]])) { - ret = -1; - goto bmp_putdata_done; - } - } - for (j = 0; j < info->width; ++j) { - if (numcmpts == 3) { - red = (jas_matrix_getv(bufs[0], j)); - grn = (jas_matrix_getv(bufs[1], j)); - blu = (jas_matrix_getv(bufs[2], j)); - if (jas_stream_putc(out, blu) == EOF || - jas_stream_putc(out, grn) == EOF || - jas_stream_putc(out, red) == EOF) { - ret = -1; - goto bmp_putdata_done; - } - } else if (numcmpts == 1) { - v = (jas_matrix_getv(bufs[cmpts[0]], j)); - if (jas_stream_putc(out, v) == EOF) { - ret = -1; - goto bmp_putdata_done; - } - } else { - abort(); - } - } - for (j = numpad; j > 0; --j) { - if (jas_stream_putc(out, 0) == EOF) { - ret = -1; - goto bmp_putdata_done; - } - } - } - -bmp_putdata_done: - /* Destroy the temporary matrices. */ - for (i = 0; i < numcmpts; ++i) { - if (bufs[i]) { - jas_matrix_destroy(bufs[i]); - } - } - - return ret; -} - -/******************************************************************************\ -* Code for primitive types. -\******************************************************************************/ - -static int bmp_putint16(jas_stream_t *in, int_fast16_t val) -{ - if (jas_stream_putc(in, val & 0xff) == EOF || jas_stream_putc(in, (val >> 8) & - 0xff) == EOF) { - return -1; - } - return 0; -} - -static int bmp_putint32(jas_stream_t *out, int_fast32_t val) -{ - int n; - int_fast32_t v; - - /* This code needs to be changed if we want to handle negative values. */ - assert(val >= 0); - v = val; - for (n = 4;;) { - if (jas_stream_putc(out, v & 0xff) == EOF) { - return -1; - } - if (--n <= 0) { - break; - } - v >>= 8; - } - return 0; -} diff --git a/src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.h b/src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.h deleted file mode 100644 index 1fb50e8..0000000 --- a/src/3rdparty/jasper/src/libjasper/bmp/bmp_enc.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2002 Michael David Adams. - * All rights reserved. - */ - -/* __START_OF_JASPER_LICENSE__ - * - * JasPer License Version 2.0 - * - * Copyright (c) 2001-2006 Michael David Adams - * Copyright (c) 1999-2000 Image Power, Inc. - * Copyright (c) 1999-2000 The University of British Columbia - * - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person (the - * "User") obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, and/or sell copies of the Software, and to permit - * persons to whom the Software is furnished to do so, subject to the - * following conditions: - * - * 1. The above copyright notices and this permission notice (which - * includes the disclaimer below) shall be included in all copies or - * substantial portions of the Software. - * - * 2. The name of a copyright holder shall not be used to endorse or - * promote products derived from the Software without specific prior - * written permission. - * - * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS - * LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER - * THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS - * "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO - * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL - * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING - * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION - * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE - * PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE - * THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. - * EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS - * BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL - * PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS - * GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE - * ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE - * IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL - * SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, - * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL - * SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH - * THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, - * PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH - * RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY - * EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. - * - * __END_OF_JASPER_LICENSE__ - */ - -#ifndef BMP_ENC_H -#define BMP_ENC_H - -typedef struct { - - int numcmpts; - int cmpts[4]; - -} bmp_enc_t; - -#endif |