• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_
73