Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / libvpx / source / libvpx / vp9 / common / x86 / vp9_postproc_x86.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 VP9_COMMON_X86_VP9_POSTPROC_X86_H_
13 #define VP9_COMMON_X86_VP9_POSTPROC_X86_H_
14
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18
19 /* Note:
20  *
21  * This platform is commonly built for runtime CPU detection. If you modify
22  * any of the function mappings present in this file, be sure to also update
23  * them in the function pointer initialization code
24  */
25
26 #if HAVE_MMX
27 extern prototype_postproc_inplace(vp9_mbpost_proc_down_mmx);
28 extern prototype_postproc(vp9_post_proc_down_and_across_mmx);
29 extern prototype_postproc_addnoise(vp9_plane_add_noise_mmx);
30
31 #if !CONFIG_RUNTIME_CPU_DETECT
32 #undef  vp9_postproc_down
33 #define vp9_postproc_down vp9_mbpost_proc_down_mmx
34
35 #undef  vp9_postproc_downacross
36 #define vp9_postproc_downacross vp9_post_proc_down_and_across_mmx
37
38 #undef  vp9_postproc_addnoise
39 #define vp9_postproc_addnoise vp9_plane_add_noise_mmx
40
41 #endif
42 #endif
43
44
45 #if HAVE_SSE2
46 extern prototype_postproc_inplace(vp9_mbpost_proc_down_xmm);
47 extern prototype_postproc_inplace(vp9_mbpost_proc_across_ip_xmm);
48 extern prototype_postproc(vp9_post_proc_down_and_across_xmm);
49 extern prototype_postproc_addnoise(vp9_plane_add_noise_wmt);
50
51 #if !CONFIG_RUNTIME_CPU_DETECT
52 #undef  vp9_postproc_down
53 #define vp9_postproc_down vp9_mbpost_proc_down_xmm
54
55 #undef  vp9_postproc_across
56 #define vp9_postproc_across vp9_mbpost_proc_across_ip_xmm
57
58 #undef  vp9_postproc_downacross
59 #define vp9_postproc_downacross vp9_post_proc_down_and_across_xmm
60
61 #undef  vp9_postproc_addnoise
62 #define vp9_postproc_addnoise vp9_plane_add_noise_wmt
63
64
65 #endif
66 #endif
67
68 #ifdef __cplusplus
69 }  // extern "C"
70 #endif
71
72 #endif  // VP9_COMMON_X86_VP9_POSTPROC_X86_H_