summaryrefslogtreecommitdiff
path: root/libavcodec/x86/h264_idct.asm
Commit message (Collapse)AuthorAge
* H.264: split luma dc idct out and implement MMX/SSE2 versionsJason Garrett-Glaser2011-01-14
| | | | | | | | | | About 2.5x the speed. NOTE: the way that the asm code handles large qmuls is a bit suboptimal. If x264-style dequant was used (separate shift and qmul values), it might be possible to get some extra speed. Originally committed as revision 26336 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add d suffix to movd target register to make it work with nasm.Reimar Döffinger2010-09-26
| | | | Originally committed as revision 25206 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Unroll loop in h264_idct_add16intra_sse2(). Basically identical to r25171, thisRonald S. Bultje2010-09-24
| | | | | | | | inlines scan8[] and removes loop setup. 15% faster, 0.4% overall. See "[PATCH] unroll loop in h264_idct_add8_sse2()" thread on ML. Originally committed as revision 25172 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Unroll loop in h264_idct_add8_sse2(). This means we can inline scan8[] in theRonald S. Bultje2010-09-24
| | | | | | | | code directly also and remove loop setup. 20% faster in function, 0.8% overall. See "[PATCH] unroll loop in h264_idct_add8_sse2()" thread on ML. Originally committed as revision 25171 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename h264_idct_sse2.asm to h264_idct.asm; move inline IDCT asm fromRonald S. Bultje2010-09-14
h264dsp_mmx.c to h264_idct.asm (as yasm code). Because the loops are now coded in asm instead of C, this is (depending on the function) up to 50% faster for cases where gcc didn't do a great job at looping. Since h264_idct_add8() is now faster than the manual loop setup in h264.c, in-asm idct calling can now be enabled for chroma as well (see r16207). For MMX, this is 5% faster. For SSE2 (which isn't done for chroma if h264.c does the looping), this makes it up to 50% faster. Speed gain overall is ~0.5-1.0%. Originally committed as revision 25119 to svn://svn.ffmpeg.org/ffmpeg/trunk