Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2087)

Unified Diff: media/base/vector_math_testing.h

Issue 2556993002: Experiment with AVX optimizations for FMAC, FMUL operations.
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/vector_math_perftest.cc ('k') | media/base/vector_math_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/vector_math_testing.h
diff --git a/media/base/vector_math_testing.h b/media/base/vector_math_testing.h
index 9240fbf54f4f92a1624f5234901ded38d1316f9c..8c13af299560c04085f69a9a8dd79d7a127ef37d 100644
--- a/media/base/vector_math_testing.h
+++ b/media/base/vector_math_testing.h
@@ -14,27 +14,58 @@ namespace media {
namespace vector_math {
// Optimized versions exposed for testing. See vector_math.h for details.
-MEDIA_EXPORT void FMAC_C(const float src[], float scale, int len, float dest[]);
-MEDIA_EXPORT void FMUL_C(const float src[], float scale, int len, float dest[]);
-MEDIA_EXPORT std::pair<float, float> EWMAAndMaxPower_C(
- float initial_value, const float src[], int len, float smoothing_factor);
+MEDIA_EXPORT float Convolve_C(const float* src,
+ const float* k1,
+ const float* k2,
+ double kernel_interpolation_factor);
+MEDIA_EXPORT float DotProduct_C(const float* a, const float* b, int len);
+MEDIA_EXPORT void FMAC_C(const float* src, float scale, int len, float* dest);
+MEDIA_EXPORT void FMUL_C(const float* src, float scale, int len, float* dest);
+MEDIA_EXPORT std::pair<float, float> EWMAAndMaxPower_C(float initial_value,
+ const float* src,
+ int len,
+ float smoothing_factor);
#if defined(ARCH_CPU_X86_FAMILY) && !defined(OS_NACL)
-MEDIA_EXPORT void FMAC_SSE(const float src[], float scale, int len,
- float dest[]);
-MEDIA_EXPORT void FMUL_SSE(const float src[], float scale, int len,
- float dest[]);
+MEDIA_EXPORT float Convolve_SSE(const float* src,
+ const float* k1,
+ const float* k2,
+ double kernel_interpolation_factor);
+MEDIA_EXPORT float Convolve_AVX(const float* src,
+ const float* k1,
+ const float* k2,
+ double kernel_interpolation_factor);
+MEDIA_EXPORT float DotProduct_SSE(const float* a, const float* b, int len);
+MEDIA_EXPORT float DotProduct_AVX(const float* a, const float* b, int len);
+MEDIA_EXPORT void FMAC_SSE(const float* src, float scale, int len, float* dest);
+MEDIA_EXPORT void FMAC_AVX(const float* src, float scale, int len, float* dest);
+MEDIA_EXPORT void FMUL_SSE(const float* src, float scale, int len, float* dest);
MEDIA_EXPORT std::pair<float, float> EWMAAndMaxPower_SSE(
- float initial_value, const float src[], int len, float smoothing_factor);
+ float initial_value,
+ const float* src,
+ int len,
+ float smoothing_factor);
#endif
#if defined(ARCH_CPU_ARM_FAMILY) && defined(USE_NEON)
-MEDIA_EXPORT void FMAC_NEON(const float src[], float scale, int len,
- float dest[]);
-MEDIA_EXPORT void FMUL_NEON(const float src[], float scale, int len,
- float dest[]);
+MEDIA_EXPORT float Convolve_NEON(const float* src,
+ const float* k1,
+ const float* k2,
+ double kernel_interpolation_factor);
+MEDIA_EXPORT float DotProduct_NEON(const float* a, const float* b, int len);
+MEDIA_EXPORT void FMAC_NEON(const float* src,
+ float scale,
+ int len,
+ float* dest);
+MEDIA_EXPORT void FMUL_NEON(const float* src,
+ float scale,
+ int len,
+ float* dest);
MEDIA_EXPORT std::pair<float, float> EWMAAndMaxPower_NEON(
- float initial_value, const float src[], int len, float smoothing_factor);
+ float initial_value,
+ const float* src,
+ int len,
+ float smoothing_factor);
#endif
} // namespace vector_math
« no previous file with comments | « media/base/vector_math_perftest.cc ('k') | media/base/vector_math_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698