]> Creatis software - gdcm.git/blobdiff - src/jpeg/libijg8/jdmerge.c
ENH: Fix the remaining warnings using: diff -u --strip-trailing-cr --ignore-space...
[gdcm.git] / src / jpeg / libijg8 / jdmerge.c
index 37444468c2370a71f1317a50ddaf3287e3e04969..d5508698c135f566790fa001ef95695c1dd7ac5b 100644 (file)
  * (ie, box filtering), we can save some work in color conversion by
  * calculating all the output pixels corresponding to a pair of chroma
  * samples at one time.  In the conversion equations
- *     R = Y           + K1 * Cr
- *     G = Y + K2 * Cb + K3 * Cr
- *     B = Y + K4 * Cb
+ *  R = Y           + K1 * Cr
+ *  G = Y + K2 * Cb + K3 * Cr
+ *  B = Y + K4 * Cb
  * only the Y term varies among the group of pixels corresponding to a pair
  * of chroma samples, so the rest of the terms can be calculated just once.
  * At typical sampling ratios, this eliminates half or three-quarters of the
  * multiplications needed for color conversion.
  *
  * This file currently provides implementations for the following cases:
- *     YCbCr => RGB color conversion only.
- *     Sampling ratios of 2h1v or 2h2v.
- *     No scaling needed at upsample time.
- *     Corner-aligned (non-CCIR601) sampling alignment.
+ *  YCbCr => RGB color conversion only.
+ *  Sampling ratios of 2h1v or 2h2v.
+ *  No scaling needed at upsample time.
+ *  Corner-aligned (non-CCIR601) sampling alignment.
  * Other special cases could be added, but in most applications these are
  * the only common cases.  (For uncommon cases we fall back on the more
  * general code in jdsample.c and jdcolor.c.)
 /* Private subobject */
 
 typedef struct {
-  struct jpeg_upsampler pub;   /* public fields */
+  struct jpeg_upsampler pub;  /* public fields */
 
   /* Pointer to routine to do actual upsampling/conversion of one row group */
   JMETHOD(void, upmethod, (j_decompress_ptr cinfo,
-                          JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
-                          JSAMPARRAY output_buf));
+         JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
+         JSAMPARRAY output_buf));
 
   /* Private state for YCC->RGB conversion */
-  int * Cr_r_tab;              /* => table for Cr to R conversion */
-  int * Cb_b_tab;              /* => table for Cb to B conversion */
-  INT32 * Cr_g_tab;            /* => table for Cr to G conversion */
-  INT32 * Cb_g_tab;            /* => table for Cb to G conversion */
+  int * Cr_r_tab;    /* => table for Cr to R conversion */
+  int * Cb_b_tab;    /* => table for Cb to B conversion */
+  INT32 * Cr_g_tab;    /* => table for Cr to G conversion */
+  INT32 * Cb_g_tab;    /* => table for Cb to G conversion */
 
   /* 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
@@ -61,17 +61,17 @@ typedef struct {
    * to discard the dummy last row if the image height is odd.
    */
   JSAMPROW spare_row;
-  boolean spare_full;          /* T if spare buffer is occupied */
+  boolean spare_full;    /* T if spare buffer is occupied */
 
-  JDIMENSION out_row_width;    /* samples per output row */
-  JDIMENSION rows_to_go;       /* counts rows remaining in image */
+  JDIMENSION out_row_width;  /* samples per output row */
+  JDIMENSION rows_to_go;  /* counts rows remaining in image */
 } my_upsampler;
 
 typedef my_upsampler * my_upsample_ptr;
 
-#define SCALEBITS      16      /* speediest right-shift on some machines */
-#define ONE_HALF       ((INT32) 1 << (SCALEBITS-1))
-#define FIX(x)         ((INT32) ((x) * (1L<<SCALEBITS) + 0.5))
+#define SCALEBITS  16  /* speediest right-shift on some machines */
+#define ONE_HALF  ((INT32) 1 << (SCALEBITS-1))
+#define FIX(x)    ((INT32) ((x) * (1L<<SCALEBITS) + 0.5))
 
 
 /*
@@ -89,26 +89,26 @@ build_ycc_rgb_table (j_decompress_ptr cinfo)
 
   upsample->Cr_r_tab = (int *)
     (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
-                               (MAXJSAMPLE+1) * SIZEOF(int));
+        (MAXJSAMPLE+1) * SIZEOF(int));
   upsample->Cb_b_tab = (int *)
     (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
-                               (MAXJSAMPLE+1) * SIZEOF(int));
+        (MAXJSAMPLE+1) * SIZEOF(int));
   upsample->Cr_g_tab = (INT32 *)
     (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
-                               (MAXJSAMPLE+1) * SIZEOF(INT32));
+        (MAXJSAMPLE+1) * SIZEOF(INT32));
   upsample->Cb_g_tab = (INT32 *)
     (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
-                               (MAXJSAMPLE+1) * SIZEOF(INT32));
+        (MAXJSAMPLE+1) * SIZEOF(INT32));
 
   for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) {
     /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */
     /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */
     /* Cr=>R value is nearest int to 1.40200 * x */
     upsample->Cr_r_tab[i] = (int)
