diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2005-10-27 06:45:29 +0000 |
---|---|---|
committer | Loren Merritt <lorenm@u.washington.edu> | 2005-10-27 06:45:29 +0000 |
commit | a6624e21cbf9d943583c920666c0e40d3252ff4b (patch) | |
tree | fc7b35be132ef7f62922f820417bd7a18e8cd263 /libavcodec/i386/h264dsp_mmx.c | |
parent | f368375cef3283098ab4667129a3480e8f6ed68c (diff) | |
download | ffmpeg-a6624e21cbf9d943583c920666c0e40d3252ff4b.tar.gz |
faster h264_chroma_mc8_mmx, added h264_chroma_mc4_mmx.
2-4% overall speedup.
Originally committed as revision 4666 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/i386/h264dsp_mmx.c')
-rw-r--r-- | libavcodec/i386/h264dsp_mmx.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libavcodec/i386/h264dsp_mmx.c b/libavcodec/i386/h264dsp_mmx.c index c278affc8d..b5e9baa3a6 100644 --- a/libavcodec/i386/h264dsp_mmx.c +++ b/libavcodec/i386/h264dsp_mmx.c @@ -892,22 +892,42 @@ H264_MC(avg_, 16,mmx2) #define H264_CHROMA_OP(S,D) +#define H264_CHROMA_OP4(S,D,T) #define H264_CHROMA_MC8_TMPL put_h264_chroma_mc8_mmx +#define H264_CHROMA_MC4_TMPL put_h264_chroma_mc4_mmx +#define H264_CHROMA_MC8_MV0 put_pixels8_mmx #include "dsputil_h264_template_mmx.c" #undef H264_CHROMA_OP +#undef H264_CHROMA_OP4 #undef H264_CHROMA_MC8_TMPL +#undef H264_CHROMA_MC4_TMPL +#undef H264_CHROMA_MC8_MV0 #define H264_CHROMA_OP(S,D) "pavgb " #S ", " #D " \n\t" +#define H264_CHROMA_OP4(S,D,T) "movd " #S ", " #T " \n\t"\ + "pavgb " #T ", " #D " \n\t" #define H264_CHROMA_MC8_TMPL avg_h264_chroma_mc8_mmx2 +#define H264_CHROMA_MC4_TMPL avg_h264_chroma_mc4_mmx2 +#define H264_CHROMA_MC8_MV0 avg_pixels8_mmx2 #include "dsputil_h264_template_mmx.c" #undef H264_CHROMA_OP +#undef H264_CHROMA_OP4 #undef H264_CHROMA_MC8_TMPL +#undef H264_CHROMA_MC4_TMPL +#undef H264_CHROMA_MC8_MV0 #define H264_CHROMA_OP(S,D) "pavgusb " #S ", " #D " \n\t" +#define H264_CHROMA_OP4(S,D,T) "movd " #S ", " #T " \n\t"\ + "pavgusb " #T ", " #D " \n\t" #define H264_CHROMA_MC8_TMPL avg_h264_chroma_mc8_3dnow +#define H264_CHROMA_MC4_TMPL avg_h264_chroma_mc4_3dnow +#define H264_CHROMA_MC8_MV0 avg_pixels8_3dnow #include "dsputil_h264_template_mmx.c" #undef H264_CHROMA_OP +#undef H264_CHROMA_OP4 #undef H264_CHROMA_MC8_TMPL +#undef H264_CHROMA_MC4_TMPL +#undef H264_CHROMA_MC8_MV0 /***********************************/ /* weighted prediction */ |