Home | History | Annotate | Download | only in x86
      1 /*
      2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
      3  *
      4  *  Use of this source code is governed by a BSD-style license
      5  *  that can be found in the LICENSE file in the root of the source
      6  *  tree. An additional intellectual property rights grant can be found
      7  *  in the file PATENTS.  All contributing project authors may
      8  *  be found in the AUTHORS file in the root of the source tree.
      9  */
     10 
     11 
     12 #ifndef DCT_X86_H
     13 #define DCT_X86_H
     14 
     15 
     16 /* Note:
     17  *
     18  * This platform is commonly built for runtime CPU detection. If you modify
     19  * any of the function mappings present in this file, be sure to also update
     20  * them in the function pointer initialization code
     21  */
     22 #if HAVE_MMX
     23 extern prototype_fdct(vp8_short_fdct4x4_mmx);
     24 extern prototype_fdct(vp8_short_fdct8x4_mmx);
     25 
     26 #if !CONFIG_RUNTIME_CPU_DETECT
     27 #if 0
     28 #undef  vp8_fdct_short4x4
     29 #define vp8_fdct_short4x4 vp8_short_fdct4x4_mmx
     30 
     31 #undef  vp8_fdct_short8x4
     32 #define vp8_fdct_short8x4 vp8_short_fdct8x4_mmx
     33 #endif
     34 
     35 #endif
     36 #endif
     37 
     38 
     39 #if HAVE_SSE2
     40 extern prototype_fdct(vp8_short_fdct8x4_wmt);
     41 extern prototype_fdct(vp8_short_walsh4x4_sse2);
     42 
     43 extern prototype_fdct(vp8_short_fdct4x4_sse2);
     44 
     45 #if !CONFIG_RUNTIME_CPU_DETECT
     46 #if 1
     47 /* short SSE2 DCT currently disabled, does not match the MMX version */
     48 #undef  vp8_fdct_short4x4
     49 #define vp8_fdct_short4x4 vp8_short_fdct4x4_sse2
     50 
     51 #undef  vp8_fdct_short8x4
     52 #define vp8_fdct_short8x4 vp8_short_fdct8x4_sse2
     53 #endif
     54 
     55 #undef  vp8_fdct_fast4x4
     56 #define vp8_fdct_fast4x4 vp8_short_fdct4x4_sse2
     57 
     58 #undef  vp8_fdct_fast8x4
     59 #define vp8_fdct_fast8x4 vp8_short_fdct8x4_sse2
     60 
     61 #undef vp8_fdct_walsh_short4x4
     62 #define vp8_fdct_walsh_short4x4  vp8_short_walsh4x4_sse2
     63 
     64 #endif
     65 
     66 
     67 #endif
     68 
     69 #endif
     70