-                   RIGHT_SHIFT(FIX(1.40200) * x + ONE_HALF, SCALEBITS);
+        RIGHT_SHIFT(FIX(1.40200) * x + ONE_HALF, SCALEBITS);
     /* Cb=>B value is nearest int to 1.77200 * x */
     upsample->Cb_b_tab[i] = (int)
-                   RIGHT_SHIFT(FIX(1.77200) * x + ONE_HALF, SCALEBITS);
+        RIGHT_SHIFT(FIX(1.77200) * x + ONE_HALF, SCALEBITS);
     /* Cr=>G value is scaled-up -0.71414 * x */
     upsample->Cr_g_tab[i] = (- FIX(0.71414)) * x;
     /* Cb=>G value is scaled-up -0.34414 * x */
@@ -142,20 +142,22 @@ start_pass_merged_upsample (j_decompress_ptr cinfo)
 
 METHODDEF(void)
 merged_2v_upsample (j_decompress_ptr cinfo,
-                   JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr,
-                   JDIMENSION in_row_groups_avail,
-                   JSAMPARRAY output_buf, JDIMENSION *out_row_ctr,
-                   JDIMENSION out_rows_avail)
+        JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr,
+        JDIMENSION in_row_groups_avail,
+        JSAMPARRAY output_buf, JDIMENSION *out_row_ctr,
+        JDIMENSION out_rows_avail)
 /* 2:1 vertical sampling case: may need a spare row. */
 {
   my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
   JSAMPROW work_ptrs[2];
-  JDIMENSION num_rows;         /* number of rows returned to caller */
+  JDIMENSION num_rows;    /* number of rows returned to caller */
+
+  in_row_groups_avail = 0;
 
   if (upsample->spare_full) {
     /* If we have a spare row saved from a previous cycle, just return it. */
     jcopy_sample_rows(& upsample->spare_row, 0, output_buf + *out_row_ctr, 0,
-                     1, upsample->out_row_width);
+          1, upsample->out_row_width);
     num_rows = 1;
     upsample->spare_full = FALSE;
   } else {
@@ -191,17 +193,20 @@ merged_2v_upsample (j_decompress_ptr cinfo,
 
 METHODDEF(void)
 merged_1v_upsample (j_decompress_ptr cinfo,
-                   JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr,
-                   JDIMENSION in_row_groups_avail,
-                   JSAMPARRAY output_buf, JDIMENSION *out_row_ctr,
-                   JDIMENSION out_rows_avail)
+        JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr,
+        JDIMENSION in_row_groups_avail,
+        JSAMPARRAY output_buf, JDIMENSION *out_row_ctr,
+        JDIMENSION out_rows_avail)
 /* 1:1 vertical sampling case: much easier, never need a spare row. */
 {
   my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
 
+  in_row_groups_avail = 0;
+  out_rows_avail = 0;
+
   /* Just do the upsampling. */
   (*upsample->upmethod) (cinfo, input_buf, *in_row_group_ctr,
-                        output_buf + *out_row_ctr);
+       output_buf + *out_row_ctr);
   /* Adjust counts */
   (*out_row_ctr)++;
   (*in_row_group_ctr)++;
@@ -224,8 +229,8 @@ merged_1v_upsample (j_decompress_ptr cinfo,
 
 METHODDEF(void)
 h2v1_merged_upsample (j_decompress_ptr cinfo,
-                     JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
-                     JSAMPARRAY output_buf)
+          JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
+          JSAMPARRAY output_buf)
 {
   my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
   register int y, cred, cgreen, cblue;
@@ -286,8 +291,8 @@ h2v1_merged_upsample (j_decompress_ptr cinfo,
 
 METHODDEF(void)
 h2v2_merged_upsample (j_decompress_ptr cinfo,
-                     JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
-                     JSAMPARRAY output_buf)
+          JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr,
+          JSAMPARRAY output_buf)
 {
   my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
   register int y, cred, cgreen, cblue;
@@ -373,7 +378,7 @@ jinit_merged_upsampler (j_decompress_ptr cinfo)
 
   upsample = (my_upsample_ptr)
     (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
-                               SIZEOF(my_upsampler));
+        SIZEOF(my_upsampler));
   cinfo->upsample = (struct jpeg_upsampler *) upsample;
   upsample->pub.start_pass = start_pass_merged_upsample;
   upsample->pub.need_context_rows = FALSE;
@@ -386,7 +391,7 @@ jinit_merged_upsampler (j_decompress_ptr cinfo)
     /* Allocate a spare row buffer */
     upsample->spare_row = (JSAMPROW)
       (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE,
-               (size_t) (upsample->out_row_width * SIZEOF(JSAMPLE)));
+    (size_t) (upsample->out_row_width * SIZEOF(JSAMPLE)));
   } else {
     upsample->pub.upsample = merged_1v_upsample;
     upsample->upmethod = h2v1_merged_upsample;