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 23extern prototype_postproc_inplace(vp8_mbpost_proc_down_mmx); 24extern prototype_postproc(vp8_post_proc_down_and_across_mmx); 25extern 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 42extern prototype_postproc_inplace(vp8_mbpost_proc_down_xmm); 43extern prototype_postproc_inplace(vp8_mbpost_proc_across_ip_xmm); 44extern prototype_postproc(vp8_post_proc_down_and_across_xmm); 45extern 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