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 IDCT_X86_H
     13 #define IDCT_X86_H
     14 
     15 /* Note:
     16  *
     17  * This platform is commonly built for runtime CPU detection. If you modify
     18  * any of the function mappings present in this file, be sure to also update
     19  * them in the function pointer initialization code
     20  */
     21 
     22 #if HAVE_MMX
     23 extern prototype_idct(vp8_short_idct4x4llm_1_mmx);
     24 extern prototype_idct(vp8_short_idct4x4llm_mmx);
     25 extern prototype_idct_scalar_add(vp8_dc_only_idct_add_mmx);
     26 
     27 extern prototype_second_order(vp8_short_inv_walsh4x4_mmx);
     28 extern prototype_second_order(vp8_short_inv_walsh4x4_1_mmx);
     29 
     30 #if !CONFIG_RUNTIME_CPU_DETECT
     31 #undef  vp8_idct_idct1
     32 #define vp8_idct_idct1 vp8_short_idct4x4llm_1_mmx
     33 
     34 #undef  vp8_idct_idct16
     35 #define vp8_idct_idct16 vp8_short_idct4x4llm_mmx
     36 
     37 #undef  vp8_idct_idct1_scalar_add
     38 #define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_mmx
     39 
     40 #undef vp8_idct_iwalsh16
     41 #define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_mmx
     42 
     43 #undef vp8_idct_iwalsh1
     44 #define vp8_idct_iwalsh1 vp8_short_inv_walsh4x4_1_mmx
     45 
     46 #endif
     47 #endif
     48 
     49 #if HAVE_SSE2
     50 
     51 extern prototype_second_order(vp8_short_inv_walsh4x4_sse2);
     52 
     53 #if !CONFIG_RUNTIME_CPU_DETECT
     54 
     55 #undef vp8_idct_iwalsh16
     56 #define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_sse2
     57 
     58 #endif
     59 
     60 #endif
     61 
     62 
     63 
     64 #endif
     65