]> Creatis software - gdcm.git/blobdiff - src/jpeg/libijg/jidctred.c
ENH: Update the jpeg library. This patch is the result of the ijg lib + ls-patch...
[gdcm.git] / src / jpeg / libijg / jidctred.c
index 421f3c7ca1ed2ebc9335aeb29c990a08840a5b1d..5df040c16daeab27505e90d0614546af4a06d698 100644 (file)
@@ -23,7 +23,7 @@
 #define JPEG_INTERNALS
 #include "jinclude.h"
 #include "jpeglib.h"
-#include "jdct.h"              /* Private declarations for DCT subsystem */
+#include "jdct.h"    /* Private declarations for DCT subsystem */
 
 #ifdef IDCT_SCALING_SUPPORTED
 
@@ -44,7 +44,7 @@
 #define PASS1_BITS  2
 #else
 #define CONST_BITS  13
-#define PASS1_BITS  1          /* lose a little precision to avoid overflow */
+#define PASS1_BITS  1    /* lose a little precision to avoid overflow */
 #endif
 
 /* Some C compilers fail to reduce "FIX(constant)" at compile time, thus
  */
 
 #if CONST_BITS == 13
-#define FIX_0_211164243  ((INT32)  1730)       /* FIX(0.211164243) */
-#define FIX_0_509795579  ((INT32)  4176)       /* FIX(0.509795579) */
-#define FIX_0_601344887  ((INT32)  4926)       /* FIX(0.601344887) */
-#define FIX_0_720959822  ((INT32)  5906)       /* FIX(0.720959822) */
-#define FIX_0_765366865  ((INT32)  6270)       /* FIX(0.765366865) */
-#define FIX_0_850430095  ((INT32)  6967)       /* FIX(0.850430095) */
-#define FIX_0_899976223  ((INT32)  7373)       /* FIX(0.899976223) */
-#define FIX_1_061594337  ((INT32)  8697)       /* FIX(1.061594337) */
-#define FIX_1_272758580  ((INT32)  10426)      /* FIX(1.272758580) */
-#define FIX_1_451774981  ((INT32)  11893)      /* FIX(1.451774981) */
-#define FIX_1_847759065  ((INT32)  15137)      /* FIX(1.847759065) */
-#define FIX_2_172734803  ((INT32)  17799)      /* FIX(2.172734803) */
-#define FIX_2_562915447  ((INT32)  20995)      /* FIX(2.562915447) */
-#define FIX_3_624509785  ((INT32)  29692)      /* FIX(3.624509785) */
+#define FIX_0_211164243  ((INT32)  1730)  /* FIX(0.211164243) */
+#define FIX_0_509795579  ((INT32)  4176)  /* FIX(0.509795579) */
+#define FIX_0_601344887  ((INT32)  4926)  /* FIX(0.601344887) */
+#define FIX_0_720959822  ((INT32)  5906)  /* FIX(0.720959822) */
+#define FIX_0_765366865  ((INT32)  6270)  /* FIX(0.765366865) */
+#define FIX_0_850430095  ((INT32)  6967)  /* FIX(0.850430095) */
+#define FIX_0_899976223  ((INT32)  7373)  /* FIX(0.899976223) */
+#define FIX_1_061594337  ((INT32)  8697)  /* FIX(1.061594337) */
+#define FIX_1_272758580  ((INT32)  10426)  /* FIX(1.272758580) */
+#define FIX_1_451774981  ((INT32)  11893)  /* FIX(1.451774981) */
+#define FIX_1_847759065  ((INT32)  15137)  /* FIX(1.847759065) */
+#define FIX_2_172734803  ((INT32)  17799)  /* FIX(2.172734803) */
+#define FIX_2_562915447  ((INT32)  20995)  /* FIX(2.562915447) */
+#define FIX_3_624509785  ((INT32)  29692)  /* FIX(3.624509785) */
 #else
 #define FIX_0_211164243  FIX(0.211164243)
 #define FIX_0_509795579  FIX(0.509795579)
 
 GLOBAL(void)
 jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
-              JCOEFPTR coef_block,
-              JSAMPARRAY output_buf, JDIMENSION output_col)
+         JCOEFPTR coef_block,
+         JSAMPARRAY output_buf, JDIMENSION output_col)
 {
   INT32 tmp0, tmp2, tmp10, tmp12;
   INT32 z1, z2, z3, z4;
@@ -127,7 +127,7 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   JSAMPROW outptr;
   JSAMPLE *range_limit = IDCT_range_limit(cinfo);
   int ctr;
-  int workspace[DCTSIZE*4];    /* buffers data between passes */
+  int workspace[DCTSIZE*4];  /* buffers data between passes */
   SHIFT_TEMPS
 
   /* Pass 1: process columns from input, store into work array. */
@@ -140,8 +140,8 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     if (ctr == DCTSIZE-4)
       continue;
     if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 &&
-       inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*5] == 0 &&
-       inptr[DCTSIZE*6] == 0 && inptr[DCTSIZE*7] == 0) {
+  inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*5] == 0 &&
+  inptr[DCTSIZE*6] == 0 && inptr[DCTSIZE*7] == 0) {
       /* AC terms all zero; we need not examine term 4 for 4x4 output */
       int dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]) << PASS1_BITS;
       
