[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.2.2.1, Mon Jun 9 01:19:46 2003 UTC revision 1.2.2.4, Wed Oct 1 23:23:01 2003 UTC
# Line 1  Line 1 
1  /*  /*****************************************************************************
2   * Simple IDCT   *
3     *  XVID MPEG-4 VIDEO CODEC
4     *  - Inverse DCT (More precise version)  -
5   *   *
6   * Copyright (c) 2001 Michael Niedermayer <michaelni@gmx.at>   * Copyright (c) 2001 Michael Niedermayer <michaelni@gmx.at>
7   *   *
8   * This library is free software; you can redistribute it and/or   *  Originally distributed under the GNU LGPL License (ffmpeg).
9   * modify it under the terms of the GNU Lesser General Public   *  It is licensed under the GNU GPL for the XviD tree.
  * License as published by the Free Software Foundation; either  
  * version 2 of the License, or (at your option) any later version.  
10   *   *
11   * This library is distributed in the hope that it will be useful,   *  This program is free software ; you can redistribute it and/or modify
12     *  it under the terms of the GNU General Public License as published by
13     *  the Free Software Foundation ; either version 2 of the License, or
14     *  (at your option) any later version.
15     *
16     *  This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * Lesser General Public License for more details.   *  GNU General Public License for more details.
20   *   *
21   * You should have received a copy of the GNU Lesser General Public   *  You should have received a copy of the GNU General Public License
22   * License along with this library; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
23   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
24   */   *
25     * $Id$
26     *
27     ****************************************************************************/
28    
29  /*  /*
30    based upon some outcommented c code from mpeg2dec (idct_mmx.c    based upon some outcommented c code from mpeg2dec (idct_mmx.c
31    written by Aaron Holtzman <aholtzma@ess.engr.uvic.ca>)    written by Aaron Holtzman <aholtzma@ess.engr.uvic.ca>)
32   */   */
33    
34  #include "../portab.h"  #include "../portab.h"
35  #include "idct.h"  #include "idct.h"
36    
# Line 230  Line 240 
240      for(i=0; i<8; i++)      for(i=0; i<8; i++)
241          idctSparseCol(block + i);          idctSparseCol(block + i);
242  }  }
   
   
 /* 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_IS_IA32)  
 /* 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.2.2.1  
changed lines
  Added in v.1.2.2.4

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