summaryrefslogtreecommitdiffstats
path: root/libavutil/x86/float_dsp_init.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-04-10 12:17:03 -0300
committerJames Almer <jamrial@gmail.com>2017-04-10 12:18:55 -0300
commited9b25a148f228433d65c31ec8d65d5ad1983215 (patch)
tree25a99d505e48e2dd27fcc350396ceba04b78ef4a /libavutil/x86/float_dsp_init.c
parent128e1fbf1335d23425609cfae3fae8d63170f875 (diff)
downloadffmpeg-streaming-ed9b25a148f228433d65c31ec8d65d5ad1983215.zip
ffmpeg-streaming-ed9b25a148f228433d65c31ec8d65d5ad1983215.tar.gz
x86/float_dsp: add ff_vector_dmac_scalar_{sse2,avx,fma3}
Diffstat (limited to 'libavutil/x86/float_dsp_init.c')
-rw-r--r--libavutil/x86/float_dsp_init.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavutil/x86/float_dsp_init.c b/libavutil/x86/float_dsp_init.c
index 736b9ad..09c7a4d 100644
--- a/libavutil/x86/float_dsp_init.c
+++ b/libavutil/x86/float_dsp_init.c
@@ -39,6 +39,13 @@ void ff_vector_fmac_scalar_fma3(float *dst, const float *src, float mul,
void ff_vector_fmul_scalar_sse(float *dst, const float *src, float mul,
int len);
+void ff_vector_dmac_scalar_sse2(double *dst, const double *src, double mul,
+ int len);
+void ff_vector_dmac_scalar_avx(double *dst, const double *src, double mul,
+ int len);
+void ff_vector_dmac_scalar_fma3(double *dst, const double *src, double mul,
+ int len);
+
void ff_vector_dmul_scalar_sse2(double *dst, const double *src,
double mul, int len);
void ff_vector_dmul_scalar_avx(double *dst, const double *src,
@@ -83,17 +90,20 @@ av_cold void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
fdsp->butterflies_float = ff_butterflies_float_sse;
}
if (EXTERNAL_SSE2(cpu_flags)) {
+ fdsp->vector_dmac_scalar = ff_vector_dmac_scalar_sse2;
fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_sse2;
}
if (EXTERNAL_AVX_FAST(cpu_flags)) {
fdsp->vector_fmul = ff_vector_fmul_avx;
fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_avx;
fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_avx;
+ fdsp->vector_dmac_scalar = ff_vector_dmac_scalar_avx;
fdsp->vector_fmul_add = ff_vector_fmul_add_avx;
fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_avx;
}
if (EXTERNAL_FMA3_FAST(cpu_flags)) {
fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_fma3;
fdsp->vector_fmul_add = ff_vector_fmul_add_fma3;
+ fdsp->vector_dmac_scalar = ff_vector_dmac_scalar_fma3;
}
}
OpenPOWER on IntegriCloud