[SCM] libav/experimental: read 32bit instead of 64bit to avoid overreading and missalignments

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:43:39 UTC 2013


The following commit has been merged in the experimental branch:
commit 4e492bf107de07d352ced47cc67380d0aca6857e
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Sun Apr 17 13:30:45 2005 +0000

    read 32bit instead of 64bit to avoid overreading and missalignments
    
    Originally committed as revision 4133 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/i386/dsputil_mmx_avg.h b/libavcodec/i386/dsputil_mmx_avg.h
index 46d8ae5..c708913 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"

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list