Commit f73a6393 authored by Alexander Strange's avatar Alexander Strange

Add a new xvid-style IDCT using SSE2.

Originally committed as revision 12843 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 0e956ba2
...@@ -375,6 +375,7 @@ OBJS += i386/fdct_mmx.o \ ...@@ -375,6 +375,7 @@ OBJS += i386/fdct_mmx.o \
i386/motion_est_mmx.o \ i386/motion_est_mmx.o \
i386/simple_idct_mmx.o \ i386/simple_idct_mmx.o \
i386/idct_mmx_xvid.o \ i386/idct_mmx_xvid.o \
i386/idct_sse2_xvid.o \
i386/fft_sse.o \ i386/fft_sse.o \
i386/fft_3dn.o \ i386/fft_3dn.o \
i386/fft_3dn2.o \ i386/fft_3dn2.o \
......
...@@ -2124,7 +2124,12 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) ...@@ -2124,7 +2124,12 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
}else if(idct_algo==FF_IDCT_CAVS){ }else if(idct_algo==FF_IDCT_CAVS){
c->idct_permutation_type= FF_TRANSPOSE_IDCT_PERM; c->idct_permutation_type= FF_TRANSPOSE_IDCT_PERM;
}else if(idct_algo==FF_IDCT_XVIDMMX){ }else if(idct_algo==FF_IDCT_XVIDMMX){
if(mm_flags & MM_MMXEXT){ if(mm_flags & MM_SSE2){
c->idct_put= ff_idct_xvid_sse2_put;
c->idct_add= ff_idct_xvid_sse2_add;
c->idct = ff_idct_xvid_sse2;
c->idct_permutation_type= FF_SSE2_IDCT_PERM;
}else if(mm_flags & MM_MMXEXT){
c->idct_put= ff_idct_xvid_mmx2_put; c->idct_put= ff_idct_xvid_mmx2_put;
c->idct_add= ff_idct_xvid_mmx2_add; c->idct_add= ff_idct_xvid_mmx2_add;
c->idct = ff_idct_xvid_mmx2; c->idct = ff_idct_xvid_mmx2;
......
This diff is collapsed.
...@@ -28,5 +28,8 @@ ...@@ -28,5 +28,8 @@
void ff_idct_xvid_mmx(short *block); void ff_idct_xvid_mmx(short *block);
void ff_idct_xvid_mmx2(short *block); void ff_idct_xvid_mmx2(short *block);
void ff_idct_xvid_sse2(short *block);
void ff_idct_xvid_sse2_put(uint8_t *dest, int line_size, short *block);
void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block);
#endif /* FFMPEG_IDCT_XVID_H */ #endif /* FFMPEG_IDCT_XVID_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment