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 POSTPROC_X86_H
     13 #define POSTPROC_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_postproc_inplace(vp8_mbpost_proc_down_mmx);
     24 extern prototype_postproc(vp8_post_proc_down_and_across_mmx);
     25 extern prototype_postproc_addnoise(vp8_plane_add_noise_mmx);
     26 
     27 #if !CONFIG_RUNTIME_CPU_DETECT
     28 #undef  vp8_postproc_down
     29 #define vp8_postproc_down vp8_mbpost_proc_down_mmx
     30 
     31 #undef  vp8_postproc_downacross
     32 #define vp8_postproc_downacross vp8_post_proc_down_and_across_mmx
     33 
     34 #undef  vp8_postproc_addnoise
     35 #define vp8_postproc_addnoise vp8_plane_add_noise_mmx
     36 
     37 #endif
     38 #endif
     39 
     40 
     41 #if HAVE_SSE2
     42 extern prototype_postproc_inplace(vp8_mbpost_proc_down_xmm);
     43 extern prototype_postproc_inplace(vp8_mbpost_proc_across_ip_xmm);
     44 extern prototype_postproc(vp8_post_proc_down_and_across_xmm);
     45 extern prototype_postproc_addnoise(vp8_plane_add_noise_wmt);
     46 
     47 #if !CONFIG_RUNTIME_CPU_DETECT
     48 #undef  vp8_postproc_down
     49 #define vp8_postproc_down vp8_mbpost_proc_down_xmm
     50 
     51 #undef  vp8_postproc_across
     52 #define vp8_postproc_across vp8_mbpost_proc_across_ip_xmm
     53 
     54 #undef  vp8_postproc_downacross
     55 #define vp8_postproc_downacross vp8_post_proc_down_and_across_xmm
     56 
     57 #undef  vp8_postproc_addnoise
     58 #define vp8_postproc_addnoise vp8_plane_add_noise_wmt
     59 
     60 
     61 #endif
     62 #endif
     63 
     64 #endif
     65