globally renamed INT32 to JPEG_INT32 to solve the [re]definition problems with cygwin/mingw32 headers which sometimes define INT32 and sometimes don't

This is partial cherry-pick of 39c2d6bde187994f45933a2ffa13435a31d12c02
from the main repository.
This commit is contained in:
Vadim Zeitlin 2002-05-26 11:49:37 +00:00 committed by Vadim Zeitlin
parent 2c2231158e
commit 4b165e3d6e
24 changed files with 200 additions and 220 deletions

View File

@ -19,7 +19,7 @@ typedef struct {
struct jpeg_color_converter pub; /* public fields */ struct jpeg_color_converter pub; /* public fields */
/* Private state for RGB->YCC conversion */ /* Private state for RGB->YCC conversion */
INT32 * rgb_ycc_tab; /* => table for RGB to YCbCr conversion */ JPEG_INT32 * rgb_ycc_tab; /* => table for RGB to YCbCr conversion */
} my_color_converter; } my_color_converter;
typedef my_color_converter * my_cconvert_ptr; typedef my_color_converter * my_cconvert_ptr;
@ -56,9 +56,9 @@ typedef my_color_converter * my_cconvert_ptr;
*/ */
#define SCALEBITS 16 /* speediest right-shift on some machines */ #define SCALEBITS 16 /* speediest right-shift on some machines */
#define CBCR_OFFSET ((INT32) CENTERJSAMPLE << SCALEBITS) #define CBCR_OFFSET ((JPEG_INT32) CENTERJSAMPLE << SCALEBITS)
#define ONE_HALF ((INT32) 1 << (SCALEBITS-1)) #define ONE_HALF ((JPEG_INT32) 1 << (SCALEBITS-1))
#define FIX(x) ((INT32) ((x) * (1L<<SCALEBITS) + 0.5)) #define FIX(x) ((JPEG_INT32) ((x) * (1L<<SCALEBITS) + 0.5))
/* We allocate one big table and divide it up into eight parts, instead of /* We allocate one big table and divide it up into eight parts, instead of
* doing eight alloc_small requests. This lets us use a single table base * doing eight alloc_small requests. This lets us use a single table base
@ -86,13 +86,13 @@ METHODDEF(void)
rgb_ycc_start (j_compress_ptr cinfo) rgb_ycc_start (j_compress_ptr cinfo)
{ {
my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
INT32 * rgb_ycc_tab; JPEG_INT32 * rgb_ycc_tab;
INT32 i; JPEG_INT32 i;
/* Allocate and fill in the conversion tables. */ /* Allocate and fill in the conversion tables. */
cconvert->rgb_ycc_tab = rgb_ycc_tab = (INT32 *) cconvert->rgb_ycc_tab = rgb_ycc_tab = (JPEG_INT32 *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
(TABLE_SIZE * SIZEOF(INT32))); (TABLE_SIZE * SIZEOF(JPEG_INT32)));
for (i = 0; i <= MAXJSAMPLE; i++) { for (i = 0; i <= MAXJSAMPLE; i++) {
rgb_ycc_tab[i+R_Y_OFF] = FIX(0.29900) * i; rgb_ycc_tab[i+R_Y_OFF] = FIX(0.29900) * i;
@ -133,7 +133,7 @@ rgb_ycc_convert (j_compress_ptr cinfo,
{ {
my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
register int r, g, b; register int r, g, b;
register INT32 * ctab = cconvert->rgb_ycc_tab; register JPEG_INT32 * ctab = cconvert->rgb_ycc_tab;
register JSAMPROW inptr; register JSAMPROW inptr;
register JSAMPROW outptr0, outptr1, outptr2; register JSAMPROW outptr0, outptr1, outptr2;
register JDIMENSION col; register JDIMENSION col;
@ -189,7 +189,7 @@ rgb_gray_convert (j_compress_ptr cinfo,
{ {
my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
register int r, g, b; register int r, g, b;
register INT32 * ctab = cconvert->rgb_ycc_tab; register JPEG_INT32 * ctab = cconvert->rgb_ycc_tab;
register JSAMPROW inptr; register JSAMPROW inptr;
register JSAMPROW outptr; register JSAMPROW outptr;
register JDIMENSION col; register JDIMENSION col;
@ -228,7 +228,7 @@ cmyk_ycck_convert (j_compress_ptr cinfo,
{ {
my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
register int r, g, b; register int r, g, b;
register INT32 * ctab = cconvert->rgb_ycc_tab; register JPEG_INT32 * ctab = cconvert->rgb_ycc_tab;
register JSAMPROW inptr; register JSAMPROW inptr;
register JSAMPROW outptr0, outptr1, outptr2, outptr3; register JSAMPROW outptr0, outptr1, outptr2, outptr3;
register JDIMENSION col; register JDIMENSION col;

View File

@ -117,8 +117,8 @@ start_pass_fdctmgr (j_compress_ptr cinfo)
dtbl = fdct->divisors[qtblno]; dtbl = fdct->divisors[qtblno];
for (i = 0; i < DCTSIZE2; i++) { for (i = 0; i < DCTSIZE2; i++) {
dtbl[i] = (DCTELEM) dtbl[i] = (DCTELEM)
DESCALE(MULTIPLY16V16((INT32) qtbl->quantval[i], DESCALE(MULTIPLY16V16((JPEG_INT32) qtbl->quantval[i],
(INT32) aanscales[i]), (JPEG_INT32) aanscales[i]),
CONST_BITS-3); CONST_BITS-3);
} }
} }

View File

@ -27,7 +27,7 @@
*/ */
typedef struct { typedef struct {
INT32 put_buffer; /* current bit-accumulation buffer */ JPEG_INT32 put_buffer; /* current bit-accumulation buffer */
int put_bits; /* # of bits now in it */ int put_bits; /* # of bits now in it */
int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */ int last_dc_val[MAX_COMPS_IN_SCAN]; /* last DC coef for each component */
} savable_state; } savable_state;
@ -232,7 +232,7 @@ jpeg_make_c_derived_tbl (j_compress_ptr cinfo, boolean isDC, int tblno,
/* code is now 1 more than the last code used for codelength si; but /* code is now 1 more than the last code used for codelength si; but
* it must still fit in si bits, since no code is allowed to be all ones. * it must still fit in si bits, since no code is allowed to be all ones.
*/ */
if (((INT32) code) >= (((INT32) 1) << si)) if (((JPEG_INT32) code) >= (((JPEG_INT32) 1) << si))
ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
code <<= 1; code <<= 1;
si++; si++;
@ -303,14 +303,14 @@ emit_bits (working_state * state, unsigned int code, int size)
/* Emit some bits; return TRUE if successful, FALSE if must suspend */ /* Emit some bits; return TRUE if successful, FALSE if must suspend */
{ {
/* This routine is heavily used, so it's worth coding tightly. */ /* This routine is heavily used, so it's worth coding tightly. */
register INT32 put_buffer = (INT32) code; register JPEG_INT32 put_buffer = (JPEG_INT32) code;
register int put_bits = state->cur.put_bits; register int put_bits = state->cur.put_bits;
/* if size is 0, caller used an invalid Huffman table entry */ /* if size is 0, caller used an invalid Huffman table entry */
if (size == 0) if (size == 0)
ERREXIT(state->cinfo, JERR_HUFF_MISSING_CODE); ERREXIT(state->cinfo, JERR_HUFF_MISSING_CODE);
put_buffer &= (((INT32) 1)<<size) - 1; /* mask off any extra bits in code */ put_buffer &= (((JPEG_INT32) 1)<<size) - 1; /* mask off any extra bits in code */
put_bits += size; /* new number of bits in buffer */ put_bits += size; /* new number of bits in buffer */

View File

@ -32,7 +32,7 @@ typedef struct {
*/ */
JOCTET * next_output_byte; /* => next byte to write in buffer */ JOCTET * next_output_byte; /* => next byte to write in buffer */
size_t free_in_buffer; /* # of byte spaces remaining in buffer */ size_t free_in_buffer; /* # of byte spaces remaining in buffer */
INT32 put_buffer; /* current bit-accumulation buffer */ JPEG_INT32 put_buffer; /* current bit-accumulation buffer */
int put_bits; /* # of bits now in it */ int put_bits; /* # of bits now in it */
j_compress_ptr cinfo; /* link to cinfo (needed for dump_buffer) */ j_compress_ptr cinfo; /* link to cinfo (needed for dump_buffer) */
@ -229,7 +229,7 @@ emit_bits (phuff_entropy_ptr entropy, unsigned int code, int size)
/* Emit some bits, unless we are in gather mode */ /* Emit some bits, unless we are in gather mode */
{ {
/* This routine is heavily used, so it's worth coding tightly. */ /* This routine is heavily used, so it's worth coding tightly. */
register INT32 put_buffer = (INT32) code; register JPEG_INT32 put_buffer = (JPEG_INT32) code;
register int put_bits = entropy->put_bits; register int put_bits = entropy->put_bits;
/* if size is 0, caller used an invalid Huffman table entry */ /* if size is 0, caller used an invalid Huffman table entry */
@ -239,7 +239,7 @@ emit_bits (phuff_entropy_ptr entropy, unsigned int code, int size)
if (entropy->gather_statistics) if (entropy->gather_statistics)
return; /* do nothing if we're only getting stats */ return; /* do nothing if we're only getting stats */
put_buffer &= (((INT32) 1)<<size) - 1; /* mask off any extra bits in code */ put_buffer &= (((JPEG_INT32) 1)<<size) - 1; /* mask off any extra bits in code */
put_bits += size; /* new number of bits in buffer */ put_bits += size; /* new number of bits in buffer */

View File

@ -144,7 +144,7 @@ int_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr,
JDIMENSION outcol, outcol_h; /* outcol_h == outcol*h_expand */ JDIMENSION outcol, outcol_h; /* outcol_h == outcol*h_expand */
JDIMENSION output_cols = compptr->width_in_blocks * DCTSIZE; JDIMENSION output_cols = compptr->width_in_blocks * DCTSIZE;
JSAMPROW inptr, outptr; JSAMPROW inptr, outptr;
INT32 outvalue; JPEG_INT32 outvalue;
h_expand = cinfo->max_h_samp_factor / compptr->h_samp_factor; h_expand = cinfo->max_h_samp_factor / compptr->h_samp_factor;
v_expand = cinfo->max_v_samp_factor / compptr->v_samp_factor; v_expand = cinfo->max_v_samp_factor / compptr->v_samp_factor;
@ -167,7 +167,7 @@ int_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr,
for (v = 0; v < v_expand; v++) { for (v = 0; v < v_expand; v++) {
inptr = input_data[inrow+v] + outcol_h; inptr = input_data[inrow+v] + outcol_h;
for (h = 0; h < h_expand; h++) { for (h = 0; h < h_expand; h++) {
outvalue += (INT32) GETJSAMPLE(*inptr++); outvalue += (JPEG_INT32) GETJSAMPLE(*inptr++);
} }
} }
*outptr++ = (JSAMPLE) ((outvalue + numpix2) / numpix); *outptr++ = (JSAMPLE) ((outvalue + numpix2) / numpix);
@ -296,7 +296,7 @@ h2v2_smooth_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr,
JDIMENSION colctr; JDIMENSION colctr;
JDIMENSION output_cols = compptr->width_in_blocks * DCTSIZE; JDIMENSION output_cols = compptr->width_in_blocks * DCTSIZE;
register JSAMPROW inptr0, inptr1, above_ptr, below_ptr, outptr; register JSAMPROW inptr0, inptr1, above_ptr, below_ptr, outptr;
INT32 membersum, neighsum, memberscale, neighscale; JPEG_INT32 membersum, neighsum, memberscale, neighscale;
/* Expand input data enough to let all the output samples be generated /* Expand input data enough to let all the output samples be generated
* by the standard loop. Special-casing padded output would be more * by the standard loop. Special-casing padded output would be more
@ -396,7 +396,7 @@ fullsize_smooth_downsample (j_compress_ptr cinfo, jpeg_component_info *compptr,
JDIMENSION colctr; JDIMENSION colctr;
JDIMENSION output_cols = compptr->width_in_blocks * DCTSIZE; JDIMENSION output_cols = compptr->width_in_blocks * DCTSIZE;
register JSAMPROW inptr, above_ptr, below_ptr, outptr; register JSAMPROW inptr, above_ptr, below_ptr, outptr;
INT32 membersum, neighsum, memberscale, neighscale; JPEG_INT32 membersum, neighsum, memberscale, neighscale;
int colsum, lastcolsum, nextcolsum; int colsum, lastcolsum, nextcolsum;
/* Expand input data enough to let all the output samples be generated /* Expand input data enough to let all the output samples be generated

View File

@ -474,7 +474,7 @@ decompress_smooth_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf)
JBLOCK workspace; JBLOCK workspace;
int *coef_bits; int *coef_bits;
JQUANT_TBL *quanttbl; JQUANT_TBL *quanttbl;
INT32 Q00,Q01,Q02,Q10,Q11,Q20, num; JPEG_INT32 Q00,Q01,Q02,Q10,Q11,Q20, num;
int DC1,DC2,DC3,DC4,DC5,DC6,DC7,DC8,DC9; int DC1,DC2,DC3,DC4,DC5,DC6,DC7,DC8,DC9;
int Al, pred; int Al, pred;

View File

@ -21,8 +21,8 @@ typedef struct {
/* Private state for YCC->RGB conversion */ /* Private state for YCC->RGB conversion */
int * Cr_r_tab; /* => table for Cr to R conversion */ int * Cr_r_tab; /* => table for Cr to R conversion */
int * Cb_b_tab; /* => table for Cb to B conversion */ int * Cb_b_tab; /* => table for Cb to B conversion */
INT32 * Cr_g_tab; /* => table for Cr to G conversion */ JPEG_INT32 * Cr_g_tab; /* => table for Cr to G conversion */
INT32 * Cb_g_tab; /* => table for Cb to G conversion */ JPEG_INT32 * Cb_g_tab; /* => table for Cb to G conversion */
} my_color_deconverter; } my_color_deconverter;
typedef my_color_deconverter * my_cconvert_ptr; typedef my_color_deconverter * my_cconvert_ptr;
@ -58,8 +58,8 @@ typedef my_color_deconverter * my_cconvert_ptr;
*/ */
#define SCALEBITS 16 /* speediest right-shift on some machines */ #define SCALEBITS 16 /* speediest right-shift on some machines */
#define ONE_HALF ((INT32) 1 << (SCALEBITS-1)) #define ONE_HALF ((JPEG_INT32) 1 << (SCALEBITS-1))
#define FIX(x) ((INT32) ((x) * (1L<<SCALEBITS) + 0.5)) #define FIX(x) ((JPEG_INT32) ((x) * (1L<<SCALEBITS) + 0.5))
/* /*
@ -71,7 +71,7 @@ build_ycc_rgb_table (j_decompress_ptr cinfo)
{ {
my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
int i; int i;
INT32 x; JPEG_INT32 x;
SHIFT_TEMPS SHIFT_TEMPS
cconvert->Cr_r_tab = (int *) cconvert->Cr_r_tab = (int *)
@ -80,12 +80,12 @@ build_ycc_rgb_table (j_decompress_ptr cinfo)
cconvert->Cb_b_tab = (int *) cconvert->Cb_b_tab = (int *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
(MAXJSAMPLE+1) * SIZEOF(int)); (MAXJSAMPLE+1) * SIZEOF(int));
cconvert->Cr_g_tab = (INT32 *) cconvert->Cr_g_tab = (JPEG_INT32 *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
(MAXJSAMPLE+1) * SIZEOF(INT32)); (MAXJSAMPLE+1) * SIZEOF(JPEG_INT32));
cconvert->Cb_g_tab = (INT32 *) cconvert->Cb_g_tab = (JPEG_INT32 *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
(MAXJSAMPLE+1) * SIZEOF(INT32)); (MAXJSAMPLE+1) * SIZEOF(JPEG_INT32));
for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) {
/* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */
@ -131,8 +131,8 @@ ycc_rgb_convert (j_decompress_ptr cinfo,
register JSAMPLE * range_limit = cinfo->sample_range_limit; register JSAMPLE * range_limit = cinfo->sample_range_limit;
register int * Crrtab = cconvert->Cr_r_tab; register int * Crrtab = cconvert->Cr_r_tab;
register int * Cbbtab = cconvert->Cb_b_tab; register int * Cbbtab = cconvert->Cb_b_tab;
register INT32 * Crgtab = cconvert->Cr_g_tab; register JPEG_INT32 * Crgtab = cconvert->Cr_g_tab;
register INT32 * Cbgtab = cconvert->Cb_g_tab; register JPEG_INT32 * Cbgtab = cconvert->Cb_g_tab;
SHIFT_TEMPS SHIFT_TEMPS
while (--num_rows >= 0) { while (--num_rows >= 0) {
@ -256,8 +256,8 @@ ycck_cmyk_convert (j_decompress_ptr cinfo,
register JSAMPLE * range_limit = cinfo->sample_range_limit; register JSAMPLE * range_limit = cinfo->sample_range_limit;
register int * Crrtab = cconvert->Cr_r_tab; register int * Crrtab = cconvert->Cr_r_tab;
register int * Cbbtab = cconvert->Cb_b_tab; register int * Cbbtab = cconvert->Cb_b_tab;
register INT32 * Crgtab = cconvert->Cr_g_tab; register JPEG_INT32 * Crgtab = cconvert->Cr_g_tab;
register INT32 * Cbgtab = cconvert->Cb_g_tab; register JPEG_INT32 * Cbgtab = cconvert->Cb_g_tab;
SHIFT_TEMPS SHIFT_TEMPS
while (--num_rows >= 0) { while (--num_rows >= 0) {

10
jdct.h
View File

@ -29,7 +29,7 @@
#if BITS_IN_JSAMPLE == 8 #if BITS_IN_JSAMPLE == 8
typedef int DCTELEM; /* 16 or 32 bits is fine */ typedef int DCTELEM; /* 16 or 32 bits is fine */
#else #else
typedef INT32 DCTELEM; /* must have 32 bits */ typedef JPEG_INT32 DCTELEM; /* must have 32 bits */
#endif #endif
typedef JMETHOD(void, forward_DCT_method_ptr, (DCTELEM * data)); typedef JMETHOD(void, forward_DCT_method_ptr, (DCTELEM * data));
@ -58,7 +58,7 @@ typedef MULTIPLIER ISLOW_MULT_TYPE; /* short or int, whichever is faster */
typedef MULTIPLIER IFAST_MULT_TYPE; /* 16 bits is OK, use short if faster */ typedef MULTIPLIER IFAST_MULT_TYPE; /* 16 bits is OK, use short if faster */
#define IFAST_SCALE_BITS 2 /* fractional bits in scale factors */ #define IFAST_SCALE_BITS 2 /* fractional bits in scale factors */
#else #else
typedef INT32 IFAST_MULT_TYPE; /* need 32 bits for scaled quantizers */ typedef JPEG_INT32 IFAST_MULT_TYPE; /* need 32 bits for scaled quantizers */
#define IFAST_SCALE_BITS 13 /* fractional bits in scale factors */ #define IFAST_SCALE_BITS 13 /* fractional bits in scale factors */
#endif #endif
typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */ typedef FAST_FLOAT FLOAT_MULT_TYPE; /* preferred floating type */
@ -128,7 +128,7 @@ EXTERN(void) jpeg_idct_1x1
* and may differ from one module to the next. * and may differ from one module to the next.
*/ */
#define ONE ((INT32) 1) #define ONE ((JPEG_INT32) 1)
#define CONST_SCALE (ONE << CONST_BITS) #define CONST_SCALE (ONE << CONST_BITS)
/* Convert a positive real constant to an integer scaled by CONST_SCALE. /* Convert a positive real constant to an integer scaled by CONST_SCALE.
@ -136,7 +136,7 @@ EXTERN(void) jpeg_idct_1x1
* thus causing a lot of useless floating-point operations at run time. * thus causing a lot of useless floating-point operations at run time.
*/ */
#define FIX(x) ((INT32) ((x) * CONST_SCALE + 0.5)) #define FIX(x) ((JPEG_INT32) ((x) * CONST_SCALE + 0.5))
/* Descale and correctly round an INT32 value that's scaled by N bits. /* Descale and correctly round an INT32 value that's scaled by N bits.
* We assume RIGHT_SHIFT rounds towards minus infinity, so adding * We assume RIGHT_SHIFT rounds towards minus infinity, so adding
@ -158,7 +158,7 @@ EXTERN(void) jpeg_idct_1x1
#define MULTIPLY16C16(var,const) (((INT16) (var)) * ((INT16) (const))) #define MULTIPLY16C16(var,const) (((INT16) (var)) * ((INT16) (const)))
#endif #endif
#ifdef SHORTxLCONST_32 /* known to work with Microsoft C 6.0 */ #ifdef SHORTxLCONST_32 /* known to work with Microsoft C 6.0 */
#define MULTIPLY16C16(var,const) (((INT16) (var)) * ((INT32) (const))) #define MULTIPLY16C16(var,const) (((INT16) (var)) * ((JPEG_INT32) (const)))
#endif #endif
#ifndef MULTIPLY16C16 /* default definition */ #ifndef MULTIPLY16C16 /* default definition */

View File

@ -197,8 +197,8 @@ start_pass (j_decompress_ptr cinfo)
for (i = 0; i < DCTSIZE2; i++) { for (i = 0; i < DCTSIZE2; i++) {
ifmtbl[i] = (IFAST_MULT_TYPE) ifmtbl[i] = (IFAST_MULT_TYPE)
DESCALE(MULTIPLY16V16((INT32) qtbl->quantval[i], DESCALE(MULTIPLY16V16((JPEG_INT32) qtbl->quantval[i],
(INT32) aanscales[i]), (JPEG_INT32) aanscales[i]),
CONST_BITS-IFAST_SCALE_BITS); CONST_BITS-IFAST_SCALE_BITS);
} }
} }

View File

@ -204,7 +204,7 @@ jpeg_make_d_derived_tbl (j_decompress_ptr cinfo, boolean isDC, int tblno,
/* code is now 1 more than the last code used for codelength si; but /* code is now 1 more than the last code used for codelength si; but
* it must still fit in si bits, since no code is allowed to be all ones. * it must still fit in si bits, since no code is allowed to be all ones.
*/ */
if (((INT32) code) >= (((INT32) 1) << si)) if (((JPEG_INT32) code) >= (((JPEG_INT32) 1) << si))
ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
code <<= 1; code <<= 1;
si++; si++;
@ -218,7 +218,7 @@ jpeg_make_d_derived_tbl (j_decompress_ptr cinfo, boolean isDC, int tblno,
/* valoffset[l] = huffval[] index of 1st symbol of code length l, /* valoffset[l] = huffval[] index of 1st symbol of code length l,
* minus the minimum code of length l * minus the minimum code of length l
*/ */
dtbl->valoffset[l] = (INT32) p - (INT32) huffcode[p]; dtbl->valoffset[l] = (JPEG_INT32) p - (JPEG_INT32) huffcode[p];
p += htbl->bits[l]; p += htbl->bits[l];
dtbl->maxcode[l] = huffcode[p-1]; /* maximum code of length l */ dtbl->maxcode[l] = huffcode[p-1]; /* maximum code of length l */
} else { } else {
@ -400,7 +400,7 @@ jpeg_huff_decode (bitread_working_state * state,
d_derived_tbl * htbl, int min_bits) d_derived_tbl * htbl, int min_bits)
{ {
register int l = min_bits; register int l = min_bits;
register INT32 code; register JPEG_INT32 code;
/* HUFF_DECODE has determined that the code is at least min_bits */ /* HUFF_DECODE has determined that the code is at least min_bits */
/* bits long, so fetch that many bits in one swoop. */ /* bits long, so fetch that many bits in one swoop. */

View File

@ -25,9 +25,9 @@
typedef struct { typedef struct {
/* Basic tables: (element [0] of each array is unused) */ /* Basic tables: (element [0] of each array is unused) */
INT32 maxcode[18]; /* largest code of length k (-1 if none) */ JPEG_INT32 maxcode[18]; /* largest code of length k (-1 if none) */
/* (maxcode[17] is a sentinel to ensure jpeg_huff_decode terminates) */ /* (maxcode[17] is a sentinel to ensure jpeg_huff_decode terminates) */
INT32 valoffset[17]; /* huffval[] offset for codes of length k */ JPEG_INT32 valoffset[17]; /* huffval[] offset for codes of length k */
/* valoffset[k] = huffval[] index of 1st symbol of code length k, less /* valoffset[k] = huffval[] index of 1st symbol of code length k, less
* the smallest code of length k; so given a code of length k, the * the smallest code of length k; so given a code of length k, the
* corresponding symbol is huffval[code + valoffset[k]] * corresponding symbol is huffval[code + valoffset[k]]
@ -69,7 +69,7 @@ EXTERN(void) jpeg_make_d_derived_tbl
* necessary. * necessary.
*/ */
typedef INT32 bit_buf_type; /* type of bit-extraction buffer */ typedef JPEG_INT32 bit_buf_type; /* type of bit-extraction buffer */
#define BIT_BUF_SIZE 32 /* size of buffer in bits */ #define BIT_BUF_SIZE 32 /* size of buffer in bits */
/* If long is > 32 bits on your machine, and shifting/masking longs is /* If long is > 32 bits on your machine, and shifting/masking longs is

View File

@ -237,7 +237,7 @@ LOCAL(boolean)
get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith) get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith)
/* Process a SOFn marker */ /* Process a SOFn marker */
{ {
INT32 length; JPEG_INT32 length;
int c, ci; int c, ci;
jpeg_component_info * compptr; jpeg_component_info * compptr;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
@ -301,7 +301,7 @@ LOCAL(boolean)
get_sos (j_decompress_ptr cinfo) get_sos (j_decompress_ptr cinfo)
/* Process a SOS marker */ /* Process a SOS marker */
{ {
INT32 length; JPEG_INT32 length;
int i, ci, n, c, cc; int i, ci, n, c, cc;
jpeg_component_info * compptr; jpeg_component_info * compptr;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
@ -373,7 +373,7 @@ LOCAL(boolean)
get_dac (j_decompress_ptr cinfo) get_dac (j_decompress_ptr cinfo)
/* Process a DAC marker */ /* Process a DAC marker */
{ {
INT32 length; JPEG_INT32 length;
int index, val; int index, val;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
@ -419,7 +419,7 @@ LOCAL(boolean)
get_dht (j_decompress_ptr cinfo) get_dht (j_decompress_ptr cinfo)
/* Process a DHT marker */ /* Process a DHT marker */
{ {
INT32 length; JPEG_INT32 length;
UINT8 bits[17]; UINT8 bits[17];
UINT8 huffval[256]; UINT8 huffval[256];
int i, index, count; int i, index, count;
@ -453,7 +453,7 @@ get_dht (j_decompress_ptr cinfo)
/* Here we just do minimal validation of the counts to avoid walking /* Here we just do minimal validation of the counts to avoid walking
* off the end of our table space. jdhuff.c will check more carefully. * off the end of our table space. jdhuff.c will check more carefully.
*/ */
if (count > 256 || ((INT32) count) > length) if (count > 256 || ((JPEG_INT32) count) > length)
ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
@ -490,7 +490,7 @@ LOCAL(boolean)
get_dqt (j_decompress_ptr cinfo) get_dqt (j_decompress_ptr cinfo)
/* Process a DQT marker */ /* Process a DQT marker */
{ {
INT32 length; JPEG_INT32 length;
int n, i, prec; int n, i, prec;
unsigned int tmp; unsigned int tmp;
JQUANT_TBL *quant_ptr; JQUANT_TBL *quant_ptr;
@ -548,7 +548,7 @@ LOCAL(boolean)
get_dri (j_decompress_ptr cinfo) get_dri (j_decompress_ptr cinfo)
/* Process a DRI marker */ /* Process a DRI marker */
{ {
INT32 length; JPEG_INT32 length;
unsigned int tmp; unsigned int tmp;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
@ -582,13 +582,13 @@ get_dri (j_decompress_ptr cinfo)
LOCAL(void) LOCAL(void)
examine_app0 (j_decompress_ptr cinfo, JOCTET FAR * data, examine_app0 (j_decompress_ptr cinfo, JOCTET FAR * data,
unsigned int datalen, INT32 remaining) unsigned int datalen, JPEG_INT32 remaining)
/* Examine first few bytes from an APP0. /* Examine first few bytes from an APP0.
* Take appropriate action if it is a JFIF marker. * Take appropriate action if it is a JFIF marker.
* datalen is # of bytes at data[], remaining is length of rest of marker data. * datalen is # of bytes at data[], remaining is length of rest of marker data.
*/ */
{ {
INT32 totallen = (INT32) datalen + remaining; JPEG_INT32 totallen = (JPEG_INT32) datalen + remaining;
if (datalen >= APP0_DATA_LEN && if (datalen >= APP0_DATA_LEN &&
GETJOCTET(data[0]) == 0x4A && GETJOCTET(data[0]) == 0x4A &&
@ -622,7 +622,7 @@ examine_app0 (j_decompress_ptr cinfo, JOCTET FAR * data,
GETJOCTET(data[12]), GETJOCTET(data[13])); GETJOCTET(data[12]), GETJOCTET(data[13]));
totallen -= APP0_DATA_LEN; totallen -= APP0_DATA_LEN;
if (totallen != if (totallen !=
((INT32)GETJOCTET(data[12]) * (INT32)GETJOCTET(data[13]) * (INT32) 3)) ((JPEG_INT32)GETJOCTET(data[12]) * (JPEG_INT32)GETJOCTET(data[13]) * (JPEG_INT32) 3))
TRACEMS1(cinfo, 1, JTRC_JFIF_BADTHUMBNAILSIZE, (int) totallen); TRACEMS1(cinfo, 1, JTRC_JFIF_BADTHUMBNAILSIZE, (int) totallen);
} else if (datalen >= 6 && } else if (datalen >= 6 &&
GETJOCTET(data[0]) == 0x4A && GETJOCTET(data[0]) == 0x4A &&
@ -658,7 +658,7 @@ examine_app0 (j_decompress_ptr cinfo, JOCTET FAR * data,
LOCAL(void) LOCAL(void)
examine_app14 (j_decompress_ptr cinfo, JOCTET FAR * data, examine_app14 (j_decompress_ptr cinfo, JOCTET FAR * data,
unsigned int datalen, INT32 remaining) unsigned int datalen, JPEG_INT32 remaining)
/* Examine first few bytes from an APP14. /* Examine first few bytes from an APP14.
* Take appropriate action if it is an Adobe marker. * Take appropriate action if it is an Adobe marker.
* datalen is # of bytes at data[], remaining is length of rest of marker data. * datalen is # of bytes at data[], remaining is length of rest of marker data.
@ -691,7 +691,7 @@ METHODDEF(boolean)
get_interesting_appn (j_decompress_ptr cinfo) get_interesting_appn (j_decompress_ptr cinfo)
/* Process an APP0 or APP14 marker without saving it */ /* Process an APP0 or APP14 marker without saving it */
{ {
INT32 length; JPEG_INT32 length;
JOCTET b[APPN_DATA_LEN]; JOCTET b[APPN_DATA_LEN];
unsigned int i, numtoread; unsigned int i, numtoread;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
@ -743,7 +743,7 @@ save_marker (j_decompress_ptr cinfo)
jpeg_saved_marker_ptr cur_marker = marker->cur_marker; jpeg_saved_marker_ptr cur_marker = marker->cur_marker;
unsigned int bytes_read, data_length; unsigned int bytes_read, data_length;
JOCTET FAR * data; JOCTET FAR * data;
INT32 length = 0; JPEG_INT32 length = 0;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
if (cur_marker == NULL) { if (cur_marker == NULL) {
@ -845,7 +845,7 @@ METHODDEF(boolean)
skip_variable (j_decompress_ptr cinfo) skip_variable (j_decompress_ptr cinfo)
/* Skip over an unknown or uninteresting variable-length marker */ /* Skip over an unknown or uninteresting variable-length marker */
{ {
INT32 length; JPEG_INT32 length;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
INPUT_2BYTES(cinfo, length, return FALSE); INPUT_2BYTES(cinfo, length, return FALSE);

View File

@ -52,8 +52,8 @@ typedef struct {
/* Private state for YCC->RGB conversion */ /* Private state for YCC->RGB conversion */
int * Cr_r_tab; /* => table for Cr to R conversion */ int * Cr_r_tab; /* => table for Cr to R conversion */
int * Cb_b_tab; /* => table for Cb to B conversion */ int * Cb_b_tab; /* => table for Cb to B conversion */
INT32 * Cr_g_tab; /* => table for Cr to G conversion */ JPEG_INT32 * Cr_g_tab; /* => table for Cr to G conversion */
INT32 * Cb_g_tab; /* => table for Cb to G conversion */ JPEG_INT32 * Cb_g_tab; /* => table for Cb to G conversion */
/* For 2:1 vertical sampling, we produce two output rows at a time. /* For 2:1 vertical sampling, we produce two output rows at a time.
* We need a "spare" row buffer to hold the second output row if the * We need a "spare" row buffer to hold the second output row if the
@ -70,8 +70,8 @@ typedef struct {
typedef my_upsampler * my_upsample_ptr; typedef my_upsampler * my_upsample_ptr;
#define SCALEBITS 16 /* speediest right-shift on some machines */ #define SCALEBITS 16 /* speediest right-shift on some machines */
#define ONE_HALF ((INT32) 1 << (SCALEBITS-1)) #define ONE_HALF ((JPEG_INT32) 1 << (SCALEBITS-1))
#define FIX(x) ((INT32) ((x) * (1L<<SCALEBITS) + 0.5)) #define FIX(x) ((JPEG_INT32) ((x) * (1L<<SCALEBITS) + 0.5))
/* /*
@ -84,7 +84,7 @@ build_ycc_rgb_table (j_decompress_ptr cinfo)
{ {
my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample; my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
int i; int i;
INT32 x; JPEG_INT32 x;
SHIFT_TEMPS SHIFT_TEMPS
upsample->Cr_r_tab = (int *) upsample->Cr_r_tab = (int *)
@ -93,12 +93,12 @@ build_ycc_rgb_table (j_decompress_ptr cinfo)
upsample->Cb_b_tab = (int *) upsample->Cb_b_tab = (int *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
(MAXJSAMPLE+1) * SIZEOF(int)); (MAXJSAMPLE+1) * SIZEOF(int));
upsample->Cr_g_tab = (INT32 *) upsample->Cr_g_tab = (JPEG_INT32 *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
(MAXJSAMPLE+1) * SIZEOF(INT32)); (MAXJSAMPLE+1) * SIZEOF(JPEG_INT32));
upsample->Cb_g_tab = (INT32 *) upsample->Cb_g_tab = (JPEG_INT32 *)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
(MAXJSAMPLE+1) * SIZEOF(INT32)); (MAXJSAMPLE+1) * SIZEOF(JPEG_INT32));
for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) {
/* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */
@ -237,8 +237,8 @@ h2v1_merged_upsample (j_decompress_ptr cinfo,
register JSAMPLE * range_limit = cinfo->sample_range_limit; register JSAMPLE * range_limit = cinfo->sample_range_limit;
int * Crrtab = upsample->Cr_r_tab; int * Crrtab = upsample->Cr_r_tab;
int * Cbbtab = upsample->Cb_b_tab; int * Cbbtab = upsample->Cb_b_tab;
INT32 * Crgtab = upsample->Cr_g_tab; JPEG_INT32 * Crgtab = upsample->Cr_g_tab;
INT32 * Cbgtab = upsample->Cb_g_tab; JPEG_INT32 * Cbgtab = upsample->Cb_g_tab;
SHIFT_TEMPS SHIFT_TEMPS
inptr0 = input_buf[0][in_row_group_ctr]; inptr0 = input_buf[0][in_row_group_ctr];
@ -299,8 +299,8 @@ h2v2_merged_upsample (j_decompress_ptr cinfo,
register JSAMPLE * range_limit = cinfo->sample_range_limit; register JSAMPLE * range_limit = cinfo->sample_range_limit;
int * Crrtab = upsample->Cr_r_tab; int * Crrtab = upsample->Cr_r_tab;
int * Cbbtab = upsample->Cb_b_tab; int * Cbbtab = upsample->Cb_b_tab;
INT32 * Crgtab = upsample->Cr_g_tab; JPEG_INT32 * Crgtab = upsample->Cr_g_tab;
INT32 * Cbgtab = upsample->Cb_g_tab; JPEG_INT32 * Cbgtab = upsample->Cb_g_tab;
SHIFT_TEMPS SHIFT_TEMPS
inptr00 = input_buf[0][in_row_group_ctr*2]; inptr00 = input_buf[0][in_row_group_ctr*2];

View File

@ -350,7 +350,7 @@ h2v2_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr,
#if BITS_IN_JSAMPLE == 8 #if BITS_IN_JSAMPLE == 8
register int thiscolsum, lastcolsum, nextcolsum; register int thiscolsum, lastcolsum, nextcolsum;
#else #else
register INT32 thiscolsum, lastcolsum, nextcolsum; register JPEG_INT32 thiscolsum, lastcolsum, nextcolsum;
#endif #endif
register JDIMENSION colctr; register JDIMENSION colctr;
int inrow, outrow, v; int inrow, outrow, v;

View File

@ -76,10 +76,10 @@
*/ */
#if CONST_BITS == 8 #if CONST_BITS == 8
#define FIX_0_382683433 ((INT32) 98) /* FIX(0.382683433) */ #define FIX_0_382683433 ((JPEG_INT32) 98) /* FIX(0.382683433) */
#define FIX_0_541196100 ((INT32) 139) /* FIX(0.541196100) */ #define FIX_0_541196100 ((JPEG_INT32) 139) /* FIX(0.541196100) */
#define FIX_0_707106781 ((INT32) 181) /* FIX(0.707106781) */ #define FIX_0_707106781 ((JPEG_INT32) 181) /* FIX(0.707106781) */
#define FIX_1_306562965 ((INT32) 334) /* FIX(1.306562965) */ #define FIX_1_306562965 ((JPEG_INT32) 334) /* FIX(1.306562965) */
#else #else
#define FIX_0_382683433 FIX(0.382683433) #define FIX_0_382683433 FIX(0.382683433)
#define FIX_0_541196100 FIX(0.541196100) #define FIX_0_541196100 FIX(0.541196100)

View File

@ -90,18 +90,18 @@
*/ */
#if CONST_BITS == 13 #if CONST_BITS == 13
#define FIX_0_298631336 ((INT32) 2446) /* FIX(0.298631336) */ #define FIX_0_298631336 ((JPEG_INT32) 2446) /* FIX(0.298631336) */
#define FIX_0_390180644 ((INT32) 3196) /* FIX(0.390180644) */ #define FIX_0_390180644 ((JPEG_INT32) 3196) /* FIX(0.390180644) */
#define FIX_0_541196100 ((INT32) 4433) /* FIX(0.541196100) */ #define FIX_0_541196100 ((JPEG_INT32) 4433) /* FIX(0.541196100) */
#define FIX_0_765366865 ((INT32) 6270) /* FIX(0.765366865) */ #define FIX_0_765366865 ((JPEG_INT32) 6270) /* FIX(0.765366865) */
#define FIX_0_899976223 ((INT32) 7373) /* FIX(0.899976223) */ #define FIX_0_899976223 ((JPEG_INT32) 7373) /* FIX(0.899976223) */
#define FIX_1_175875602 ((INT32) 9633) /* FIX(1.175875602) */ #define FIX_1_175875602 ((JPEG_INT32) 9633) /* FIX(1.175875602) */
#define FIX_1_501321110 ((INT32) 12299) /* FIX(1.501321110) */ #define FIX_1_501321110 ((JPEG_INT32) 12299) /* FIX(1.501321110) */
#define FIX_1_847759065 ((INT32) 15137) /* FIX(1.847759065) */ #define FIX_1_847759065 ((JPEG_INT32) 15137) /* FIX(1.847759065) */
#define FIX_1_961570560 ((INT32) 16069) /* FIX(1.961570560) */ #define FIX_1_961570560 ((JPEG_INT32) 16069) /* FIX(1.961570560) */
#define FIX_2_053119869 ((INT32) 16819) /* FIX(2.053119869) */ #define FIX_2_053119869 ((JPEG_INT32) 16819) /* FIX(2.053119869) */
#define FIX_2_562915447 ((INT32) 20995) /* FIX(2.562915447) */ #define FIX_2_562915447 ((JPEG_INT32) 20995) /* FIX(2.562915447) */
#define FIX_3_072711026 ((INT32) 25172) /* FIX(3.072711026) */ #define FIX_3_072711026 ((JPEG_INT32) 25172) /* FIX(3.072711026) */
#else #else
#define FIX_0_298631336 FIX(0.298631336) #define FIX_0_298631336 FIX(0.298631336)
#define FIX_0_390180644 FIX(0.390180644) #define FIX_0_390180644 FIX(0.390180644)
@ -139,9 +139,9 @@
GLOBAL(void) GLOBAL(void)
jpeg_fdct_islow (DCTELEM * data) jpeg_fdct_islow (DCTELEM * data)
{ {
INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7; JPEG_INT32 tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
INT32 tmp10, tmp11, tmp12, tmp13; JPEG_INT32 tmp10, tmp11, tmp12, tmp13;
INT32 z1, z2, z3, z4, z5; JPEG_INT32 z1, z2, z3, z4, z5;
DCTELEM *dataptr; DCTELEM *dataptr;
int ctr; int ctr;
SHIFT_TEMPS SHIFT_TEMPS

View File

@ -218,21 +218,21 @@ jpeg_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr,
/* Final output stage: scale down by a factor of 8 and range-limit */ /* Final output stage: scale down by a factor of 8 and range-limit */
outptr[0] = range_limit[(int) DESCALE((INT32) (tmp0 + tmp7), 3) outptr[0] = range_limit[(int) DESCALE((JPEG_INT32) (tmp0 + tmp7), 3)
& RANGE_MASK]; & RANGE_MASK];
outptr[7] = range_limit[(int) DESCALE((INT32) (tmp0 - tmp7), 3) outptr[7] = range_limit[(int) DESCALE((JPEG_INT32) (tmp0 - tmp7), 3)
& RANGE_MASK]; & RANGE_MASK];
outptr[1] = range_limit[(int) DESCALE((INT32) (tmp1 + tmp6), 3) outptr[1] = range_limit[(int) DESCALE((JPEG_INT32) (tmp1 + tmp6), 3)
& RANGE_MASK]; & RANGE_MASK];
outptr[6] = range_limit[(int) DESCALE((INT32) (tmp1 - tmp6), 3) outptr[6] = range_limit[(int) DESCALE((JPEG_INT32) (tmp1 - tmp6), 3)
& RANGE_MASK]; & RANGE_MASK];
outptr[2] = range_limit[(int) DESCALE((INT32) (tmp2 + tmp5), 3) outptr[2] = range_limit[(int) DESCALE((JPEG_INT32) (tmp2 + tmp5), 3)
& RANGE_MASK]; & RANGE_MASK];
outptr[5] = range_limit[(int) DESCALE((INT32) (tmp2 - tmp5), 3) outptr[5] = range_limit[(int) DESCALE((JPEG_INT32) (tmp2 - tmp5), 3)
& RANGE_MASK]; & RANGE_MASK];
outptr[4] = range_limit[(int) DESCALE((INT32) (tmp3 + tmp4), 3) outptr[4] = range_limit[(int) DESCALE((JPEG_INT32) (tmp3 + tmp4), 3)
& RANGE_MASK]; & RANGE_MASK];
outptr[3] = range_limit[(int) DESCALE((INT32) (tmp3 - tmp4), 3) outptr[3] = range_limit[(int) DESCALE((JPEG_INT32) (tmp3 - tmp4), 3)
& RANGE_MASK]; & RANGE_MASK];
wsptr += DCTSIZE; /* advance pointer to next row */ wsptr += DCTSIZE; /* advance pointer to next row */

View File

@ -89,10 +89,10 @@
*/ */
#if CONST_BITS == 8 #if CONST_BITS == 8
#define FIX_1_082392200 ((INT32) 277) /* FIX(1.082392200) */ #define FIX_1_082392200 ((JPEG_INT32) 277) /* FIX(1.082392200) */
#define FIX_1_414213562 ((INT32) 362) /* FIX(1.414213562) */ #define FIX_1_414213562 ((JPEG_INT32) 362) /* FIX(1.414213562) */
#define FIX_1_847759065 ((INT32) 473) /* FIX(1.847759065) */ #define FIX_1_847759065 ((JPEG_INT32) 473) /* FIX(1.847759065) */
#define FIX_2_613125930 ((INT32) 669) /* FIX(2.613125930) */ #define FIX_2_613125930 ((JPEG_INT32) 669) /* FIX(2.613125930) */
#else #else
#define FIX_1_082392200 FIX(1.082392200) #define FIX_1_082392200 FIX(1.082392200)
#define FIX_1_414213562 FIX(1.414213562) #define FIX_1_414213562 FIX(1.414213562)

View File

@ -90,18 +90,18 @@
*/ */
#if CONST_BITS == 13 #if CONST_BITS == 13
#define FIX_0_298631336 ((INT32) 2446) /* FIX(0.298631336) */ #define FIX_0_298631336 ((JPEG_INT32) 2446) /* FIX(0.298631336) */
#define FIX_0_390180644 ((INT32) 3196) /* FIX(0.390180644) */ #define FIX_0_390180644 ((JPEG_INT32) 3196) /* FIX(0.390180644) */
#define FIX_0_541196100 ((INT32) 4433) /* FIX(0.541196100) */ #define FIX_0_541196100 ((JPEG_INT32) 4433) /* FIX(0.541196100) */
#define FIX_0_765366865 ((INT32) 6270) /* FIX(0.765366865) */ #define FIX_0_765366865 ((JPEG_INT32) 6270) /* FIX(0.765366865) */
#define FIX_0_899976223 ((INT32) 7373) /* FIX(0.899976223) */ #define FIX_0_899976223 ((JPEG_INT32) 7373) /* FIX(0.899976223) */
#define FIX_1_175875602 ((INT32) 9633) /* FIX(1.175875602) */ #define FIX_1_175875602 ((JPEG_INT32) 9633) /* FIX(1.175875602) */
#define FIX_1_501321110 ((INT32) 12299) /* FIX(1.501321110) */ #define FIX_1_501321110 ((JPEG_INT32) 12299) /* FIX(1.501321110) */
#define FIX_1_847759065 ((INT32) 15137) /* FIX(1.847759065) */ #define FIX_1_847759065 ((JPEG_INT32) 15137) /* FIX(1.847759065) */
#define FIX_1_961570560 ((INT32) 16069) /* FIX(1.961570560) */ #define FIX_1_961570560 ((JPEG_INT32) 16069) /* FIX(1.961570560) */
#define FIX_2_053119869 ((INT32) 16819) /* FIX(2.053119869) */ #define FIX_2_053119869 ((JPEG_INT32) 16819) /* FIX(2.053119869) */
#define FIX_2_562915447 ((INT32) 20995) /* FIX(2.562915447) */ #define FIX_2_562915447 ((JPEG_INT32) 20995) /* FIX(2.562915447) */
#define FIX_3_072711026 ((INT32) 25172) /* FIX(3.072711026) */ #define FIX_3_072711026 ((JPEG_INT32) 25172) /* FIX(3.072711026) */
#else #else
#define FIX_0_298631336 FIX(0.298631336) #define FIX_0_298631336 FIX(0.298631336)
#define FIX_0_390180644 FIX(0.390180644) #define FIX_0_390180644 FIX(0.390180644)
@ -149,9 +149,9 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
JCOEFPTR coef_block, JCOEFPTR coef_block,
JSAMPARRAY output_buf, JDIMENSION output_col) JSAMPARRAY output_buf, JDIMENSION output_col)
{ {
INT32 tmp0, tmp1, tmp2, tmp3; JPEG_INT32 tmp0, tmp1, tmp2, tmp3;
INT32 tmp10, tmp11, tmp12, tmp13; JPEG_INT32 tmp10, tmp11, tmp12, tmp13;
INT32 z1, z2, z3, z4, z5; JPEG_INT32 z1, z2, z3, z4, z5;
JCOEFPTR inptr; JCOEFPTR inptr;
ISLOW_MULT_TYPE * quantptr; ISLOW_MULT_TYPE * quantptr;
int * wsptr; int * wsptr;
@ -288,7 +288,7 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 && wsptr[4] == 0 && if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 && wsptr[4] == 0 &&
wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) { wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) {
/* AC terms all zero */ /* AC terms all zero */
JSAMPLE dcval = range_limit[(int) DESCALE((INT32) wsptr[0], PASS1_BITS+3) JSAMPLE dcval = range_limit[(int) DESCALE((JPEG_INT32) wsptr[0], PASS1_BITS+3)
& RANGE_MASK]; & RANGE_MASK];
outptr[0] = dcval; outptr[0] = dcval;
@ -308,15 +308,15 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
/* Even part: reverse the even part of the forward DCT. */ /* Even part: reverse the even part of the forward DCT. */
/* The rotator is sqrt(2)*c(-6). */ /* The rotator is sqrt(2)*c(-6). */
z2 = (INT32) wsptr[2]; z2 = (JPEG_INT32) wsptr[2];
z3 = (INT32) wsptr[6]; z3 = (JPEG_INT32) wsptr[6];
z1 = MULTIPLY(z2 + z3, FIX_0_541196100); z1 = MULTIPLY(z2 + z3, FIX_0_541196100);
tmp2 = z1 + MULTIPLY(z3, - FIX_1_847759065); tmp2 = z1 + MULTIPLY(z3, - FIX_1_847759065);
tmp3 = z1 + MULTIPLY(z2, FIX_0_765366865); tmp3 = z1 + MULTIPLY(z2, FIX_0_765366865);
tmp0 = ((INT32) wsptr[0] + (INT32) wsptr[4]) << CONST_BITS; tmp0 = ((JPEG_INT32) wsptr[0] + (JPEG_INT32) wsptr[4]) << CONST_BITS;
tmp1 = ((INT32) wsptr[0] - (INT32) wsptr[4]) << CONST_BITS; tmp1 = ((JPEG_INT32) wsptr[0] - (JPEG_INT32) wsptr[4]) << CONST_BITS;
tmp10 = tmp0 + tmp3; tmp10 = tmp0 + tmp3;
tmp13 = tmp0 - tmp3; tmp13 = tmp0 - tmp3;
@ -327,10 +327,10 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
* transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively.
*/ */
tmp0 = (INT32) wsptr[7]; tmp0 = (JPEG_INT32) wsptr[7];
tmp1 = (INT32) wsptr[5]; tmp1 = (JPEG_INT32) wsptr[5];
tmp2 = (INT32) wsptr[3]; tmp2 = (JPEG_INT32) wsptr[3];
tmp3 = (INT32) wsptr[1]; tmp3 = (JPEG_INT32) wsptr[1];
z1 = tmp0 + tmp3; z1 = tmp0 + tmp3;
z2 = tmp1 + tmp2; z2 = tmp1 + tmp2;

View File

@ -55,20 +55,20 @@
*/ */
#if CONST_BITS == 13 #if CONST_BITS == 13
#define FIX_0_211164243 ((INT32) 1730) /* FIX(0.211164243) */ #define FIX_0_211164243 ((JPEG_INT32) 1730) /* FIX(0.211164243) */
#define FIX_0_509795579 ((INT32) 4176) /* FIX(0.509795579) */ #define FIX_0_509795579 ((JPEG_INT32) 4176) /* FIX(0.509795579) */
#define FIX_0_601344887 ((INT32) 4926) /* FIX(0.601344887) */ #define FIX_0_601344887 ((JPEG_INT32) 4926) /* FIX(0.601344887) */
#define FIX_0_720959822 ((INT32) 5906) /* FIX(0.720959822) */ #define FIX_0_720959822 ((JPEG_INT32) 5906) /* FIX(0.720959822) */
#define FIX_0_765366865 ((INT32) 6270) /* FIX(0.765366865) */ #define FIX_0_765366865 ((JPEG_INT32) 6270) /* FIX(0.765366865) */
#define FIX_0_850430095 ((INT32) 6967) /* FIX(0.850430095) */ #define FIX_0_850430095 ((JPEG_INT32) 6967) /* FIX(0.850430095) */
#define FIX_0_899976223 ((INT32) 7373) /* FIX(0.899976223) */ #define FIX_0_899976223 ((JPEG_INT32) 7373) /* FIX(0.899976223) */
#define FIX_1_061594337 ((INT32) 8697) /* FIX(1.061594337) */ #define FIX_1_061594337 ((JPEG_INT32) 8697) /* FIX(1.061594337) */
#define FIX_1_272758580 ((INT32) 10426) /* FIX(1.272758580) */ #define FIX_1_272758580 ((JPEG_INT32) 10426) /* FIX(1.272758580) */
#define FIX_1_451774981 ((INT32) 11893) /* FIX(1.451774981) */ #define FIX_1_451774981 ((JPEG_INT32) 11893) /* FIX(1.451774981) */
#define FIX_1_847759065 ((INT32) 15137) /* FIX(1.847759065) */ #define FIX_1_847759065 ((JPEG_INT32) 15137) /* FIX(1.847759065) */
#define FIX_2_172734803 ((INT32) 17799) /* FIX(2.172734803) */ #define FIX_2_172734803 ((JPEG_INT32) 17799) /* FIX(2.172734803) */
#define FIX_2_562915447 ((INT32) 20995) /* FIX(2.562915447) */ #define FIX_2_562915447 ((JPEG_INT32) 20995) /* FIX(2.562915447) */
#define FIX_3_624509785 ((INT32) 29692) /* FIX(3.624509785) */ #define FIX_3_624509785 ((JPEG_INT32) 29692) /* FIX(3.624509785) */
#else #else
#define FIX_0_211164243 FIX(0.211164243) #define FIX_0_211164243 FIX(0.211164243)
#define FIX_0_509795579 FIX(0.509795579) #define FIX_0_509795579 FIX(0.509795579)
@ -119,8 +119,8 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
JCOEFPTR coef_block, JCOEFPTR coef_block,
JSAMPARRAY output_buf, JDIMENSION output_col) JSAMPARRAY output_buf, JDIMENSION output_col)
{ {
INT32 tmp0, tmp2, tmp10, tmp12; JPEG_INT32 tmp0, tmp2, tmp10, tmp12;
INT32 z1, z2, z3, z4; JPEG_INT32 z1, z2, z3, z4;
JCOEFPTR inptr; JCOEFPTR inptr;
ISLOW_MULT_TYPE * quantptr; ISLOW_MULT_TYPE * quantptr;
int * wsptr; int * wsptr;
@ -202,7 +202,7 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 && if (wsptr[1] == 0 && wsptr[2] == 0 && wsptr[3] == 0 &&
wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) { wsptr[5] == 0 && wsptr[6] == 0 && wsptr[7] == 0) {
/* AC terms all zero */ /* AC terms all zero */
JSAMPLE dcval = range_limit[(int) DESCALE((INT32) wsptr[0], PASS1_BITS+3) JSAMPLE dcval = range_limit[(int) DESCALE((JPEG_INT32) wsptr[0], PASS1_BITS+3)
& RANGE_MASK]; & RANGE_MASK];
outptr[0] = dcval; outptr[0] = dcval;
@ -217,20 +217,20 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
/* Even part */ /* Even part */
tmp0 = ((INT32) wsptr[0]) << (CONST_BITS+1); tmp0 = ((JPEG_INT32) wsptr[0]) << (CONST_BITS+1);
tmp2 = MULTIPLY((INT32) wsptr[2], FIX_1_847759065) tmp2 = MULTIPLY((JPEG_INT32) wsptr[2], FIX_1_847759065)
+ MULTIPLY((INT32) wsptr[6], - FIX_0_765366865); + MULTIPLY((JPEG_INT32) wsptr[6], - FIX_0_765366865);
tmp10 = tmp0 + tmp2; tmp10 = tmp0 + tmp2;
tmp12 = tmp0 - tmp2; tmp12 = tmp0 - tmp2;
/* Odd part */ /* Odd part */
z1 = (INT32) wsptr[7]; z1 = (JPEG_INT32) wsptr[7];
z2 = (INT32) wsptr[5]; z2 = (JPEG_INT32) wsptr[5];
z3 = (INT32) wsptr[3]; z3 = (JPEG_INT32) wsptr[3];
z4 = (INT32) wsptr[1]; z4 = (JPEG_INT32) wsptr[1];
tmp0 = MULTIPLY(z1, - FIX_0_211164243) /* sqrt(2) * (c3-c1) */ tmp0 = MULTIPLY(z1, - FIX_0_211164243) /* sqrt(2) * (c3-c1) */
+ MULTIPLY(z2, FIX_1_451774981) /* sqrt(2) * (c3+c7) */ + MULTIPLY(z2, FIX_1_451774981) /* sqrt(2) * (c3+c7) */
@ -272,7 +272,7 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
JCOEFPTR coef_block, JCOEFPTR coef_block,
JSAMPARRAY output_buf, JDIMENSION output_col) JSAMPARRAY output_buf, JDIMENSION output_col)
{ {
INT32 tmp0, tmp10, z1; JPEG_INT32 tmp0, tmp10, z1;
JCOEFPTR inptr; JCOEFPTR inptr;
ISLOW_MULT_TYPE * quantptr; ISLOW_MULT_TYPE * quantptr;
int * wsptr; int * wsptr;
@ -334,7 +334,7 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
#ifndef NO_ZERO_ROW_TEST #ifndef NO_ZERO_ROW_TEST
if (wsptr[1] == 0 && wsptr[3] == 0 && wsptr[5] == 0 && wsptr[7] == 0) { if (wsptr[1] == 0 && wsptr[3] == 0 && wsptr[5] == 0 && wsptr[7] == 0) {
/* AC terms all zero */ /* AC terms all zero */
JSAMPLE dcval = range_limit[(int) DESCALE((INT32) wsptr[0], PASS1_BITS+3) JSAMPLE dcval = range_limit[(int) DESCALE((JPEG_INT32) wsptr[0], PASS1_BITS+3)
& RANGE_MASK]; & RANGE_MASK];
outptr[0] = dcval; outptr[0] = dcval;
@ -347,14 +347,14 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
/* Even part */ /* Even part */
tmp10 = ((INT32) wsptr[0]) << (CONST_BITS+2); tmp10 = ((JPEG_INT32) wsptr[0]) << (CONST_BITS+2);
/* Odd part */ /* Odd part */
tmp0 = MULTIPLY((INT32) wsptr[7], - FIX_0_720959822) /* sqrt(2) * (c7-c5+c3-c1) */ tmp0 = MULTIPLY((JPEG_INT32) wsptr[7], - FIX_0_720959822) /* sqrt(2) * (c7-c5+c3-c1) */
+ MULTIPLY((INT32) wsptr[5], FIX_0_850430095) /* sqrt(2) * (-c1+c3+c5+c7) */ + MULTIPLY((JPEG_INT32) wsptr[5], FIX_0_850430095) /* sqrt(2) * (-c1+c3+c5+c7) */
+ MULTIPLY((INT32) wsptr[3], - FIX_1_272758580) /* sqrt(2) * (-c1+c3-c5-c7) */ + MULTIPLY((JPEG_INT32) wsptr[3], - FIX_1_272758580) /* sqrt(2) * (-c1+c3-c5-c7) */
+ MULTIPLY((INT32) wsptr[1], FIX_3_624509785); /* sqrt(2) * (c1+c3+c5+c7) */ + MULTIPLY((JPEG_INT32) wsptr[1], FIX_3_624509785); /* sqrt(2) * (c1+c3+c5+c7) */
/* Final output stage */ /* Final output stage */
@ -390,7 +390,7 @@ jpeg_idct_1x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
*/ */
quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table;
dcval = DEQUANTIZE(coef_block[0], quantptr[0]); dcval = DEQUANTIZE(coef_block[0], quantptr[0]);
dcval = (int) DESCALE((INT32) dcval, 3); dcval = (int) DESCALE((JPEG_INT32) dcval, 3);
output_buf[0][output_col] = range_limit[dcval & RANGE_MASK]; output_buf[0][output_col] = range_limit[dcval & RANGE_MASK];
} }

View File

@ -155,39 +155,19 @@ typedef unsigned int UINT16;
typedef short INT16; typedef short INT16;
#endif #endif
#if defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || defined( __CYGWIN__ )
#include <wx/msw/gccpriv.h>
#else
#undef wxCHECK_W32API_VERSION
#define wxCHECK_W32API_VERSION(maj, min) (0)
#endif
/* INT32 must hold at least signed 32-bit values. */ /* INT32 must hold at least signed 32-bit values. */
/* you may define INT32_DEFINED if it is already defined somewhere */ /*
#ifndef INT32_DEFINED VZ: due to the horrible mess resulting in INT32 being defined in windows.h
#ifdef XMD_H for some compilers but not for the other ones, I have globally replace
/* X11/xmd.h correctly defines INT32 */ INT32 with JPEG_INT32 in libjpeg code to avoid the eight level ifdef
#define INT32_DEFINED which used to be here. The problem is that, of course, now we'll have
/* Note: GnuPRO 00r1 should be tested because it does NOT define INT32 in windows.h */ conflicts when upgrading to the next libjpeg release -- however
/* For this compiler, set the following test to 0. */ considering their frequency (1 in the last 5 years) it seems that
#elif (_MSC_VER >= 1200) || (__BORLANDC__ >= 0x550) \ it is not too high a price to pay for the clean compilation with all
|| wxCHECK_W32API_VERSION( 0, 5 ) \ versions of mingw32 and cygwin
|| ((defined(__MINGW32__) || defined(__CYGWIN__)) \ */
&& ((__GNUC__>2) || ((__GNUC__==2) && (__GNUC_MINOR__>=95)))) \ typedef long JPEG_INT32;
|| (defined(__MWERKS__) && defined(__WXMSW__))
/* INT32 is defined in windows.h for these compilers */
#define INT32_DEFINED
#include <windows.h>
#endif
#endif /* !INT32_DEFINED */
#ifndef INT32_DEFINED
typedef long INT32;
#endif
#undef INT32_DEFINED
/* Datatype used for image dimensions. The JPEG standard only supports /* Datatype used for image dimensions. The JPEG standard only supports
* images up to 64K*64K due to 16-bit fields in SOF markers. Therefore * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore

View File

@ -280,10 +280,10 @@ struct jpeg_color_quantizer {
*/ */
#ifdef RIGHT_SHIFT_IS_UNSIGNED #ifdef RIGHT_SHIFT_IS_UNSIGNED
#define SHIFT_TEMPS INT32 shift_temp; #define SHIFT_TEMPS JPEG_INT32 shift_temp;
#define RIGHT_SHIFT(x,shft) \ #define RIGHT_SHIFT(x,shft) \
((shift_temp = (x)) < 0 ? \ ((shift_temp = (x)) < 0 ? \
(shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \ (shift_temp >> (shft)) | ((~((JPEG_INT32) 0)) << (32-(shft))) : \
(shift_temp >> (shft))) (shift_temp >> (shft)))
#else #else
#define SHIFT_TEMPS #define SHIFT_TEMPS

View File

@ -128,8 +128,8 @@ static const UINT8 base_dither_matrix[ODITHER_SIZE][ODITHER_SIZE] = {
typedef INT16 FSERROR; /* 16 bits should be enough */ typedef INT16 FSERROR; /* 16 bits should be enough */
typedef int LOCFSERROR; /* use 'int' for calculation temps */ typedef int LOCFSERROR; /* use 'int' for calculation temps */
#else #else
typedef INT32 FSERROR; /* may need more than 16 bits */ typedef JPEG_INT32 FSERROR; /* may need more than 16 bits */
typedef INT32 LOCFSERROR; /* be sure calculation temps are big enough */ typedef JPEG_INT32 LOCFSERROR; /* be sure calculation temps are big enough */
#endif #endif
typedef FSERROR FAR *FSERRPTR; /* pointer to error array (in FAR storage!) */ typedef FSERROR FAR *FSERRPTR; /* pointer to error array (in FAR storage!) */
@ -251,7 +251,7 @@ output_value (j_decompress_ptr cinfo, int ci, int j, int maxj)
* (Forcing the upper and lower values to the limits ensures that * (Forcing the upper and lower values to the limits ensures that
* dithering can't produce a color outside the selected gamut.) * dithering can't produce a color outside the selected gamut.)
*/ */
return (int) (((INT32) j * MAXJSAMPLE + maxj/2) / maxj); return (int) (((JPEG_INT32) j * MAXJSAMPLE + maxj/2) / maxj);
} }
@ -261,7 +261,7 @@ largest_input_value (j_decompress_ptr cinfo, int ci, int j, int maxj)
/* Must have largest(j=0) >= 0, and largest(j=maxj) >= MAXJSAMPLE */ /* Must have largest(j=0) >= 0, and largest(j=maxj) >= MAXJSAMPLE */
{ {
/* Breakpoints are halfway between values returned by output_value */ /* Breakpoints are halfway between values returned by output_value */
return (int) (((INT32) (2*j + 1) * MAXJSAMPLE + maxj) / (2*maxj)); return (int) (((JPEG_INT32) (2*j + 1) * MAXJSAMPLE + maxj) / (2*maxj));
} }
@ -397,7 +397,7 @@ make_odither_array (j_decompress_ptr cinfo, int ncolors)
{ {
ODITHER_MATRIX_PTR odither; ODITHER_MATRIX_PTR odither;
int j,k; int j,k;
INT32 num,den; JPEG_INT32 num,den;
odither = (ODITHER_MATRIX_PTR) odither = (ODITHER_MATRIX_PTR)
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
@ -407,10 +407,10 @@ make_odither_array (j_decompress_ptr cinfo, int ncolors)
* (f=0..N-1) should be (N-1-2*f)/(2*N) * MAXJSAMPLE/(ncolors-1). * (f=0..N-1) should be (N-1-2*f)/(2*N) * MAXJSAMPLE/(ncolors-1).
* On 16-bit-int machine, be careful to avoid overflow. * On 16-bit-int machine, be careful to avoid overflow.
*/ */
den = 2 * ODITHER_CELLS * ((INT32) (ncolors - 1)); den = 2 * ODITHER_CELLS * ((JPEG_INT32) (ncolors - 1));
for (j = 0; j < ODITHER_SIZE; j++) { for (j = 0; j < ODITHER_SIZE; j++) {
for (k = 0; k < ODITHER_SIZE; k++) { for (k = 0; k < ODITHER_SIZE; k++) {
num = ((INT32) (ODITHER_CELLS-1 - 2*((int)base_dither_matrix[j][k]))) num = ((JPEG_INT32) (ODITHER_CELLS-1 - 2*((int)base_dither_matrix[j][k])))
* MAXJSAMPLE; * MAXJSAMPLE;
/* Ensure round towards zero despite C's lack of consistency /* Ensure round towards zero despite C's lack of consistency
* about rounding negative values in integer division... * about rounding negative values in integer division...

View File

@ -181,8 +181,8 @@ typedef hist2d * hist3d; /* type for top-level pointer */
typedef INT16 FSERROR; /* 16 bits should be enough */ typedef INT16 FSERROR; /* 16 bits should be enough */
typedef int LOCFSERROR; /* use 'int' for calculation temps */ typedef int LOCFSERROR; /* use 'int' for calculation temps */
#else #else
typedef INT32 FSERROR; /* may need more than 16 bits */ typedef JPEG_INT32 FSERROR; /* may need more than 16 bits */
typedef INT32 LOCFSERROR; /* be sure calculation temps are big enough */ typedef JPEG_INT32 LOCFSERROR; /* be sure calculation temps are big enough */
#endif #endif
typedef FSERROR FAR *FSERRPTR; /* pointer to error array (in FAR storage!) */ typedef FSERROR FAR *FSERRPTR; /* pointer to error array (in FAR storage!) */
@ -261,7 +261,7 @@ typedef struct {
int c1min, c1max; int c1min, c1max;
int c2min, c2max; int c2min, c2max;
/* The volume (actually 2-norm) of the box */ /* The volume (actually 2-norm) of the box */
INT32 volume; JPEG_INT32 volume;
/* The number of nonzero histogram cells within this box */ /* The number of nonzero histogram cells within this box */
long colorcount; long colorcount;
} box; } box;
@ -296,7 +296,7 @@ find_biggest_volume (boxptr boxlist, int numboxes)
{ {
register boxptr boxp; register boxptr boxp;
register int i; register int i;
register INT32 maxv = 0; register JPEG_INT32 maxv = 0;
boxptr which = NULL; boxptr which = NULL;
for (i = 0, boxp = boxlist; i < numboxes; i++, boxp++) { for (i = 0, boxp = boxlist; i < numboxes; i++, boxp++) {
@ -319,7 +319,7 @@ update_box (j_decompress_ptr cinfo, boxptr boxp)
histptr histp; histptr histp;
int c0,c1,c2; int c0,c1,c2;
int c0min,c0max,c1min,c1max,c2min,c2max; int c0min,c0max,c1min,c1max,c2min,c2max;
INT32 dist0,dist1,dist2; JPEG_INT32 dist0,dist1,dist2;
long ccount; long ccount;
c0min = boxp->c0min; c0max = boxp->c0max; c0min = boxp->c0min; c0max = boxp->c0max;
@ -658,8 +658,8 @@ find_nearby_colors (j_decompress_ptr cinfo, int minc0, int minc1, int minc2,
int maxc0, maxc1, maxc2; int maxc0, maxc1, maxc2;
int centerc0, centerc1, centerc2; int centerc0, centerc1, centerc2;
int i, x, ncolors; int i, x, ncolors;
INT32 minmaxdist, min_dist, max_dist, tdist; JPEG_INT32 minmaxdist, min_dist, max_dist, tdist;
INT32 mindist[MAXNUMCOLORS]; /* min distance to colormap entry i */ JPEG_INT32 mindist[MAXNUMCOLORS]; /* min distance to colormap entry i */
/* Compute true coordinates of update box's upper corner and center. /* Compute true coordinates of update box's upper corner and center.
* Actually we compute the coordinates of the center of the upper-corner * Actually we compute the coordinates of the center of the upper-corner
@ -783,15 +783,15 @@ find_best_colors (j_decompress_ptr cinfo, int minc0, int minc1, int minc2,
{ {
int ic0, ic1, ic2; int ic0, ic1, ic2;
int i, icolor; int i, icolor;
register INT32 * bptr; /* pointer into bestdist[] array */ register JPEG_INT32 * bptr; /* pointer into bestdist[] array */
JSAMPLE * cptr; /* pointer into bestcolor[] array */ JSAMPLE * cptr; /* pointer into bestcolor[] array */
INT32 dist0, dist1; /* initial distance values */ JPEG_INT32 dist0, dist1; /* initial distance values */
register INT32 dist2; /* current distance in inner loop */ register JPEG_INT32 dist2; /* current distance in inner loop */
INT32 xx0, xx1; /* distance increments */ JPEG_INT32 xx0, xx1; /* distance increments */
register INT32 xx2; register JPEG_INT32 xx2;
INT32 inc0, inc1, inc2; /* initial values for increments */ JPEG_INT32 inc0, inc1, inc2; /* initial values for increments */
/* This array holds the distance to the nearest-so-far color for each cell */ /* This array holds the distance to the nearest-so-far color for each cell */
INT32 bestdist[BOX_C0_ELEMS * BOX_C1_ELEMS * BOX_C2_ELEMS]; JPEG_INT32 bestdist[BOX_C0_ELEMS * BOX_C1_ELEMS * BOX_C2_ELEMS];
/* Initialize best-distance for each cell of the update box */ /* Initialize best-distance for each cell of the update box */
bptr = bestdist; bptr = bestdist;