From 4e492bf107de07d352ced47cc67380d0aca6857e Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 17 Apr 2005 13:30:45 +0000 Subject: [PATCH] read 32bit instead of 64bit to avoid overreading and missalignments Originally committed as revision 4133 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/i386/dsputil_mmx_avg.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libavcodec/i386/dsputil_mmx_avg.h b/libavcodec/i386/dsputil_mmx_avg.h index 46d8ae5716..c708913048 100644 --- a/libavcodec/i386/dsputil_mmx_avg.h +++ b/libavcodec/i386/dsputil_mmx_avg.h @@ -70,9 +70,11 @@ static void DEF(put_pixels4_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int "movd (%1), %%mm0 \n\t" "add %4, %1 \n\t" "movd (%1), %%mm1 \n\t" + "movd (%2), %%mm2 \n\t" + "movd 4(%2), %%mm3 \n\t" "add %4, %1 \n\t" - PAVGB" (%2), %%mm0 \n\t" - PAVGB" 4(%2), %%mm1 \n\t" + PAVGB" %%mm2, %%mm0 \n\t" + PAVGB" %%mm3, %%mm1 \n\t" "movd %%mm0, (%3) \n\t" "add %5, %3 \n\t" "movd %%mm1, (%3) \n\t" @@ -80,9 +82,11 @@ static void DEF(put_pixels4_l2)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int "movd (%1), %%mm0 \n\t" "add %4, %1 \n\t" "movd (%1), %%mm1 \n\t" + "movd 8(%2), %%mm2 \n\t" + "movd 12(%2), %%mm3 \n\t" "add %4, %1 \n\t" - PAVGB" 8(%2), %%mm0 \n\t" - PAVGB" 12(%2), %%mm1 \n\t" + PAVGB" %%mm2, %%mm0 \n\t" + PAVGB" %%mm3, %%mm1 \n\t" "movd %%mm0, (%3) \n\t" "add %5, %3 \n\t" "movd %%mm1, (%3) \n\t"