@@ -174,14 +174,14 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     z4 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]);
     
     tmp0 = MULTIPLY(z1, - FIX_0_211164243) /* sqrt(2) * (c3-c1) */
-        + MULTIPLY(z2, FIX_1_451774981) /* sqrt(2) * (c3+c7) */
-        + MULTIPLY(z3, - FIX_2_172734803) /* sqrt(2) * (-c1-c5) */
-        + MULTIPLY(z4, FIX_1_061594337); /* sqrt(2) * (c5+c7) */
+   + MULTIPLY(z2, FIX_1_451774981) /* sqrt(2) * (c3+c7) */
+   + MULTIPLY(z3, - FIX_2_172734803) /* sqrt(2) * (-c1-c5) */
+   + MULTIPLY(z4, FIX_1_061594337); /* sqrt(2) * (c5+c7) */
     
     tmp2 = MULTIPLY(z1, - FIX_0_509795579) /* sqrt(2) * (c7-c5) */
-        + MULTIPLY(z2, - FIX_0_601344887) /* sqrt(2) * (c5-c1) */
-        + MULTIPLY(z3, FIX_0_899976223) /* sqrt(2) * (c3-c7) */
-        + MULTIPLY(z4, FIX_2_562915447); /* sqrt(2) * (c1+c3) */
+   + MULTIPLY(z2, - FIX_0_601344887) /* sqrt(2) * (c5-c1) */
+   + MULTIPLY(z3, FIX_0_899976223) /* sqrt(2) * (c3-c7) */
+   + MULTIPLY(z4, FIX_2_562915447); /* sqrt(2) * (c1+c3) */
 
     /* Final output stage */
     
@@ -200,17 +200,17 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
 
 #ifndef NO_ZERO_ROW_TEST
     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 */
       JSAMPLE dcval = range_limit[(int) DESCALE((INT32) wsptr[0], PASS1_BITS+3)
-                                 & RANGE_MASK];
+          & RANGE_MASK];
       
       outptr[0] = dcval;
       outptr[1] = dcval;
       outptr[2] = dcval;
       outptr[3] = dcval;
       
-      wsptr += DCTSIZE;                /* advance pointer to next row */
+      wsptr += DCTSIZE;    /* advance pointer to next row */
       continue;
     }
 #endif
@@ -220,7 +220,7 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     tmp0 = ((INT32) wsptr[0]) << (CONST_BITS+1);
     
     tmp2 = MULTIPLY((INT32) wsptr[2], FIX_1_847759065)
-        + MULTIPLY((INT32) wsptr[6], - FIX_0_765366865);
+   + MULTIPLY((INT32) wsptr[6], - FIX_0_765366865);
     
     tmp10 = tmp0 + tmp2;
     tmp12 = tmp0 - tmp2;
@@ -233,31 +233,31 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     z4 = (INT32) wsptr[1];
     
     tmp0 = MULTIPLY(z1, - FIX_0_211164243) /* sqrt(2) * (c3-c1) */
-        + MULTIPLY(z2, FIX_1_451774981) /* sqrt(2) * (c3+c7) */
-        + MULTIPLY(z3, - FIX_2_172734803) /* sqrt(2) * (-c1-c5) */
-        + MULTIPLY(z4, FIX_1_061594337); /* sqrt(2) * (c5+c7) */
+   + MULTIPLY(z2, FIX_1_451774981) /* sqrt(2) * (c3+c7) */
+   + MULTIPLY(z3, - FIX_2_172734803) /* sqrt(2) * (-c1-c5) */
+   + MULTIPLY(z4, FIX_1_061594337); /* sqrt(2) * (c5+c7) */
     
     tmp2 = MULTIPLY(z1, - FIX_0_509795579) /* sqrt(2) * (c7-c5) */
