aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/fmtconvert_mmx.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-05-19 13:00:31 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-05-19 13:00:31 +0200
commit3c7650a83d3bdca2fd680af722de344b092f65ec (patch)
treea41bd4809a90135ba39cc464e283663a8ed27672 /libavcodec/x86/fmtconvert_mmx.c
parent75a37b57a59f6701d9443c5f7a0ceec108b27a18 (diff)
parentea91e77127229015d23a046f1797d3fc6a33e54d (diff)
downloadffmpeg-3c7650a83d3bdca2fd680af722de344b092f65ec.tar.gz
Merge remote-tracking branch 'qatar/master'
This early morning merge should fix --disable-yasm * qatar/master: Clean up #includes in cmdutils.h. g729: Merge g729.h into g729dec.c. 10l: wrap float_interleave functions in HAVE_YASM. Conflicts: libavcodec/g729.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/fmtconvert_mmx.c')
-rw-r--r--libavcodec/x86/fmtconvert_mmx.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/x86/fmtconvert_mmx.c b/libavcodec/x86/fmtconvert_mmx.c
index 5cd4b25e33..ba2c2c9bd5 100644
--- a/libavcodec/x86/fmtconvert_mmx.c
+++ b/libavcodec/x86/fmtconvert_mmx.c
@@ -235,6 +235,7 @@ static void float_to_int16_interleave_3dn2(int16_t *dst, const float **src, long
float_to_int16_interleave_3dnow(dst, src, len, channels);
}
+#if HAVE_YASM
void ff_float_interleave2_mmx(float *dst, const float **src, unsigned int len);
void ff_float_interleave2_sse(float *dst, const float **src, unsigned int len);
@@ -262,13 +263,16 @@ static void float_interleave_sse(float *dst, const float **src,
else
ff_float_interleave_c(dst, src, len, channels);
}
+#endif
void ff_fmt_convert_init_x86(FmtConvertContext *c, AVCodecContext *avctx)
{
int mm_flags = av_get_cpu_flags();
if (mm_flags & AV_CPU_FLAG_MMX) {
+#if HAVE_YASM
c->float_interleave = float_interleave_mmx;
+#endif
if(mm_flags & AV_CPU_FLAG_3DNOW){
if(!(avctx->flags & CODEC_FLAG_BITEXACT)){
@@ -285,7 +289,9 @@ void ff_fmt_convert_init_x86(FmtConvertContext *c, AVCodecContext *avctx)
c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_sse;
c->float_to_int16 = float_to_int16_sse;
c->float_to_int16_interleave = float_to_int16_interleave_sse;
+#if HAVE_YASM
c->float_interleave = float_interleave_sse;
+#endif
}
if(mm_flags & AV_CPU_FLAG_SSE2){
c->int32_to_float_fmul_scalar = int32_to_float_fmul_scalar_sse2;