|
|
|
@ -14,11 +14,6 @@
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Ensuring definition INT32 */
|
|
|
|
|
#ifndef INT32
|
|
|
|
|
#define INT32 TQ_INT32
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Declarations for both compression & decompression */
|
|
|
|
|
|
|
|
|
|
typedef enum { /* Operating modes for buffer controllers */
|
|
|
|
@ -280,16 +275,16 @@ struct jpeg_color_quantizer {
|
|
|
|
|
* shift" instructions that shift in copies of the sign bit. But some
|
|
|
|
|
* C compilers implement >> with an unsigned shift. For these machines you
|
|
|
|
|
* must define RIGHT_SHIFT_IS_UNSIGNED.
|
|
|
|
|
* RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
|
|
|
|
|
* RIGHT_SHIFT provides a proper signed right shift of an int32_t quantity.
|
|
|
|
|
* It is only applied with constant shift counts. SHIFT_TEMPS must be
|
|
|
|
|
* included in the variables of any routine using RIGHT_SHIFT.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifdef RIGHT_SHIFT_IS_UNSIGNED
|
|
|
|
|
#define SHIFT_TEMPS INT32 shift_temp;
|
|
|
|
|
#define SHIFT_TEMPS int32_t shift_temp;
|
|
|
|
|
#define RIGHT_SHIFT(x,shft) \
|
|
|
|
|
((shift_temp = (x)) < 0 ? \
|
|
|
|
|
(shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
|
|
|
|
|
(shift_temp >> (shft)) | ((~((int32_t) 0)) << (32-(shft))) : \
|
|
|
|
|
(shift_temp >> (shft)))
|
|
|
|
|
#else
|
|
|
|
|
#define SHIFT_TEMPS
|
|
|
|
@ -402,7 +397,7 @@ extern const int jpeg_natural_order3[]; /* zz to natural order for 3x3 block */
|
|
|
|
|
extern const int jpeg_natural_order2[]; /* zz to natural order for 2x2 block */
|
|
|
|
|
|
|
|
|
|
/* Arithmetic coding probability estimation tables in jaricom.c */
|
|
|
|
|
extern const INT32 jpeg_aritab[];
|
|
|
|
|
extern const int32_t jpeg_aritab[];
|
|
|
|
|
|
|
|
|
|
/* Suppress undefined-structure complaints if necessary. */
|
|
|
|
|
|
|
|
|
@ -691,16 +686,16 @@ struct jpeg_color_quantizer {
|
|
|
|
|
* shift" instructions that shift in copies of the sign bit. But some
|
|
|
|
|
* C compilers implement >> with an unsigned shift. For these machines you
|
|
|
|
|
* must define RIGHT_SHIFT_IS_UNSIGNED.
|
|
|
|
|
* RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
|
|
|
|
|
* RIGHT_SHIFT provides a proper signed right shift of an int32_t quantity.
|
|
|
|
|
* It is only applied with constant shift counts. SHIFT_TEMPS must be
|
|
|
|
|
* included in the variables of any routine using RIGHT_SHIFT.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifdef RIGHT_SHIFT_IS_UNSIGNED
|
|
|
|
|
#define SHIFT_TEMPS INT32 shift_temp;
|
|
|
|
|
#define SHIFT_TEMPS int32_t shift_temp;
|
|
|
|
|
#define RIGHT_SHIFT(x,shft) \
|
|
|
|
|
((shift_temp = (x)) < 0 ? \
|
|
|
|
|
(shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
|
|
|
|
|
(shift_temp >> (shft)) | ((~((int32_t) 0)) << (32-(shft))) : \
|
|
|
|
|
(shift_temp >> (shft)))
|
|
|
|
|
#else
|
|
|
|
|
#define SHIFT_TEMPS
|
|
|
|
|