]> git.sesse.net Git - vlc/blobdiff - src/video_decoder/vdec_idct.c
The input-II. (more info by mail in about an hour)
[vlc] / src / video_decoder / vdec_idct.c
index 4d00bc607384fe94c53dafe7e778d3ec0bb6e8ac..6fbfe8789cf9489208c65d49e2b6afe468bc0325 100644 (file)
@@ -1,32 +1,44 @@
 /*****************************************************************************
  * vdec_idct.c : IDCT functions
- * (c)1999 VideoLAN
+ *****************************************************************************
+ * Copyright (C) 1999, 2000 VideoLAN
+ *
+ * Authors: GaĆ«l Hendryckx <jimmy@via.ecp.fr>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  *****************************************************************************/
 
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
+#include "defs.h"
 
-#include <errno.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/uio.h>
-#include <X11/Xlib.h>
-#include <X11/extensions/XShm.h>
+#include <sys/types.h>                        /* on BSD, uio.h needs types.h */
+#include <sys/uio.h>                                          /* for input.h */
 
 #include "config.h"
 #include "common.h"
+#include "threads.h"
 #include "mtime.h"
-#include "vlc_thread.h"
+#include "plugins.h"
 
 #include "intf_msg.h"
-#include "debug.h"                    /* ?? temporaire, requis par netlist.h */
 
-#include "input.h"
-#include "input_netlist.h"
-#include "decoder_fifo.h"
+#include "stream_control.h"
+#include "input_ext-dec.h"
+
 #include "video.h"
 #include "video_output.h"
 
 
 #include "vpar_blocks.h"
 #include "vpar_headers.h"
-#include "video_fifo.h"
 #include "vpar_synchro.h"
 #include "video_parser.h"
+#include "video_fifo.h"
 
 /*
  * Local prototypes
  */
 
-//extern IDCT_mmx(dctelem_t*);
-
 /* Our current implementation is a fast DCT, we might move to a fast DFT or
  * an MMX DCT in the future. */
 
 /*****************************************************************************
- * vdec_DummyIDCT : dummy function that does nothing
- *****************************************************************************/
-void vdec_DummyIDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, 
-                     int i_idontcare )
-{
-}
-
-/*****************************************************************************
- * init_SparseIDCT : initialize datas for vdec_SparceIDCT
+ * vdec_InitIDCT : initialize datas for vdec_SparceIDCT
  * vdec_SparseIDCT : IDCT function for sparse matrices
  *****************************************************************************/
 
-void vdec_InitIDCT (vdec_thread_t * p_vdec) 
-{        
+void vdec_InitIDCT (vdec_thread_t * p_vdec)
+{
     int i;
-    
+
     dctelem_t * p_pre = p_vdec->p_pre_idct;
     memset( p_pre, 0, 64*64*sizeof(dctelem_t) );
-    
-    for( i=0 ; i < 64 ; i++ ) 
+
+    for( i=0 ; i < 64 ; i++ )
     {
         p_pre[i*64+i] = 1 << SPARSE_SCALE_FACTOR;
         vdec_IDCT( p_vdec, &p_pre[i*64], 0) ;
@@ -77,10 +79,9 @@ void vdec_InitIDCT (vdec_thread_t * p_vdec)
     return;
 }
 
-void vdec_SparseIDCT (vdec_thread_t * p_vdec, dctelem_t * p_block, 
+void vdec_SparseIDCT (vdec_thread_t * p_vdec, dctelem_t * p_block,
                       int i_sparse_pos)
 {
-    /*debug*/
     short int val;
     int * dp;
     int v;
@@ -89,23 +90,10 @@ void vdec_SparseIDCT (vdec_thread_t * p_vdec, dctelem_t * p_block,
     int coeff, rr;
 
     /* If DC Coefficient. */
-    if ( i_sparse_pos == 0 ) 
+    if ( i_sparse_pos == 0 )
     {
-           dp=(int *)p_block;
-//        v=*p_block;
-/* cuisine a verifier */        
-/*        if (v < 0) 
-        {
-            val=-v;
-            val+=4;
-            val/=8;
-            val=-val;
-        }
-        else
-        {*/
-/*            val= (v + 4) /8; */
+        dp=(int *)p_block;
         val=RIGHT_SHIFT((*p_block + 4), 3);
-//        }        
         /* Compute int to assign.  This speeds things up a bit */
         v = ((val & 0xffff) | (val << 16));
         dp[0] = v;     dp[1] = v;     dp[2] = v;     dp[3] = v;
@@ -145,15 +133,16 @@ void vdec_SparseIDCT (vdec_thread_t * p_vdec, dctelem_t * p_block,
     }
     return;
 }
-      
+
 
 /*****************************************************************************
  * vdec_IDCT : IDCT function for normal matrices
  *****************************************************************************/
+
+#ifndef HAVE_MMX
 void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
 {
-//IDCT_mmx(p_block);
-#if 0 
+#if 0
     /* dct classique: pour tester la meilleure entre la classique et la */
     /* no classique */
     s32 tmp0, tmp1, tmp2, tmp3;
@@ -168,7 +157,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
   /* furthermore, we scale the results by 2**PASS1_BITS. */
 
     dataptr = p_block;
-    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--) 
+    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--)
     {
     /* Due to quantization, we will usually find that many of the input
      * coefficients are zero, especially the AC terms.  We can exploit this
@@ -180,11 +169,11 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
      */
 
         if ((dataptr[1] | dataptr[2] | dataptr[3] | dataptr[4] |
-               dataptr[5] | dataptr[6] | dataptr[7]) == 0) 
+                dataptr[5] | dataptr[6] | dataptr[7]) == 0)
         {
       /* AC terms all zero */
             dctelem_t dcval = (dctelem_t) (dataptr[0] << PASS1_BITS);
-      
+
             dataptr[0] = dcval;
             dataptr[1] = dcval;
             dataptr[2] = dcval;
@@ -193,8 +182,8 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
             dataptr[5] = dcval;
             dataptr[6] = dcval;
             dataptr[7] = dcval;
-      
-            dataptr += DCTSIZE;        /* advance pointer to next row */
+
+            dataptr += DCTSIZE; /* advance pointer to next row */
             continue;
         }
 
@@ -215,7 +204,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         tmp13 = tmp0 - tmp3;
         tmp11 = tmp1 + tmp2;
         tmp12 = tmp1 - tmp2;
-    
+
     /* Odd part per figure 8; the matrix is unitary and hence its
      * transpose is its inverse.  i0..i3 are y7,y5,y3,y1 respectively.
      */
@@ -230,7 +219,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         z3 = tmp0 + tmp2;
         z4 = tmp1 + tmp3;
         z5 = MULTIPLY(z3 + z4, FIX(1.175875602)); /* sqrt(2) * c3 */
-    
+
         tmp0 = MULTIPLY(tmp0, FIX(0.298631336)); /* sqrt(2) * (-c1+c3+c5-c7) */
         tmp1 = MULTIPLY(tmp1, FIX(2.053119869)); /* sqrt(2) * ( c1+c3-c5+c7) */
         tmp2 = MULTIPLY(tmp2, FIX(3.072711026)); /* sqrt(2) * ( c1+c3+c5-c7) */
@@ -239,10 +228,10 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         z2 = MULTIPLY(z2, - FIX(2.562915447)); /* sqrt(2) * (-c1-c3) */
         z3 = MULTIPLY(z3, - FIX(1.961570560)); /* sqrt(2) * (-c3-c5) */
         z4 = MULTIPLY(z4, - FIX(0.390180644)); /* sqrt(2) * (c5-c3) */
-    
+
         z3 += z5;
         z4 += z5;
-    
+
         tmp0 += z1 + z3;
         tmp1 += z2 + z4;
         tmp2 += z2 + z3;
@@ -259,7 +248,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         dataptr[3] = (dctelem_t) DESCALE(tmp13 + tmp0, CONST_BITS-PASS1_BITS);
         dataptr[4] = (dctelem_t) DESCALE(tmp13 - tmp0, CONST_BITS-PASS1_BITS);
 
-        dataptr += DCTSIZE;            /* advance pointer to next row */
+        dataptr += DCTSIZE;             /* advance pointer to next row */
     }
 
   /* Pass 2: process columns. */
@@ -267,7 +256,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
   /* and also undo the PASS1_BITS scaling. */
 
     dataptr = p_block;
-    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--) 
+    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--)
     {
     /* Columns of zeroes can be exploited in the same way as we did with rows.
      * However, the row calculation has created many nonzero AC terms, so the
@@ -279,12 +268,12 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
 
 #ifndef NO_ZERO_COLUMN_TEST /*ajoute un test mais evite des calculs */
         if ((dataptr[DCTSIZE*1] | dataptr[DCTSIZE*2] | dataptr[DCTSIZE*3] |
-           dataptr[DCTSIZE*4] | dataptr[DCTSIZE*5] | dataptr[DCTSIZE*6] |
-           dataptr[DCTSIZE*7]) == 0) 
+            dataptr[DCTSIZE*4] | dataptr[DCTSIZE*5] | dataptr[DCTSIZE*6] |
+            dataptr[DCTSIZE*7]) == 0)
         {
       /* AC terms all zero */
             dctelem_t dcval = (dctelem_t) DESCALE((s32) dataptr[0], PASS1_BITS+3);
-      
+
             dataptr[DCTSIZE*0] = dcval;
             dataptr[DCTSIZE*1] = dcval;
             dataptr[DCTSIZE*2] = dcval;
@@ -293,8 +282,8 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
             dataptr[DCTSIZE*5] = dcval;
             dataptr[DCTSIZE*6] = dcval;
             dataptr[DCTSIZE*7] = dcval;
-      
-            dataptr++;         /* advance pointer to next column */
+
+            dataptr++;          /* advance pointer to next column */
             continue;
         }
 #endif
@@ -316,7 +305,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         tmp13 = tmp0 - tmp3;
         tmp11 = tmp1 + tmp2;
         tmp12 = tmp1 - tmp2;
-    
+
     /* Odd part per figure 8; the matrix is unitary and hence its
      * transpose is its inverse.  i0..i3 are y7,y5,y3,y1 respectively.
      */
@@ -331,7 +320,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         z3 = tmp0 + tmp2;
         z4 = tmp1 + tmp3;
         z5 = MULTIPLY(z3 + z4, FIX(1.175875602)); /* sqrt(2) * c3 */
-    
+
         tmp0 = MULTIPLY(tmp0, FIX(0.298631336)); /* sqrt(2) * (-c1+c3+c5-c7) */
         tmp1 = MULTIPLY(tmp1, FIX(2.053119869)); /* sqrt(2) * ( c1+c3-c5+c7) */
         tmp2 = MULTIPLY(tmp2, FIX(3.072711026)); /* sqrt(2) * ( c1+c3+c5-c7) */
@@ -340,10 +329,10 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         z2 = MULTIPLY(z2, - FIX(2.562915447)); /* sqrt(2) * (-c1-c3) */
         z3 = MULTIPLY(z3, - FIX(1.961570560)); /* sqrt(2) * (-c3-c5) */
         z4 = MULTIPLY(z4, - FIX(0.390180644)); /* sqrt(2) * (c5-c3) */
-    
+
         z3 += z5;
         z4 += z5;
-    
+
         tmp0 += z1 + z3;
         tmp1 += z2 + z4;
         tmp2 += z2 + z3;
@@ -352,44 +341,44 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
     /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */
 
         dataptr[DCTSIZE*0] = (dctelem_t) DESCALE(tmp10 + tmp3,
-                                          CONST_BITS+PASS1_BITS+3);
+                                           CONST_BITS+PASS1_BITS+3);
         dataptr[DCTSIZE*7] = (dctelem_t) DESCALE(tmp10 - tmp3,
-                                          CONST_BITS+PASS1_BITS+3);
+                                           CONST_BITS+PASS1_BITS+3);
         dataptr[DCTSIZE*1] = (dctelem_t) DESCALE(tmp11 + tmp2,
-                                          CONST_BITS+PASS1_BITS+3);
+                                           CONST_BITS+PASS1_BITS+3);
         dataptr[DCTSIZE*6] = (dctelem_t) DESCALE(tmp11 - tmp2,
-                                          CONST_BITS+PASS1_BITS+3);
+                                           CONST_BITS+PASS1_BITS+3);
         dataptr[DCTSIZE*2] = (dctelem_t) DESCALE(tmp12 + tmp1,
-                                          CONST_BITS+PASS1_BITS+3);
+                                           CONST_BITS+PASS1_BITS+3);
         dataptr[DCTSIZE*5] = (dctelem_t) DESCALE(tmp12 - tmp1,
-                                          CONST_BITS+PASS1_BITS+3);
+                                           CONST_BITS+PASS1_BITS+3);
         dataptr[DCTSIZE*3] = (dctelem_t) DESCALE(tmp13 + tmp0,
-                                          CONST_BITS+PASS1_BITS+3);
+                                           CONST_BITS+PASS1_BITS+3);
         dataptr[DCTSIZE*4] = (dctelem_t) DESCALE(tmp13 - tmp0,
-                                          CONST_BITS+PASS1_BITS+3);
-    
-        dataptr++;                     /* advance pointer to next column */
+                                           CONST_BITS+PASS1_BITS+3);
+
+        dataptr++;                      /* advance pointer to next column */
     }
-#endif    
+#endif
+
+#if 1  /*dct avec non classique*/
 
-#if 1 /*dct avec no classique*/    
-    
     s32 tmp0, tmp1, tmp2, tmp3;
     s32 tmp10, tmp11, tmp12, tmp13;
     s32 z1, z2, z3, z4, z5;
     s32 d0, d1, d2, d3, d4, d5, d6, d7;
     dctelem_t * dataptr;
     int rowctr;
-    
+
     SHIFT_TEMPS
-   
+
     /* Pass 1: process rows. */
     /* Note results are scaled up by sqrt(8) compared to a true IDCT; */
     /* furthermore, we scale the results by 2**PASS1_BITS. */
 
     dataptr = p_block;
 
-    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--) 
+    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--)
     {
         /* Due to quantization, we will usually find that many of the input
          * coefficients are zero, especially the AC terms.  We can exploit this
@@ -403,22 +392,22 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         register int * idataptr = (int*)dataptr;
         d0 = dataptr[0];
         d1 = dataptr[1];
-        if ( (d1 == 0) && ((idataptr[1] | idataptr[2] | idataptr[3]) == 0) ) 
+        if ( (d1 == 0) && ((idataptr[1] | idataptr[2] | idataptr[3]) == 0) )
         {
       /* AC terms all zero */
-            if (d0) 
+            if (d0)
             {
       /* Compute a 32 bit value to assign. */
                 dctelem_t dcval = (dctelem_t) (d0 << PASS1_BITS);
                 register int v = (dcval & 0xffff) | (dcval << 16);
-  
+
                 idataptr[0] = v;
                 idataptr[1] = v;
                 idataptr[2] = v;
                 idataptr[3] = v;
             }
-      
-            dataptr += DCTSIZE;        /* advance pointer to next row */
+
+            dataptr += DCTSIZE; /* advance pointer to next row */
             continue;
         }
         d2 = dataptr[2];
@@ -430,13 +419,13 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
 
     /* Even part: reverse the even part of the forward DCT. */
     /* The rotator is sqrt(2)*c(-6). */
-        if (d6) 
+        if (d6)
         {
-            if (d4) 
+            if (d4)
             {
-                if (d2) 
+                if (d2)
                 {
-                           if (d0) 
+                    if (d0)
                     {
             /* d0 != 0, d2 != 0, d4 != 0, d6 != 0 */
                         z1 = MULTIPLY(d2 + d6, FIX(0.541196100));
@@ -450,30 +439,30 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp13 = tmp0 - tmp3;
                         tmp11 = tmp1 + tmp2;
                         tmp12 = tmp1 - tmp2;
-                    } 
-                    else 
+                    }
+                    else
                     {
-                   /* d0 == 0, d2 != 0, d4 != 0, d6 != 0 */
+                    /* d0 == 0, d2 != 0, d4 != 0, d6 != 0 */
                         z1 = MULTIPLY(d2 + d6, FIX(0.541196100));
                         tmp2 = z1 + MULTIPLY(d6, - FIX(1.847759065));
                         tmp3 = z1 + MULTIPLY(d2, FIX(0.765366865));
 
                         tmp0 = d4 << CONST_BITS;
-    
+
                         tmp10 = tmp0 + tmp3;
                         tmp13 = tmp0 - tmp3;
                         tmp11 = tmp2 - tmp0;
                         tmp12 = -(tmp0 + tmp2);
-                       }
-                } 
-                else 
+                        }
+                }
+                else
                 {
-                           if (d0) 
+                    if (d0)
                     {
             /* d0 != 0, d2 == 0, d4 != 0, d6 != 0 */
                         tmp2 = MULTIPLY(d6, - FIX2(1.306562965));
                         tmp3 = MULTIPLY(d6, FIX(0.541196100));
-    
+
                         tmp0 = (d0 + d4) << CONST_BITS;
                         tmp1 = (d0 - d4) << CONST_BITS;
 
@@ -481,27 +470,27 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp13 = tmp0 - tmp3;
                         tmp11 = tmp1 + tmp2;
                         tmp12 = tmp1 - tmp2;
-                       }
-                    else 
+                        }
+                    else
                     {
-                   /* d0 == 0, d2 == 0, d4 != 0, d6 != 0 */
+                    /* d0 == 0, d2 == 0, d4 != 0, d6 != 0 */
                         tmp2 = MULTIPLY(d6, - FIX2(1.306562965));
                         tmp3 = MULTIPLY(d6, FIX(0.541196100));
-    
+
                         tmp0 = d4 << CONST_BITS;
+
                         tmp10 = tmp0 + tmp3;
                         tmp13 = tmp0 - tmp3;
                         tmp11 = tmp2 - tmp0;
                         tmp12 = -(tmp0 + tmp2);
-                       }
+                        }
                 }
