Commit 4567b4bd authored by Robert Edele's avatar Robert Edele Committed by Guillaume Poirier

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
parent 561a18d3
...@@ -330,7 +330,7 @@ OBJS += i386/fdct_mmx.o i386/cputest.o \ ...@@ -330,7 +330,7 @@ OBJS += i386/fdct_mmx.o i386/cputest.o \
i386/dsputil_mmx.o i386/mpegvideo_mmx.o \ i386/dsputil_mmx.o i386/mpegvideo_mmx.o \
i386/idct_mmx.o i386/motion_est_mmx.o \ i386/idct_mmx.o i386/motion_est_mmx.o \
i386/simple_idct_mmx.o i386/fft_sse.o i386/vp3dsp_mmx.o \ i386/simple_idct_mmx.o i386/fft_sse.o i386/vp3dsp_mmx.o \
i386/vp3dsp_sse2.o i386/fft_3dn.o i386/fft_3dn2.o i386/vp3dsp_sse2.o i386/fft_3dn.o i386/fft_3dn2.o i386/snowdsp_mmx.o
ifeq ($(CONFIG_GPL),yes) ifeq ($(CONFIG_GPL),yes)
OBJS += i386/idct_mmx_xvid.o OBJS += i386/idct_mmx_xvid.o
endif endif
......
...@@ -2564,6 +2564,9 @@ static void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block) ...@@ -2564,6 +2564,9 @@ static void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block)
} }
#endif #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) void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx)
{ {
mm_flags = mm_support(); mm_flags = mm_support();
...@@ -2950,6 +2953,15 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) ...@@ -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[0]= avg_h264_chroma_mc8_3dnow;
c->avg_h264_chroma_pixels_tab[1]= avg_h264_chroma_mc4_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 #ifdef CONFIG_ENCODERS
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment