Merge "vp8_rd_pick_best_mbsegmentation code restructure"
[libvpx.git] / vp8 / common / arm / idct_arm.h
blob8b8d179172b841f1b2be3226c1756e5201ca1b25
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 IDCT_ARM_H
13 #define IDCT_ARM_H
15 #if HAVE_ARMV6
16 extern prototype_idct(vp8_short_idct4x4llm_1_v6);
17 extern prototype_idct(vp8_short_idct4x4llm_v6_dual);
18 extern prototype_idct_scalar_add(vp8_dc_only_idct_add_v6);
19 extern prototype_second_order(vp8_short_inv_walsh4x4_1_v6);
20 extern prototype_second_order(vp8_short_inv_walsh4x4_v6);
22 #if !CONFIG_RUNTIME_CPU_DETECT
23 #undef vp8_idct_idct1
24 #define vp8_idct_idct1 vp8_short_idct4x4llm_1_v6
26 #undef vp8_idct_idct16
27 #define vp8_idct_idct16 vp8_short_idct4x4llm_v6_dual
29 #undef vp8_idct_idct1_scalar_add
30 #define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_v6
32 #undef vp8_idct_iwalsh1
33 #define vp8_idct_iwalsh1 vp8_short_inv_walsh4x4_1_v6
35 #undef vp8_idct_iwalsh16
36 #define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_v6
37 #endif
38 #endif
40 #if HAVE_ARMV7
41 extern prototype_idct(vp8_short_idct4x4llm_1_neon);
42 extern prototype_idct(vp8_short_idct4x4llm_neon);
43 extern prototype_idct_scalar_add(vp8_dc_only_idct_add_neon);
44 extern prototype_second_order(vp8_short_inv_walsh4x4_1_neon);
45 extern prototype_second_order(vp8_short_inv_walsh4x4_neon);
47 #if !CONFIG_RUNTIME_CPU_DETECT
48 #undef vp8_idct_idct1
49 #define vp8_idct_idct1 vp8_short_idct4x4llm_1_neon
51 #undef vp8_idct_idct16
52 #define vp8_idct_idct16 vp8_short_idct4x4llm_neon
54 #undef vp8_idct_idct1_scalar_add
55 #define vp8_idct_idct1_scalar_add vp8_dc_only_idct_add_neon
57 #undef vp8_idct_iwalsh1
58 #define vp8_idct_iwalsh1 vp8_short_inv_walsh4x4_1_neon
60 #undef vp8_idct_iwalsh16
61 #define vp8_idct_iwalsh16 vp8_short_inv_walsh4x4_neon
62 #endif
63 #endif
65 #endif