Merge "Skip computation of distortion in vp8_pick_inter_mode if active_map is used"
[libvpx.git] / vp8 / encoder / x86 / dct_x86.h
blob19f6c1686486a071d42907e17f8aaa0125b7f98f
1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
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 */
12 #ifndef DCT_X86_H
13 #define DCT_X86_H
16 /* Note:
18 * This platform is commonly built for runtime CPU detection. If you modify
19 * any of the function mappings present in this file, be sure to also update
20 * them in the function pointer initialization code
22 #if HAVE_MMX
23 extern prototype_fdct(vp8_short_fdct4x4_mmx);
24 extern prototype_fdct(vp8_short_fdct8x4_mmx);
26 #if !CONFIG_RUNTIME_CPU_DETECT
28 #undef vp8_fdct_short4x4
29 #define vp8_fdct_short4x4 vp8_short_fdct4x4_mmx
31 #undef vp8_fdct_short8x4
32 #define vp8_fdct_short8x4 vp8_short_fdct8x4_mmx
34 #undef vp8_fdct_fast4x4
35 #define vp8_fdct_fast4x4 vp8_short_fdct4x4_mmx
37 #undef vp8_fdct_fast8x4
38 #define vp8_fdct_fast8x4 vp8_short_fdct8x4_mmx
40 #endif
42 #endif
45 #if HAVE_SSE2
46 extern prototype_fdct(vp8_short_fdct8x4_sse2);
47 extern prototype_fdct(vp8_short_walsh4x4_sse2);
49 extern prototype_fdct(vp8_short_fdct4x4_sse2);
51 #if !CONFIG_RUNTIME_CPU_DETECT
53 #undef vp8_fdct_short4x4
54 #define vp8_fdct_short4x4 vp8_short_fdct4x4_sse2
56 #undef vp8_fdct_short8x4
57 #define vp8_fdct_short8x4 vp8_short_fdct8x4_sse2
59 #undef vp8_fdct_fast4x4
60 #define vp8_fdct_fast4x4 vp8_short_fdct4x4_sse2
62 #undef vp8_fdct_fast8x4
63 #define vp8_fdct_fast8x4 vp8_short_fdct8x4_sse2
65 #undef vp8_fdct_walsh_short4x4
66 #define vp8_fdct_walsh_short4x4 vp8_short_walsh4x4_sse2
68 #endif
71 #endif
73 #endif