summaryrefslogtreecommitdiff
path: root/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-09-16 21:49:34 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2002-09-16 21:49:34 +0000
commitd2db0f3bbdc81aae2c316751daf1d53b42a3e6a0 (patch)
treee9f4a94547ada41ea13445185a20305378d6c0bd /src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c
parentd35f836384d9fa164350612ead96362d9cd7b457 (diff)
downloadxine-lib-d2db0f3bbdc81aae2c316751daf1d53b42a3e6a0.tar.gz
xine-lib-d2db0f3bbdc81aae2c316751daf1d53b42a3e6a0.tar.bz2
- sync ffmpeg to cvs (sorry Mike it still doesn't decode your teststream --
something must be broken at ffmpeg, also happens with mplayer) - added priority sorted lists, now autoprobing should work again. - fixed infinite loop in plugin loader. obs: latest ffmpeg contains ppc optimizations, someone will have to enable these though. CVS patchset: 2676 CVS date: 2002/09/16 21:49:34
Diffstat (limited to 'src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c')
-rw-r--r--src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c b/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c
index 390aa554c..10efc173f 100644
--- a/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c
+++ b/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c
@@ -195,7 +195,7 @@ static void dct_unquantize_mpeg1_mmx(MpegEncContext *s,
const UINT16 *quant_matrix;
if(s->alternate_scan) nCoeffs= 64;
- else nCoeffs= nCoeffs= zigzag_end[ s->block_last_index[n] ];
+ else nCoeffs= zigzag_end[ s->block_last_index[n] ];
if (s->mb_intra) {
int block0;
@@ -321,7 +321,7 @@ static void dct_unquantize_mpeg2_mmx(MpegEncContext *s,
const UINT16 *quant_matrix;
if(s->alternate_scan) nCoeffs= 64;
- else nCoeffs= nCoeffs= zigzag_end[ s->block_last_index[n] ];
+ else nCoeffs= zigzag_end[ s->block_last_index[n] ];
if (s->mb_intra) {
int block0;
@@ -552,16 +552,21 @@ void unused_var_warning_killer(){
void MPV_common_init_mmx(MpegEncContext *s)
{
if (mm_flags & MM_MMX) {
+ const int dct_algo= s->avctx->dct_algo;
s->dct_unquantize_h263 = dct_unquantize_h263_mmx;
s->dct_unquantize_mpeg1 = dct_unquantize_mpeg1_mmx;
s->dct_unquantize_mpeg2 = dct_unquantize_mpeg2_mmx;
draw_edges = draw_edges_mmx;
- if(mm_flags & MM_MMXEXT){
- dct_quantize= dct_quantize_MMX2;
- } else {
- dct_quantize= dct_quantize_MMX;
+ if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){
+ s->fdct = fdct_mmx;
+
+ if(mm_flags & MM_MMXEXT){
+ s->dct_quantize= dct_quantize_MMX2;
+ } else {
+ s->dct_quantize= dct_quantize_MMX;
+ }
}
}
}