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 RECON_X86_H
     13 #define RECON_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_recon_block(vp8_recon_b_mmx);
     24 extern prototype_copy_block(vp8_copy_mem8x8_mmx);
     25 extern prototype_copy_block(vp8_copy_mem8x4_mmx);
     26 extern prototype_copy_block(vp8_copy_mem16x16_mmx);
     27 
     28 
     29 #if !CONFIG_RUNTIME_CPU_DETECT
     30 #undef  vp8_recon_recon
     31 #define vp8_recon_recon vp8_recon_b_mmx
     32 
     33 #undef  vp8_recon_copy8x8
     34 #define vp8_recon_copy8x8 vp8_copy_mem8x8_mmx
     35 
     36 #undef  vp8_recon_copy8x4
     37 #define vp8_recon_copy8x4 vp8_copy_mem8x4_mmx
     38 
     39 #undef  vp8_recon_copy16x16
     40 #define vp8_recon_copy16x16 vp8_copy_mem16x16_mmx
     41 
     42 #endif
     43 #endif
     44 
     45 #if HAVE_SSE2
     46 extern prototype_recon_block(vp8_recon2b_sse2);
     47 extern prototype_recon_block(vp8_recon4b_sse2);
     48 extern prototype_copy_block(vp8_copy_mem16x16_sse2);
     49 
     50 #if !CONFIG_RUNTIME_CPU_DETECT
     51 #undef  vp8_recon_recon2
     52 #define vp8_recon_recon2 vp8_recon2b_sse2
     53 
     54 #undef  vp8_recon_recon4
     55 #define vp8_recon_recon4 vp8_recon4b_sse2
     56 
     57 #undef  vp8_recon_copy16x16
     58 #define vp8_recon_copy16x16 vp8_copy_mem16x16_sse2
     59 
     60 #endif
     61 #endif
     62 #endif
     63