read 32bit instead of 64bit to avoid overreading and missalignments
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 17 Apr 2005 13:30:45 +0000 (13:30 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 17 Apr 2005 13:30:45 +0000 (13:30 +0000)
Originally committed as revision 4133 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/i386/dsputil_mmx_avg.h

index 46d8ae5..c708913 100644 (file)
@@ -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"