vector_math_testing.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. // Copyright (c) 2012 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef MEDIA_BASE_VECTOR_MATH_TESTING_H_
  5. #define MEDIA_BASE_VECTOR_MATH_TESTING_H_
  6. #include <utility>
  7. #include "build/build_config.h"
  8. #include "media/base/media_shmem_export.h"
  9. namespace media {
  10. namespace vector_math {
  11. // Optimized versions exposed for testing. See vector_math.h for details.
  12. MEDIA_SHMEM_EXPORT void FMAC_C(const float src[],
  13. float scale,
  14. int len,
  15. float dest[]);
  16. MEDIA_SHMEM_EXPORT void FMUL_C(const float src[],
  17. float scale,
  18. int len,
  19. float dest[]);
  20. MEDIA_SHMEM_EXPORT std::pair<float, float> EWMAAndMaxPower_C(
  21. float initial_value,
  22. const float src[],
  23. int len,
  24. float smoothing_factor);
  25. #if defined(ARCH_CPU_X86_FAMILY) && !BUILDFLAG(IS_NACL)
  26. MEDIA_SHMEM_EXPORT void FMAC_SSE(const float src[],
  27. float scale,
  28. int len,
  29. float dest[]);
  30. MEDIA_SHMEM_EXPORT void FMUL_SSE(const float src[],
  31. float scale,
  32. int len,
  33. float dest[]);
  34. MEDIA_SHMEM_EXPORT std::pair<float, float> EWMAAndMaxPower_SSE(
  35. float initial_value,
  36. const float src[],
  37. int len,
  38. float smoothing_factor);
  39. #endif
  40. #if defined(ARCH_CPU_ARM_FAMILY) && defined(USE_NEON)
  41. MEDIA_SHMEM_EXPORT void FMAC_NEON(const float src[],
  42. float scale,
  43. int len,
  44. float dest[]);
  45. MEDIA_SHMEM_EXPORT void FMUL_NEON(const float src[],
  46. float scale,
  47. int len,
  48. float dest[]);
  49. MEDIA_SHMEM_EXPORT std::pair<float, float> EWMAAndMaxPower_NEON(
  50. float initial_value,
  51. const float src[],
  52. int len,
  53. float smoothing_factor);
  54. #endif
  55. } // namespace vector_math
  56. } // namespace media
  57. #endif // MEDIA_BASE_VECTOR_MATH_TESTING_H_