aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/i386/dsputil_mmx.c
diff options
context:
space:
mode:
authorRobert Edele <yartrebo@earthlink.net>2006-03-20 22:27:59 +0000
committerGuillaume Poirier <gpoirier@mplayerhq.hu>2006-03-20 22:27:59 +0000
commit4567b4bdab0172f6570a94548cf7f491a466938a (patch)
tree40aa6f9af3adeebeffe180bf17ef1eb29e0bb2b8 /libavcodec/i386/dsputil_mmx.c
parent561a18d3ba07382dffdf583dda13f6954109b116 (diff)
downloadffmpeg-4567b4bdab0172f6570a94548cf7f491a466938a.tar.gz
Add the mmx and sse2 implementations of ff_snow_vertical_compose().
Patch by Robert Edele < yartrebo AH earthlink POIS net > Original thread: Date: Mar 20, 2006 5:54 PM Subject: [Ffmpeg-devel] [PATCH] snow mmx + sse2 part 3 Originally committed as revision 5185 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/i386/dsputil_mmx.c')
-rw-r--r--libavcodec/i386/dsputil_mmx.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/i386/dsputil_mmx.c b/libavcodec/i386/dsputil_mmx.c
index 1e8590e9d9..a5e9675e99 100644
--- a/libavcodec/i386/dsputil_mmx.c
+++ b/libavcodec/i386/dsputil_mmx.c
@@ -2564,6 +2564,9 @@ static void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block)
}
#endif
+extern void ff_snow_vertical_compose97i_sse2(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, DWTELEM *b3, DWTELEM *b4, DWTELEM *b5, int width);
+extern void ff_snow_vertical_compose97i_mmx(DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, DWTELEM *b3, DWTELEM *b4, DWTELEM *b5, int width);
+
void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
{
mm_flags = mm_support();
@@ -2950,6 +2953,15 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
c->avg_h264_chroma_pixels_tab[0]= avg_h264_chroma_mc8_3dnow;
c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_3dnow;
}
+
+#ifdef CONFIG_SNOW_ENCODER
+ if(mm_flags & MM_SSE2){
+ c->vertical_compose97i = ff_snow_vertical_compose97i_sse2;
+ }
+ else{
+ c->vertical_compose97i = ff_snow_vertical_compose97i_mmx;
+ }
+#endif
}
#ifdef CONFIG_ENCODERS