OSDN Git Service

simple_idct: remove code for DCTELEM != int16
authorMans Rullgard <mans@mansr.com>
Mon, 18 Jul 2011 14:23:22 +0000 (15:23 +0100)
committerMans Rullgard <mans@mansr.com>
Mon, 18 Jul 2011 19:57:22 +0000 (20:57 +0100)
DCTELEM can never be changed to anything else, too much code
depends on it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
libavcodec/simple_idct.c

index d21e5ed..c82f092 100644 (file)
@@ -59,39 +59,24 @@ static inline void idctRowCondDC (DCTELEM * row)
 #else
 #define ROW0_MASK 0xffffLL
 #endif
-        if(sizeof(DCTELEM)==2){
-            if ( ((((uint64_t *)row)[0] & ~ROW0_MASK) |
-                  ((uint64_t *)row)[1]) == 0) {
-                temp = (row[0] << 3) & 0xffff;
-                temp += temp << 16;
-                temp += temp << 32;
-                ((uint64_t *)row)[0] = temp;
-                ((uint64_t *)row)[1] = temp;
-                return;
-            }
-        }else{
-            if (!(row[1]|row[2]|row[3]|row[4]|row[5]|row[6]|row[7])) {
-                row[0]=row[1]=row[2]=row[3]=row[4]=row[5]=row[6]=row[7]= row[0] << 3;
-                return;
-            }
+        if (((((uint64_t *)row)[0] & ~ROW0_MASK) | ((uint64_t *)row)[1]) == 0) {
+            temp = (row[0] << 3) & 0xffff;
+            temp += temp << 16;
+            temp += temp << 32;
+            ((uint64_t *)row)[0] = temp;
+            ((uint64_t *)row)[1] = temp;
+            return;
         }
 #else
-        if(sizeof(DCTELEM)==2){
-            if (!(((uint32_t*)row)[1] |
-                  ((uint32_t*)row)[2] |
-                  ((uint32_t*)row)[3] |
-                  row[1])) {
-                temp = (row[0] << 3) & 0xffff;
-                temp += temp << 16;
-                ((uint32_t*)row)[0]=((uint32_t*)row)[1] =
+        if (!(((uint32_t*)row)[1] |
+              ((uint32_t*)row)[2] |
+              ((uint32_t*)row)[3] |
+              row[1])) {
+            temp = (row[0] << 3) & 0xffff;
+            temp += temp << 16;
+            ((uint32_t*)row)[0]=((uint32_t*)row)[1] =
                 ((uint32_t*)row)[2]=((uint32_t*)row)[3] = temp;
-                return;
-            }
-        }else{
-            if (!(row[1]|row[2]|row[3]|row[4]|row[5]|row[6]|row[7])) {
-                row[0]=row[1]=row[2]=row[3]=row[4]=row[5]=row[6]=row[7]= row[0] << 3;
-                return;
-            }
+            return;
         }
 #endif