aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/i386/dsputil_mmx.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-10-23 13:22:20 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-10-23 13:22:20 +0000
commitcf3bf5bbaa049667612a4b992239cc99dc31aee8 (patch)
tree1803ac6d760cce57fc0858e53b7a022f0e21bea6 /libavcodec/i386/dsputil_mmx.c
parent1745173bc56482e449253ef8d1032c6d5d48cab2 (diff)
downloadffmpeg-cf3bf5bbaa049667612a4b992239cc99dc31aee8.tar.gz
minor mmx2 optimization if the dct
Originally committed as revision 2423 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/i386/dsputil_mmx.c')
-rw-r--r--libavcodec/i386/dsputil_mmx.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/i386/dsputil_mmx.c b/libavcodec/i386/dsputil_mmx.c
index c523be74a8..ec2b9cb18b 100644
--- a/libavcodec/i386/dsputil_mmx.c
+++ b/libavcodec/i386/dsputil_mmx.c
@@ -1603,8 +1603,13 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
const int idct_algo= avctx->idct_algo;
#ifdef CONFIG_ENCODERS
- if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX)
- c->fdct = ff_fdct_mmx;
+ if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){
+ if(mm_flags & MM_MMXEXT){
+ c->fdct = ff_fdct_mmx2;
+ }else{
+ c->fdct = ff_fdct_mmx;
+ }
+ }
#endif //CONFIG_ENCODERS
if(idct_algo==FF_IDCT_AUTO || idct_algo==FF_IDCT_SIMPLEMMX){