-            } 
-            else 
+            }
+            else
             {
-                if (d2) 
+                if (d2)
                 {
-                   if (d0) 
+                    if (d0)
                     {
             /* d0 != 0, d2 != 0, d4 == 0, d6 != 0 */
                         z1 = MULTIPLY(d2 + d6, FIX(0.541196100));
@@ -509,15 +498,15 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp3 = z1 + MULTIPLY(d2, FIX(0.765366865));
 
                         tmp0 = d0 << CONST_BITS;
-    
+
                         tmp10 = tmp0 + tmp3;
                         tmp13 = tmp0 - tmp3;
                         tmp11 = tmp0 + tmp2;
                         tmp12 = tmp0 - tmp2;
-                    } 
-                    else 
+                    }
+                    else
                     {
-                   /* d0 == 0, d2 != 0, d4 == 0, d6 != 0 */
+                    /* d0 == 0, d2 != 0, d4 == 0, d6 != 0 */
                         z1 = MULTIPLY(d2 + d6, FIX(0.541196100));
                         tmp2 = z1 + MULTIPLY(d6, - FIX(1.847759065));
                         tmp3 = z1 + MULTIPLY(d2, FIX(0.765366865));
@@ -526,24 +515,24 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp13 = -tmp3;
                         tmp11 = tmp2;
                         tmp12 = -tmp2;
-                           }
-               }
-                else 
+                            }
+                }
+                else
                 {
-                    if (d0) 
+                    if (d0)
                     {
             /* d0 != 0, d2 == 0, d4 == 0, d6 != 0 */
                         tmp2 = MULTIPLY(d6, - FIX2(1.306562965));
                         tmp3 = MULTIPLY(d6, FIX(0.541196100));
-    
+
                         tmp0 = d0 << CONST_BITS;
-    
+
                         tmp10 = tmp0 + tmp3;
                         tmp13 = tmp0 - tmp3;
                         tmp11 = tmp0 + tmp2;
                         tmp12 = tmp0 - tmp2;
                     }
-                    else 
+                    else
                     {
             /* d0 == 0, d2 == 0, d4 == 0, d6 != 0 */
                         tmp2 = MULTIPLY(d6, - FIX2(1.306562965));
@@ -559,30 +548,30 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         }
         else
         {
-            if (d4) 
+            if (d4)
             {
-                if (d2) 
+                if (d2)
                 {
-                    if (d0) 
+                    if (d0)
                     {
-                   /* d0 != 0, d2 != 0, d4 != 0, d6 == 0 */
+                    /* d0 != 0, d2 != 0, d4 != 0, d6 == 0 */
                         tmp2 = MULTIPLY(d2, FIX(0.541196100));
                         tmp3 = MULTIPLY(d2, (FIX(1.306562965) + .5));
-    
+
                         tmp0 = (d0 + d4) << CONST_BITS;
                         tmp1 = (d0 - d4) << CONST_BITS;
-    
+
                         tmp10 = tmp0 + tmp3;
                         tmp13 = tmp0 - tmp3;
                         tmp11 = tmp1 + tmp2;
                         tmp12 = tmp1 - tmp2;
                     }
-                    else 
+                    else
                     {
             /* d0 == 0, d2 != 0, d4 != 0, d6 == 0 */
                         tmp2 = MULTIPLY(d2, FIX(0.541196100));
                         tmp3 = MULTIPLY(d2, (FIX(1.306562965) + .5));
-    
+
                         tmp0 = d4 << CONST_BITS;
 
                         tmp10 = tmp0 + tmp3;
@@ -591,15 +580,15 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp12 = -(tmp0 + tmp2);
                     }
                 }
-                else 
+                else
                 {
-                   if (d0)
+                    if (d0)
                     {
             /* d0 != 0, d2 == 0, d4 != 0, d6 == 0 */
                         tmp10 = tmp13 = (d0 + d4) << CONST_BITS;
                         tmp11 = tmp12 = (d0 - d4) << CONST_BITS;
-                    } 
-                    else 
+                    }
+                    else
                     {
             /* d0 == 0, d2 == 0, d4 != 0, d6 == 0 */
                         tmp10 = tmp13 = d4 << CONST_BITS;
@@ -607,11 +596,11 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     }
                 }
             }
-            else 
+            else
             {
-                if (d2) 
+                if (d2)
                 {
-                    if (d0) 
+                    if (d0)
                     {
             /* d0 != 0, d2 != 0, d4 == 0, d6 == 0 */
                         tmp2 = MULTIPLY(d2, FIX(0.541196100));
@@ -642,13 +631,13 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     {
             /* d0 != 0, d2 == 0, d4 == 0, d6 == 0 */
                         tmp10 = tmp13 = tmp11 = tmp12 = d0 << CONST_BITS;
-                    } 
+                    }
                     else
                     {
             /* d0 == 0, d2 == 0, d4 == 0, d6 == 0 */
                         tmp10 = tmp13 = tmp11 = tmp12 = 0;
                     }
-                }    
+                }
             }
         }
 
@@ -657,13 +646,13 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
      * transpose is its inverse.  i0..i3 are y7,y5,y3,y1 respectively.
      */
 
-        if (d7) 
+        if (d7)
             {
-               if (d5)
+            if (d5)
             {
-                if (d3) 
+                if (d3)
                 {
-                    if (d1) 
+                    if (d1)
                     {
             /* d1 != 0, d3 != 0, d5 != 0, d7 != 0 */
                         z1 = d7 + d1;
@@ -671,8 +660,8 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z3 = d7 + d3;
                         z4 = d5 + d1;
                         z5 = MULTIPLY(z3 + z4, FIX(1.175875602));
-                   
-                        tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                        tmp0 = MULTIPLY(d7, FIX(0.298631336));
                         tmp1 = MULTIPLY(d5, FIX(2.053119869));
                         tmp2 = MULTIPLY(d3, FIX(3.072711026));
                         tmp3 = MULTIPLY(d1, FIX(1.501321110));
@@ -680,40 +669,40 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z2 = MULTIPLY(z2, - FIX(2.562915447));
                         z3 = MULTIPLY(z3, - FIX(1.961570560));
                         z4 = MULTIPLY(z4, - FIX(0.390180644));
-                   
+
                         z3 += z5;
                         z4 += z5;
-                   
+
                         tmp0 += z1 + z3;
                         tmp1 += z2 + z4;
                         tmp2 += z2 + z3;
                         tmp3 += z1 + z4;
-                    } 
-                    else 
+                    }
+                    else
                     {
             /* d1 == 0, d3 != 0, d5 != 0, d7 != 0 */
                         z2 = d5 + d3;
                         z3 = d7 + d3;
                         z5 = MULTIPLY(z3 + d5, FIX(1.175875602));
-                   
-                        tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                        tmp0 = MULTIPLY(d7, FIX(0.298631336));
                         tmp1 = MULTIPLY(d5, FIX(2.053119869));
                         tmp2 = MULTIPLY(d3, FIX(3.072711026));
                         z1 = MULTIPLY(d7, - FIX(0.899976223));
                         z2 = MULTIPLY(z2, - FIX(2.562915447));
                         z3 = MULTIPLY(z3, - FIX(1.961570560));
                         z4 = MULTIPLY(d5, - FIX(0.390180644));
-                   
+
                         z3 += z5;
                         z4 += z5;
-                   
+
                         tmp0 += z1 + z3;
                         tmp1 += z2 + z4;
                         tmp2 += z2 + z3;
                         tmp3 = z1 + z4;
-                       }
-                   }
-                else 
+                        }
+                    }
+                else
                 {
                     if (d1)
                     {
@@ -721,18 +710,18 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z1 = d7 + d1;
                         z4 = d5 + d1;
                         z5 = MULTIPLY(d7 + z4, FIX(1.175875602));
-                   
-                        tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                        tmp0 = MULTIPLY(d7, FIX(0.298631336));
                         tmp1 = MULTIPLY(d5, FIX(2.053119869));
                         tmp3 = MULTIPLY(d1, FIX(1.501321110));
                         z1 = MULTIPLY(z1, - FIX(0.899976223));
                         z2 = MULTIPLY(d5, - FIX(2.562915447));
                         z3 = MULTIPLY(d7, - FIX(1.961570560));
                         z4 = MULTIPLY(z4, - FIX(0.390180644));
-                   
+
                         z3 += z5;
                         z4 += z5;
-                   
+
                         tmp0 += z1 + z3;
                         tmp1 += z2 + z4;
                         tmp2 = z2 + z3;
@@ -749,10 +738,10 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z3 = MULTIPLY(d7, - FIX(1.961570560));
                         z2 = MULTIPLY(d5, - FIX(2.562915447));
                         z4 = MULTIPLY(d5, - FIX(0.390180644));
-                   
+
                         z3 += z5;
                         z4 += z5;
-                       
+
                         tmp0 += z3;
                         tmp1 += z4;
                         tmp2 = z2 + z3;
@@ -760,28 +749,28 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     }
                 }
             }
