[vlc-commits] commit: NEON deinterlace: fix register clobber ( Rémi Denis-Courmont )

git at videolan.org git at videolan.org
Sat May 15 21:36:04 CEST 2010


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat May 15 22:35:32 2010 +0300| [9427395c2df7f13ab4ce250be0cbe00d38c4dd6d] | committer: Rémi Denis-Courmont 

NEON deinterlace: fix register clobber

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9427395c2df7f13ab4ce250be0cbe00d38c4dd6d
---

 modules/video_filter/deinterlace.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/modules/video_filter/deinterlace.c b/modules/video_filter/deinterlace.c
index 70d9b2c..6ea9917 100644
--- a/modules/video_filter/deinterlace.c
+++ b/modules/video_filter/deinterlace.c
@@ -829,7 +829,8 @@ static void MergeNEON (void *restrict out, const void *in1,
                 "vst1.u8  {q10-q11}, [%[out],:128]!\n"
                 : [out] "+r" (outp), [in1] "+r" (in1p), [in2] "+r" (in2p)
                 :
-                : "q0", "q1", "q2", "memory");
+                : "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7",
+                  "q8", "q9", "q10", "q11", "memory");
     else
          while (outp < end)
             asm volatile (
@@ -845,7 +846,8 @@ static void MergeNEON (void *restrict out, const void *in1,
                 "vst1.u8  {q10-q11}, [%[out],:128]!\n"
                 : [out] "+r" (outp), [in1] "+r" (in1p), [in2] "+r" (in2p)
                 :
-                : "q0", "q1", "q2", "memory");
+                : "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7",
+                  "q8", "q9", "q10", "q11", "memory");
     n &= 15;
     if (n)
         MergeGeneric (outp, in1p, in2p, n);



More information about the vlc-commits mailing list