[cvs] / xvidcore / src / dct / simple_idct.c Repository:
ViewVC logotype

Diff of /xvidcore/src/dct/simple_idct.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.2.3, Tue Feb 11 12:45:52 2003 UTC revision 1.3, Mon Jun 9 17:08:16 2003 UTC
# Line 46  Line 46 
46  #define COL_SHIFT 20 // 6  #define COL_SHIFT 20 // 6
47  #endif  #endif
48    
49  #if defined(ARCH_POWERPC_405)  #if defined(ARCH_IS_PPC)
50    
51  /* signed 16x16 -> 32 multiply add accumulate */  /* signed 16x16 -> 32 multiply add accumulate */
52  #define MAC16(rt, ra, rb) \  #define MAC16(rt, ra, rb) \
# Line 76  Line 76 
76  #endif  #endif
77    
78  #ifdef FAST_64BIT  #ifdef FAST_64BIT
79  #ifdef WORDS_BIGENDIAN  #ifdef ARCH_IS_BIG_ENDIAN
80  #define ROW0_MASK 0xffff000000000000LL  #define ROW0_MASK 0xffff000000000000LL
81  #else  #else
82  #define ROW0_MASK 0xffffLL  #define ROW0_MASK 0xffffLL
# Line 230  Line 230 
230      for(i=0; i<8; i++)      for(i=0; i<8; i++)
231          idctSparseCol(block + i);          idctSparseCol(block + i);
232  }  }
   
   
 /* Input permutation for the simple_idct_mmx */  
 static const uint8_t simple_mmx_permutation[64]={  
         0x00, 0x08, 0x04, 0x09, 0x01, 0x0C, 0x05, 0x0D,  
         0x10, 0x18, 0x14, 0x19, 0x11, 0x1C, 0x15, 0x1D,  
         0x20, 0x28, 0x24, 0x29, 0x21, 0x2C, 0x25, 0x2D,  
         0x12, 0x1A, 0x16, 0x1B, 0x13, 0x1E, 0x17, 0x1F,  
         0x02, 0x0A, 0x06, 0x0B, 0x03, 0x0E, 0x07, 0x0F,  
         0x30, 0x38, 0x34, 0x39, 0x31, 0x3C, 0x35, 0x3D,  
         0x22, 0x2A, 0x26, 0x2B, 0x23, 0x2E, 0x27, 0x2F,  
         0x32, 0x3A, 0x36, 0x3B, 0x33, 0x3E, 0x37, 0x3F,  
 };  
   
 #if defined(ARCH_X86)  
 /* wrapper function, as simple_idct_mmx expects data to be permutated */  
 void simple_idct_mmx2(int16_t * const block)  
 {  
     int16_t tmp[64];  
     int i;  
   
     for(i=0;i<64;i++) tmp[simple_mmx_permutation[i]] = block[i];  
     simple_idct_mmx(tmp);  
     for(i=0;i<64;i++) block[i] = tmp[i];  
 }  
 #endif  

Legend:
Removed from v.1.1.2.3  
changed lines
  Added in v.1.3

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4