Merge "vp8_rd_pick_best_mbsegmentation code restructure"
[libvpx.git] / vp8 / common / arm / recon_arm.h
blobb46b7fc7dd5f1f3e2dea682e60f646a370bf8022
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 RECON_ARM_H
13 #define RECON_ARM_H
15 #if HAVE_ARMV6
16 extern prototype_recon_block(vp8_recon_b_armv6);
17 extern prototype_recon_block(vp8_recon2b_armv6);
18 extern prototype_recon_block(vp8_recon4b_armv6);
20 extern prototype_copy_block(vp8_copy_mem8x8_v6);
21 extern prototype_copy_block(vp8_copy_mem8x4_v6);
22 extern prototype_copy_block(vp8_copy_mem16x16_v6);
24 #if !CONFIG_RUNTIME_CPU_DETECT
25 #undef vp8_recon_recon
26 #define vp8_recon_recon vp8_recon_b_armv6
28 #undef vp8_recon_recon2
29 #define vp8_recon_recon2 vp8_recon2b_armv6
31 #undef vp8_recon_recon4
32 #define vp8_recon_recon4 vp8_recon4b_armv6
34 #undef vp8_recon_copy8x8
35 #define vp8_recon_copy8x8 vp8_copy_mem8x8_v6
37 #undef vp8_recon_copy8x4
38 #define vp8_recon_copy8x4 vp8_copy_mem8x4_v6
40 #undef vp8_recon_copy16x16
41 #define vp8_recon_copy16x16 vp8_copy_mem16x16_v6
42 #endif
43 #endif
45 #if HAVE_ARMV7
46 extern prototype_recon_block(vp8_recon_b_neon);
47 extern prototype_recon_block(vp8_recon2b_neon);
48 extern prototype_recon_block(vp8_recon4b_neon);
50 extern prototype_copy_block(vp8_copy_mem8x8_neon);
51 extern prototype_copy_block(vp8_copy_mem8x4_neon);
52 extern prototype_copy_block(vp8_copy_mem16x16_neon);
54 extern prototype_recon_macroblock(vp8_recon_mb_neon);
56 #if !CONFIG_RUNTIME_CPU_DETECT
57 #undef vp8_recon_recon
58 #define vp8_recon_recon vp8_recon_b_neon
60 #undef vp8_recon_recon2
61 #define vp8_recon_recon2 vp8_recon2b_neon
63 #undef vp8_recon_recon4
64 #define vp8_recon_recon4 vp8_recon4b_neon
66 #undef vp8_recon_copy8x8
67 #define vp8_recon_copy8x8 vp8_copy_mem8x8_neon
69 #undef vp8_recon_copy8x4
70 #define vp8_recon_copy8x4 vp8_copy_mem8x4_neon
72 #undef vp8_recon_copy16x16
73 #define vp8_recon_copy16x16 vp8_copy_mem16x16_neon
75 #undef vp8_recon_recon_mb
76 #define vp8_recon_recon_mb vp8_recon_mb_neon
77 #endif
78 #endif
80 #endif