-            else 
+            else
             {
-                if (d3) 
+                if (d3)
                 {
-                    if (d1) 
+                    if (d1)
                     {
             /* d1 != 0, d3 != 0, d5 == 0, d7 != 0 */
                         z1 = d7 + d1;
                         z3 = d7 + d3;
                         z5 = MULTIPLY(z3 + d1, FIX(1.175875602));
-                   
-                        tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                        tmp0 = MULTIPLY(d7, FIX(0.298631336));
                         tmp2 = MULTIPLY(d3, FIX(3.072711026));
                         tmp3 = MULTIPLY(d1, FIX(1.501321110));
                         z1 = MULTIPLY(z1, - FIX(0.899976223));
                         z2 = MULTIPLY(d3, - FIX(2.562915447));
                         z3 = MULTIPLY(z3, - FIX(1.961570560));
                         z4 = MULTIPLY(d1, - FIX(0.390180644));
-                   
+
                         z3 += z5;
                         z4 += z5;
-                   
+
                         tmp0 += z1 + z3;
                         tmp1 = z2 + z4;
                         tmp2 += z2 + z3;
@@ -792,22 +781,22 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
             /* d1 == 0, d3 != 0, d5 == 0, d7 != 0 */
                         z3 = d7 + d3;
                         z5 = MULTIPLY(z3, FIX(1.175875602));
-                   
+
                         tmp0 = MULTIPLY(d7, - FIX2(0.601344887));
                         tmp2 = MULTIPLY(d3, FIX(0.509795579));
                         z1 = MULTIPLY(d7, - FIX(0.899976223));
                         z2 = MULTIPLY(d3, - FIX(2.562915447));
                         z3 = MULTIPLY(z3, - FIX2(0.785694958));
-    
+
                         tmp0 += z3;
                         tmp1 = z2 + z5;
                         tmp2 += z3;
                         tmp3 = z1 + z5;
                     }
-                } 
-                else 
+                }
+                else
                 {
-                    if (d1) 
+                    if (d1)
                     {
             /* d1 != 0, d3 == 0, d5 == 0, d7 != 0 */
                         z1 = d7 + d1;
@@ -818,13 +807,13 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z1 = MULTIPLY(z1, FIX2(0.275899379));
                         z3 = MULTIPLY(d7, - FIX(1.961570560));
                         z4 = MULTIPLY(d1, - FIX(0.390180644));
-    
+
                         tmp0 += z1;
                         tmp1 = z4 + z5;
                         tmp2 = z3 + z5;
                         tmp3 += z1;
-                    }   
-                else 
+                    }
+                else
                     {
             /* d1 == 0, d3 == 0, d5 == 0, d7 != 0 */
                         tmp0 = MULTIPLY(d7, - FIX2(1.387039845));
@@ -836,10 +825,10 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
             }
         }
         else
