Merge "NEON FDCT updated to match current C code"
[profile/ivi/libvpx.git] / vp8 / encoder / arm / dct_arm.h
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 DCT_ARM_H
13 #define DCT_ARM_H
14
15 #if HAVE_ARMV6
16 extern prototype_fdct(vp8_short_walsh4x4_armv6);
17 extern prototype_fdct(vp8_short_fdct4x4_armv6);
18 extern prototype_fdct(vp8_short_fdct8x4_armv6);
19
20 #if !CONFIG_RUNTIME_CPU_DETECT
21 #undef  vp8_fdct_walsh_short4x4
22 #define vp8_fdct_walsh_short4x4 vp8_short_walsh4x4_armv6
23
24 #undef  vp8_fdct_short4x4
25 #define vp8_fdct_short4x4 vp8_short_fdct4x4_armv6
26
27 #undef  vp8_fdct_short8x4
28 #define vp8_fdct_short8x4 vp8_short_fdct8x4_armv6
29
30 #undef  vp8_fdct_fast4x4
31 #define vp8_fdct_fast4x4 vp8_short_fdct4x4_armv6
32
33 #undef  vp8_fdct_fast8x4
34 #define vp8_fdct_fast8x4 vp8_short_fdct8x4_armv6
35 #endif
36
37 #endif /* HAVE_ARMV6 */
38
39 #if HAVE_ARMV7
40 extern prototype_fdct(vp8_short_fdct4x4_neon);
41 extern prototype_fdct(vp8_short_fdct8x4_neon);
42 extern prototype_fdct(vp8_fast_fdct4x4_neon);
43 extern prototype_fdct(vp8_fast_fdct8x4_neon);
44 extern prototype_fdct(vp8_short_walsh4x4_neon);
45
46 #if !CONFIG_RUNTIME_CPU_DETECT
47 #undef  vp8_fdct_short4x4
48 #define vp8_fdct_short4x4 vp8_short_fdct4x4_neon
49
50 #undef  vp8_fdct_short8x4
51 #define vp8_fdct_short8x4 vp8_short_fdct8x4_neon
52
53 #undef  vp8_fdct_fast4x4
54 #define vp8_fdct_fast4x4 vp8_short_fdct4x4_neon
55
56 #undef  vp8_fdct_fast8x4
57 #define vp8_fdct_fast8x4 vp8_short_fdct8x4_neon
58
59 #undef  vp8_fdct_walsh_short4x4
60 #define vp8_fdct_walsh_short4x4 vp8_short_walsh4x4_neon
61 #endif
62
63 #endif
64
65 #endif