summaryrefslogtreecommitdiff
path: root/libavutil/x86/float_dsp_init.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-06 14:33:38 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-06 14:33:38 +0100
commit15784c2bab56508565771cd04b5dda64d6717953 (patch)
treea0eade0816e7ea46a08a4cf7ffd2b25e6666c59b /libavutil/x86/float_dsp_init.c
parent32aedebdc59d5b34ab7a9137855dcc602267e00f (diff)
parent9d5c62ba5b586c80af508b5914934b1c439f6652 (diff)
Merge commit '9d5c62ba5b586c80af508b5914934b1c439f6652'
* commit '9d5c62ba5b586c80af508b5914934b1c439f6652': lavu/opt: do not filter out the initial sign character except for flags eval: treat dB as decibels instead of decibytes float_dsp: add vector_dmul_scalar() to multiply a vector of doubles Conflicts: libavutil/eval.c tests/ref/fate/eval Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/x86/float_dsp_init.c')
-rw-r--r--libavutil/x86/float_dsp_init.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavutil/x86/float_dsp_init.c b/libavutil/x86/float_dsp_init.c
index 259fda146e..e5112e7f8e 100644
--- a/libavutil/x86/float_dsp_init.c
+++ b/libavutil/x86/float_dsp_init.c
@@ -35,6 +35,11 @@ extern void ff_vector_fmac_scalar_avx(float *dst, const float *src, float mul,
extern void ff_vector_fmul_scalar_sse(float *dst, const float *src, float mul,
int len);
+extern void ff_vector_dmul_scalar_sse2(double *dst, const double *src,
+ double mul, int len);
+extern void ff_vector_dmul_scalar_avx(double *dst, const double *src,
+ double mul, int len);
+
void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
{
int mm_flags = av_get_cpu_flags();
@@ -44,8 +49,12 @@ void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_sse;
fdsp->vector_fmul_scalar = ff_vector_fmul_scalar_sse;
}
+ if (EXTERNAL_SSE2(mm_flags)) {
+ fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_sse2;
+ }
if (EXTERNAL_AVX(mm_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;
}
}