-        { 
+        {
             if (d5)
             {
-                if (d3) 
+                if (d3)
                 {
                     if (d1)
                     {
@@ -847,7 +836,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z2 = d5 + d3;
                         z4 = d5 + d1;
                         z5 = MULTIPLY(d3 + z4, FIX(1.175875602));
-                   
+
                         tmp1 = MULTIPLY(d5, FIX(2.053119869));
                         tmp2 = MULTIPLY(d3, FIX(3.072711026));
                         tmp3 = MULTIPLY(d1, FIX(1.501321110));
@@ -855,53 +844,53 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z2 = MULTIPLY(z2, - FIX(2.562915447));
                         z3 = MULTIPLY(d3, - FIX(1.961570560));
                         z4 = MULTIPLY(z4, - FIX(0.390180644));
-                   
+
                         z3 += z5;
                         z4 += z5;
-                   
+
                         tmp0 = z1 + z3;
                         tmp1 += z2 + z4;
                         tmp2 += z2 + z3;
                         tmp3 += z1 + z4;
-                    } 
-                    else 
+                    }
+                    else
                     {
             /* d1 == 0, d3 != 0, d5 != 0, d7 == 0 */
                         z2 = d5 + d3;
                         z5 = MULTIPLY(z2, FIX(1.175875602));
-                   
+
                         tmp1 = MULTIPLY(d5, FIX2(1.662939225));
                         tmp2 = MULTIPLY(d3, FIX2(1.111140466));
                         z2 = MULTIPLY(z2, - FIX2(1.387039845));
                         z3 = MULTIPLY(d3, - FIX(1.961570560));
                         z4 = MULTIPLY(d5, - FIX(0.390180644));
-                   
+
                         tmp0 = z3 + z5;
                         tmp1 += z2;
                         tmp2 += z2;
                         tmp3 = z4 + z5;
                     }
                 }
-                else 
+                else
                 {
-                    if (d1) 
+                    if (d1)
                     {
             /* d1 != 0, d3 == 0, d5 != 0, d7 == 0 */
                         z4 = d5 + d1;
                         z5 = MULTIPLY(z4, FIX(1.175875602));
-                   
+
                         tmp1 = MULTIPLY(d5, - FIX2(0.509795578));
                         tmp3 = MULTIPLY(d1, FIX2(0.601344887));
                         z1 = MULTIPLY(d1, - FIX(0.899976223));
                         z2 = MULTIPLY(d5, - FIX(2.562915447));
                         z4 = MULTIPLY(z4, FIX2(0.785694958));
-                   
+
                         tmp0 = z1 + z5;
                         tmp1 += z4;
                         tmp2 = z2 + z5;
                         tmp3 += z4;
                     }
-                    else 
+                    else
                     {
             /* d1 == 0, d3 == 0, d5 != 0, d7 == 0 */
                         tmp0 = MULTIPLY(d5, FIX(1.175875602));
@@ -911,11 +900,11 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     }
                 }
             }
-            else 
+            else
             {
                 if (d3)
                 {
-                    if (d1) 
+                    if (d1)
                     {
             /* d1 != 0, d3 != 0, d5 == 0, d7 == 0 */
                         z5 = d3 + d1;
@@ -926,13 +915,13 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         z2 = MULTIPLY(d3, - FIX(2.172734803));
                         z4 = MULTIPLY(z5, FIX(0.785694958));
                         z5 = MULTIPLY(z5, FIX(1.175875602));
-                   
+
                         tmp0 = z1 - z4;
                         tmp1 = z2 + z4;
                         tmp2 += z5;
                         tmp3 += z5;
                     }
-                    else 
+                    else
                     {
             /* d1 == 0, d3 != 0, d5 == 0, d7 == 0 */
                         tmp0 = MULTIPLY(d3, - FIX2(0.785694958));
@@ -941,9 +930,9 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp3 = MULTIPLY(d3, FIX(1.175875602));
                     }
                 }
-                else 
+                else
                 {
-                    if (d1) 
+                    if (d1)
                     {
             /* d1 != 0, d3 == 0, d5 == 0, d7 == 0 */
                         tmp0 = MULTIPLY(d1, FIX2(0.275899379));
@@ -951,7 +940,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp2 = MULTIPLY(d1, FIX(1.175875602));
                         tmp3 = MULTIPLY(d1, FIX2(1.387039845));
                     }
-                    else 
+                    else
                     {
             /* d1 == 0, d3 == 0, d5 == 0, d7 == 0 */
                         tmp0 = tmp1 = tmp2 = tmp3 = 0;
@@ -971,7 +960,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         dataptr[3] = (dctelem_t) DESCALE(tmp13 + tmp0, CONST_BITS-PASS1_BITS);
         dataptr[4] = (dctelem_t) DESCALE(tmp13 - tmp0, CONST_BITS-PASS1_BITS);
 
-        dataptr += DCTSIZE;            /* advance pointer to next row */
+        dataptr += DCTSIZE;              /* advance pointer to next row */
     }
 
   /* Pass 2: process columns. */
@@ -979,7 +968,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
   /* and also undo the PASS1_BITS scaling. */
 
     dataptr = p_block;
-    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--) 
+    for (rowctr = DCTSIZE-1; rowctr >= 0; rowctr--)
     {
     /* Columns of zeroes can be exploited in the same way as we did with rows.
      * However, the row calculation has created many nonzero AC terms, so the
@@ -1000,9 +989,9 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
 
     /* Even part: reverse the even part of the forward DCT. */
     /* The rotator is sqrt(2)*c(-6). */
-        if (d6) 
+        if (d6)
         {
-            if (d4) 
+            if (d4)
             {
                 if (d2)
                 {
@@ -1021,7 +1010,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp11 = tmp1 + tmp2;
                         tmp12 = tmp1 - tmp2;
                     }
-                    else 
+                    else
                     {
             /* d0 == 0, d2 != 0, d4 != 0, d6 != 0 */
                         z1 = MULTIPLY(d2 + d6, FIX(0.541196100));
@@ -1036,7 +1025,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp12 = -(tmp0 + tmp2);
                     }
                 }
-                else 
+                else
                 {
                     if (d0)
                     {
@@ -1069,9 +1058,9 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
             }
             else
             {
-                if (d2) 
+                if (d2)
                 {
-                    if (d0) 
+                    if (d0)
                     {
             /* d0 != 0, d2 != 0, d4 == 0, d6 != 0 */
                         z1 = MULTIPLY(d2 + d6, FIX(0.541196100));
@@ -1097,8 +1086,8 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                         tmp11 = tmp2;
                         tmp12 = -tmp2;
                     }
-                } 
-                else 
+                }
+                else
                 {
                     if (d0)
                     {
@@ -1112,8 +1101,8 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp13 = tmp0 - tmp3;
                     tmp11 = tmp0 + tmp2;
                     tmp12 = tmp0 - tmp2;
-                } 
-                else 
+                }
+                else
                 {
             /* d0 == 0, d2 == 0, d4 == 0, d6 != 0 */
                     tmp2 = MULTIPLY(d6, - FIX2(1.306562965));
@@ -1128,11 +1117,11 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
     }
     else
     {
-        if (d4) 
+        if (d4)
         {
-            if (d2) 
+            if (d2)
             {
-                   if (d0) 
+                if (d0)
                 {
             /* d0 != 0, d2 != 0, d4 != 0, d6 == 0 */
                     tmp2 = MULTIPLY(d2, FIX(0.541196100));
@@ -1146,7 +1135,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp11 = tmp1 + tmp2;
                     tmp12 = tmp1 - tmp2;
                 }
-                else 
+                else
                 {
             /* d0 == 0, d2 != 0, d4 != 0, d6 == 0 */
                     tmp2 = MULTIPLY(d2, FIX(0.541196100));
@@ -1160,7 +1149,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp12 = -(tmp0 + tmp2);
                 }
             }
-            else 
+            else
             {
                 if (d0)
                 {
@@ -1168,19 +1157,19 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp10 = tmp13 = (d0 + d4) << CONST_BITS;
                     tmp11 = tmp12 = (d0 - d4) << CONST_BITS;
                 }
-                else 
+                else
                 {
             /* d0 == 0, d2 == 0, d4 != 0, d6 == 0 */
                     tmp10 = tmp13 = d4 << CONST_BITS;
                     tmp11 = tmp12 = -tmp10;
                 }
             }
-        } 
-        else 
+        }
+        else
         {
-        if (d2) 
+        if (d2)
         {
-           if (d0) 
+            if (d0)
             {
             /* d0 != 0, d2 != 0, d4 == 0, d6 == 0 */
                     tmp2 = MULTIPLY(d2, FIX(0.541196100));
@@ -1193,7 +1182,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp11 = tmp0 + tmp2;
                     tmp12 = tmp0 - tmp2;
             }
-            else 
+            else
             {
             /* d0 == 0, d2 != 0, d4 == 0, d6 == 0 */
                     tmp2 = MULTIPLY(d2, FIX(0.541196100));
@@ -1205,14 +1194,14 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp12 = -tmp2;
             }
         }
-        else 
+        else
         {
-            if (d0) 
+            if (d0)
                 {
             /* d0 != 0, d2 == 0, d4 == 0, d6 == 0 */
                     tmp10 = tmp13 = tmp11 = tmp12 = d0 << CONST_BITS;
                 }
-                else 
+                else
                 {
             /* d0 == 0, d2 == 0, d4 == 0, d6 == 0 */
                     tmp10 = tmp13 = tmp11 = tmp12 = 0;
@@ -1224,13 +1213,13 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
     /* Odd part per figure 8; the matrix is unitary and hence its
      * transpose is its inverse.  i0..i3 are y7,y5,y3,y1 respectively.
      */
-    if (d7) 
+    if (d7)
     {
-           if (d5) 
+        if (d5)
         {
-            if (d3) 
+            if (d3)
             {
-               if (d1) 
+                if (d1)
                 {
             /* d1 != 0, d3 != 0, d5 != 0, d7 != 0 */
                     z1 = d7 + d1;
@@ -1238,8 +1227,8 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     z3 = d7 + d3;
                     z4 = d5 + d1;
                     z5 = MULTIPLY(z3 + z4, FIX(1.175875602));
-                   
-                    tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                    tmp0 = MULTIPLY(d7, FIX(0.298631336));
                     tmp1 = MULTIPLY(d5, FIX(2.053119869));
                     tmp2 = MULTIPLY(d3, FIX(3.072711026));
                     tmp3 = MULTIPLY(d1, FIX(1.501321110));
@@ -1247,79 +1236,79 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     z2 = MULTIPLY(z2, - FIX(2.562915447));
                     z3 = MULTIPLY(z3, - FIX(1.961570560));
                     z4 = MULTIPLY(z4, - FIX(0.390180644));
-                   
+
                     z3 += z5;
                     z4 += z5;
-                   
+
                     tmp0 += z1 + z3;
                     tmp1 += z2 + z4;
                     tmp2 += z2 + z3;
                     tmp3 += z1 + z4;
                 }
-                else 
+                else
                 {
             /* d1 == 0, d3 != 0, d5 != 0, d7 != 0 */
                     z2 = d5 + d3;
                     z3 = d7 + d3;
                     z5 = MULTIPLY(z3 + d5, FIX(1.175875602));
-                   
-                    tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                    tmp0 = MULTIPLY(d7, FIX(0.298631336));
                     tmp1 = MULTIPLY(d5, FIX(2.053119869));
                     tmp2 = MULTIPLY(d3, FIX(3.072711026));
                     z1 = MULTIPLY(d7, - FIX(0.899976223));
                     z2 = MULTIPLY(z2, - FIX(2.562915447));
                     z3 = MULTIPLY(z3, - FIX(1.961570560));
                     z4 = MULTIPLY(d5, - FIX(0.390180644));
-                   
+
                     z3 += z5;
                     z4 += z5;
-                   
+
                     tmp0 += z1 + z3;
                     tmp1 += z2 + z4;
                     tmp2 += z2 + z3;
                     tmp3 = z1 + z4;
                 }
-            } 
+            }
             else
             {
-                if (d1) 
+                if (d1)
                 {
             /* d1 != 0, d3 == 0, d5 != 0, d7 != 0 */
                     z1 = d7 + d1;
                     z4 = d5 + d1;
                     z5 = MULTIPLY(d7 + z4, FIX(1.175875602));
-                   
-                    tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                    tmp0 = MULTIPLY(d7, FIX(0.298631336));
                     tmp1 = MULTIPLY(d5, FIX(2.053119869));
                     tmp3 = MULTIPLY(d1, FIX(1.501321110));
                     z1 = MULTIPLY(z1, - FIX(0.899976223));
                     z2 = MULTIPLY(d5, - FIX(2.562915447));
                     z3 = MULTIPLY(d7, - FIX(1.961570560));
                     z4 = MULTIPLY(z4, - FIX(0.390180644));
-                   
+
                     z3 += z5;
                     z4 += z5;
-                   
+
                     tmp0 += z1 + z3;
                     tmp1 += z2 + z4;
                     tmp2 = z2 + z3;
                     tmp3 += z1 + z4;
                 }
-                else 
+                else
                 {
             /* d1 == 0, d3 == 0, d5 != 0, d7 != 0 */
                     z5 = MULTIPLY(d5 + d7, FIX(1.175875602));
 
-                    tmp0 = MULTIPLY(d7, - FIX2(0.601344887)); 
+                    tmp0 = MULTIPLY(d7, - FIX2(0.601344887));
                     tmp1 = MULTIPLY(d5, - FIX2(0.509795578));
                     z1 = MULTIPLY(d7, - FIX(0.899976223));
                     z3 = MULTIPLY(d7, - FIX(1.961570560));
                     z2 = MULTIPLY(d5, - FIX(2.562915447));
                     z4 = MULTIPLY(d5, - FIX(0.390180644));
-                   
+
                     z3 += z5;
                     z4 += z5;
-                   
+
                     tmp0 += z3;
                     tmp1 += z4;
                     tmp2 = z2 + z3;
@@ -1327,60 +1316,60 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                 }
             }
         }
-        else 
+        else
         {
             if (d3)
             {
-                if (d1) 
+                if (d1)
                 {
             /* d1 != 0, d3 != 0, d5 == 0, d7 != 0 */
                     z1 = d7 + d1;
                     z3 = d7 + d3;
                     z5 = MULTIPLY(z3 + d1, FIX(1.175875602));
-                   
-                    tmp0 = MULTIPLY(d7, FIX(0.298631336)); 
+
+                    tmp0 = MULTIPLY(d7, FIX(0.298631336));
                     tmp2 = MULTIPLY(d3, FIX(3.072711026));
                     tmp3 = MULTIPLY(d1, FIX(1.501321110));
                     z1 = MULTIPLY(z1, - FIX(0.899976223));
                     z2 = MULTIPLY(d3, - FIX(2.562915447));
                     z3 = MULTIPLY(z3, - FIX(1.961570560));
                     z4 = MULTIPLY(d1, - FIX(0.390180644));
-                   
+
                     z3 += z5;
                     z4 += z5;
-                   
+
                     tmp0 += z1 + z3;
                     tmp1 = z2 + z4;
                     tmp2 += z2 + z3;
                     tmp3 += z1 + z4;
-                } 
-                else 
+                }
+                else
                 {
             /* d1 == 0, d3 != 0, d5 == 0, d7 != 0 */
                     z3 = d7 + d3;
                     z5 = MULTIPLY(z3, FIX(1.175875602));
-                   
-                    tmp0 = MULTIPLY(d7, - FIX2(0.601344887)); 
+
+                    tmp0 = MULTIPLY(d7, - FIX2(0.601344887));
                     z1 = MULTIPLY(d7, - FIX(0.899976223));
                     tmp2 = MULTIPLY(d3, FIX(0.509795579));
                     z2 = MULTIPLY(d3, - FIX(2.562915447));
                     z3 = MULTIPLY(z3, - FIX2(0.785694958));
-                   
+
                     tmp0 += z3;
                     tmp1 = z2 + z5;
                     tmp2 += z3;
                     tmp3 = z1 + z5;
                 }
-            } 
+            }
             else
             {
-                if (d1) 
+                if (d1)
                 {
             /* d1 != 0, d3 == 0, d5 == 0, d7 != 0 */
                     z1 = d7 + d1;
                     z5 = MULTIPLY(z1, FIX(1.175875602));
 
-                    tmp0 = MULTIPLY(d7, - FIX2(1.662939224)); 
+                    tmp0 = MULTIPLY(d7, - FIX2(1.662939224));
                     tmp3 = MULTIPLY(d1, FIX2(1.111140466));
                     z1 = MULTIPLY(z1, FIX2(0.275899379));
                     z3 = MULTIPLY(d7, - FIX(1.961570560));
@@ -1391,7 +1380,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp2 = z3 + z5;
                     tmp3 += z1;
                 }
-                else 
+                else
                 {
             /* d1 == 0, d3 == 0, d5 == 0, d7 != 0 */
                     tmp0 = MULTIPLY(d7, - FIX2(1.387039845));
@@ -1401,20 +1390,20 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                 }
             }
         }
-    } 
-    else 
+    }
+    else
     {
-        if (d5) 
+        if (d5)
         {
-            if (d3) 
+            if (d3)
             {
-                if (d1) 
+                if (d1)
                 {
             /* d1 != 0, d3 != 0, d5 != 0, d7 == 0 */
                     z2 = d5 + d3;
                     z4 = d5 + d1;
                     z5 = MULTIPLY(d3 + z4, FIX(1.175875602));
-                   
+
                     tmp1 = MULTIPLY(d5, FIX(2.053119869));
                     tmp2 = MULTIPLY(d3, FIX(3.072711026));
                     tmp3 = MULTIPLY(d1, FIX(1.501321110));
@@ -1422,16 +1411,16 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     z2 = MULTIPLY(z2, - FIX(2.562915447));
                     z3 = MULTIPLY(d3, - FIX(1.961570560));
                     z4 = MULTIPLY(z4, - FIX(0.390180644));
-                   
+
                     z3 += z5;
                     z4 += z5;
-                   
+
                     tmp0 = z1 + z3;
                     tmp1 += z2 + z4;
                     tmp2 += z2 + z3;
                     tmp3 += z1 + z4;
                 }
-                else 
+                else
                 {
             /* d1 == 0, d3 != 0, d5 != 0, d7 == 0 */
                     z2 = d5 + d3;
@@ -1442,27 +1431,27 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     z2 = MULTIPLY(z2, - FIX2(1.387039845));
                     z3 = MULTIPLY(d3, - FIX(1.961570560));
                     z4 = MULTIPLY(d5, - FIX(0.390180644));
-                   
+
                     tmp0 = z3 + z5;
                     tmp1 += z2;
                     tmp2 += z2;
                     tmp3 = z4 + z5;
                 }
-            } 
-            else 
+            }
+            else
             {
-                if (d1) 
+                if (d1)
                 {
             /* d1 != 0, d3 == 0, d5 != 0, d7 == 0 */
                     z4 = d5 + d1;
                     z5 = MULTIPLY(z4, FIX(1.175875602));
-                   
+
                     tmp1 = MULTIPLY(d5, - FIX2(0.509795578));
                     tmp3 = MULTIPLY(d1, FIX2(0.601344887));
                     z1 = MULTIPLY(d1, - FIX(0.899976223));
                     z2 = MULTIPLY(d5, - FIX(2.562915447));
                     z4 = MULTIPLY(z4, FIX2(0.785694958));
-                   
+
                     tmp0 = z1 + z5;
                     tmp1 += z4;
                     tmp2 = z2 + z5;
@@ -1482,7 +1471,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
         {
             if (d3)
             {
-                if (d1) 
+                if (d1)
                 {
             /* d1 != 0, d3 != 0, d5 == 0, d7 == 0 */
                     z5 = d3 + d1;
@@ -1493,7 +1482,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     z2 = MULTIPLY(d3, - FIX(2.172734803));
                     z4 = MULTIPLY(z5, FIX(0.785694958));
                     z5 = MULTIPLY(z5, FIX(1.175875602));
-                   
+
                     tmp0 = z1 - z4;
                     tmp1 = z2 + z4;
                     tmp2 += z5;
@@ -1518,7 +1507,7 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                     tmp2 = MULTIPLY(d1, FIX(1.175875602));
                     tmp3 = MULTIPLY(d1, FIX2(1.387039845));
                 }
-                else 
+                else
                 {
             /* d1 == 0, d3 == 0, d5 == 0, d7 == 0 */
                     tmp0 = tmp1 = tmp2 = tmp3 = 0;
@@ -1545,8 +1534,9 @@ void vdec_IDCT( vdec_thread_t * p_vdec, dctelem_t * p_block, int i_idontcare )
                        CONST_BITS+PASS1_BITS+3);
     dataptr[DCTSIZE*4] = (dctelem_t) DESCALE(tmp13 - tmp0,
                        CONST_BITS+PASS1_BITS+3);
-    
-    dataptr++;                 /* advance pointer to next column */
+
+    dataptr++;             /* advance pointer to next column */
     }
 #endif
 }
+#endif