diff options
author | Mathieu Velten <matmaul@gmail.com> | 2009-01-04 01:36:11 +0000 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at> | 2009-01-04 01:36:11 +0000 |
commit | 21ff7689da9528e6c21bc2fb9eff51f1e3f1daf4 (patch) | |
tree | 72739be67169b52d0a2f3f316c28e635cb54fd75 /libavcodec/x86/dsputil_mmx.c | |
parent | 1104a26a42b1af2b1b5025aa667460e6ae9c6bfb (diff) | |
download | ffmpeg-21ff7689da9528e6c21bc2fb9eff51f1e3f1daf4.tar.gz |
Use H264 MMX chroma functions to accelerate RV40 decoding.
Patch by Mathieu Velten (matmaul A gmail)
Originally committed as revision 16419 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/x86/dsputil_mmx.c')
-rw-r--r-- | libavcodec/x86/dsputil_mmx.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c index c6588ed02d..f76a4fa33a 100644 --- a/libavcodec/x86/dsputil_mmx.c +++ b/libavcodec/x86/dsputil_mmx.c @@ -1733,6 +1733,7 @@ PREFETCH(prefetch_3dnow, prefetch) #undef PREFETCH #include "h264dsp_mmx.c" +#include "rv40dsp_mmx.c" /* CAVS specific */ void ff_cavsdsp_init_mmx2(DSPContext* c, AVCodecContext *avctx); @@ -2638,6 +2639,9 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) c->put_h264_chroma_pixels_tab[1]= put_h264_chroma_mc4_mmx; c->put_no_rnd_h264_chroma_pixels_tab[0]= put_h264_chroma_mc8_mmx_nornd; + c->put_rv40_chroma_pixels_tab[0]= put_rv40_chroma_mc8_mmx; + c->put_rv40_chroma_pixels_tab[1]= put_rv40_chroma_mc4_mmx; + c->h264_idct_dc_add= c->h264_idct_add= ff_h264_idct_add_mmx; c->h264_idct8_dc_add= @@ -2723,6 +2727,9 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) SET_QPEL_FUNCS(avg_2tap_qpel, 0, 16, mmx2); SET_QPEL_FUNCS(avg_2tap_qpel, 1, 8, mmx2); + c->avg_rv40_chroma_pixels_tab[0]= avg_rv40_chroma_mc8_mmx2; + c->avg_rv40_chroma_pixels_tab[1]= avg_rv40_chroma_mc4_mmx2; + c->avg_h264_chroma_pixels_tab[0]= avg_h264_chroma_mc8_mmx2_rnd; c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_mmx2; c->avg_h264_chroma_pixels_tab[2]= avg_h264_chroma_mc2_mmx2; @@ -2808,6 +2815,9 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) c->avg_h264_chroma_pixels_tab[0]= avg_h264_chroma_mc8_3dnow_rnd; c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_3dnow; + c->avg_rv40_chroma_pixels_tab[0]= avg_rv40_chroma_mc8_3dnow; + c->avg_rv40_chroma_pixels_tab[1]= avg_rv40_chroma_mc4_3dnow; + if (ENABLE_CAVS_DECODER) ff_cavsdsp_init_3dnow(c, avctx); } |