-        + MULTIPLY(z2, - FIX_0_601344887) /* sqrt(2) * (c5-c1) */
-        + MULTIPLY(z3, FIX_0_899976223) /* sqrt(2) * (c3-c7) */
-        + MULTIPLY(z4, FIX_2_562915447); /* sqrt(2) * (c1+c3) */
+   + MULTIPLY(z2, - FIX_0_601344887) /* sqrt(2) * (c5-c1) */
+   + MULTIPLY(z3, FIX_0_899976223) /* sqrt(2) * (c3-c7) */
+   + MULTIPLY(z4, FIX_2_562915447); /* sqrt(2) * (c1+c3) */
 
     /* Final output stage */
     
     outptr[0] = range_limit[(int) DESCALE(tmp10 + tmp2,
-                                         CONST_BITS+PASS1_BITS+3+1)
-                           & RANGE_MASK];
+            CONST_BITS+PASS1_BITS+3+1)
+          & RANGE_MASK];
     outptr[3] = range_limit[(int) DESCALE(tmp10 - tmp2,
-                                         CONST_BITS+PASS1_BITS+3+1)
-                           & RANGE_MASK];
+            CONST_BITS+PASS1_BITS+3+1)
+          & RANGE_MASK];
     outptr[1] = range_limit[(int) DESCALE(tmp12 + tmp0,
-                                         CONST_BITS+PASS1_BITS+3+1)
-                           & RANGE_MASK];
+            CONST_BITS+PASS1_BITS+3+1)
+          & RANGE_MASK];
     outptr[2] = range_limit[(int) DESCALE(tmp12 - tmp0,
-                                         CONST_BITS+PASS1_BITS+3+1)
-                           & RANGE_MASK];
+            CONST_BITS+PASS1_BITS+3+1)
+          & RANGE_MASK];
     
-    wsptr += DCTSIZE;          /* advance pointer to next row */
+    wsptr += DCTSIZE;    /* advance pointer to next row */
   }
 }
 
@@ -269,8 +269,8 @@ jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
 
 GLOBAL(void)
 jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
-              JCOEFPTR coef_block,
-              JSAMPARRAY output_buf, JDIMENSION output_col)
+         JCOEFPTR coef_block,
+         JSAMPARRAY output_buf, JDIMENSION output_col)
 {
   INT32 tmp0, tmp10, z1;
   JCOEFPTR inptr;
@@ -279,7 +279,7 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   JSAMPROW outptr;
   JSAMPLE *range_limit = IDCT_range_limit(cinfo);
   int ctr;
-  int workspace[DCTSIZE*2];    /* buffers data between passes */
+  int workspace[DCTSIZE*2];  /* buffers data between passes */
   SHIFT_TEMPS
 
   /* Pass 1: process columns from input, store into work array. */
@@ -292,7 +292,7 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     if (ctr == DCTSIZE-2 || ctr == DCTSIZE-4 || ctr == DCTSIZE-6)
       continue;
     if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*3] == 0 &&
-       inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*7] == 0) {
+  inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*7] == 0) {
       /* AC terms all zero; we need not examine terms 2,4,6 for 2x2 output */
       int dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]) << PASS1_BITS;
       
@@ -335,12 +335,12 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     if (wsptr[1] == 0 && wsptr[3] == 0 && wsptr[5] == 0 && wsptr[7] == 0) {
       /* AC terms all zero */
       JSAMPLE dcval = range_limit[(int) DESCALE((INT32) wsptr[0], PASS1_BITS+3)
-                                 & RANGE_MASK];
+          & RANGE_MASK];
       
       outptr[0] = dcval;
       outptr[1] = dcval;
       
-      wsptr += DCTSIZE;                /* advance pointer to next row */
+      wsptr += DCTSIZE;    /* advance pointer to next row */
       continue;
     }
 #endif
@@ -352,20 +352,20 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     /* Odd part */
 
     tmp0 = MULTIPLY((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((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((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((INT32) wsptr[1], FIX_3_624509785); /* sqrt(2) * (c1+c3+c5+c7) */
 
     /* Final output stage */
     
     outptr[0] = range_limit[(int) DESCALE(tmp10 + tmp0,
-                                         CONST_BITS+PASS1_BITS+3+2)
-                           & RANGE_MASK];
+            CONST_BITS+PASS1_BITS+3+2)
+          & RANGE_MASK];
     outptr[1] = range_limit[(int) DESCALE(tmp10 - tmp0,
-                                         CONST_BITS+PASS1_BITS+3+2)
-                           & RANGE_MASK];
+            CONST_BITS+PASS1_BITS+3+2)
+          & RANGE_MASK];
     
-    wsptr += DCTSIZE;          /* advance pointer to next row */
+    wsptr += DCTSIZE;    /* advance pointer to next row */
   }
 }
 
@@ -377,8 +377,8 @@ jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
 
 GLOBAL(void)
 jpeg_idct_1x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
-              JCOEFPTR coef_block,
-              JSAMPARRAY output_buf, JDIMENSION output_col)
+         JCOEFPTR coef_block,
+         JSAMPARRAY output_buf, JDIMENSION output_col)
 {
   int dcval;
   ISLOW_MULT_TYPE * quantptr;