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