Mercurial > libavcodec.hg
diff x86/dsputil_mmx.c @ 8519:cc64e1343397 libavcodec
Use H264 MMX chroma functions to accelerate RV40 decoding.
Patch by Mathieu Velten (matmaul A gmail)
author | cehoyos |
---|---|
date | Sun, 04 Jan 2009 01:36:11 +0000 |
parents | cea216e44ee3 |
children | f8bf438c6000 |
line wrap: on
line diff
--- a/x86/dsputil_mmx.c Sat Jan 03 19:21:48 2009 +0000 +++ b/x86/dsputil_mmx.c Sun Jan 04 01:36:11 2009 +0000 @@ -1733,6 +1733,7 @@ #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 @@ 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 @@ 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 @@ 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); }