shithub: libvpx

Download patch

ref: f143a8119129411522a3c153b0bff6514c3a165d
parent: 999bc003018877a992ce59c1e26cbd6bb45b7991
parent: a465076e02aece158093ebe55f30c3420ab1ad14
author: Johann <johannkoenig@google.com>
date: Fri Oct 1 02:18:53 EDT 2010

Merge "Fix valgrind errors in the NEON loop filters."

--- a/vp8/common/arm/neon/mbloopfilterverticaledge_uv_neon.asm
+++ b/vp8/common/arm/neon/mbloopfilterverticaledge_uv_neon.asm
@@ -67,9 +67,10 @@
 
     sub         sp, sp, #32
     vld1.s8     {d4[], d5[]}, [r12]         ; thresh
-    vst1.u8     {q3}, [sp]!
+    mov         r12, sp
+    vst1.u8     {q3}, [r12]!
+    vst1.u8     {q10}, [r12]!
     ldr         r12, _mbvlfuv_coeff_
-    vst1.u8     {q10}, [sp]!
 
     ; vp8_filter_mask
     vabd.u8     q11, q3, q4                 ; abs(p3 - p2)
@@ -164,8 +165,6 @@
     vqsub.s8    q7, q7, q2                  ; qs0 = vp8_signed_char_clamp(qs0 - Filter1)
 
     vld1.u8     {d5}, [r12]!                ;#27
-
-    sub         sp, sp, #32
 
     vqadd.s8    q6, q6, q13                 ; ps0 = vp8_signed_char_clamp(ps0 + Filter2)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--- a/vp8/common/arm/neon/mbloopfilterverticaledge_y_neon.asm
+++ b/vp8/common/arm/neon/mbloopfilterverticaledge_y_neon.asm
@@ -63,11 +63,12 @@
     vtrn.8      q7, q8
     vtrn.8      q9, q10
 
-    vld1.s8     {d2[], d3[]}, [r3]          ; limit
-    vst1.u8     {q3}, [sp]!
     vld1.s8     {d4[], d5[]}, [r12]         ; thresh
+    vld1.s8     {d2[], d3[]}, [r3]          ; limit
+    mov         r12, sp
+    vst1.u8     {q3}, [r12]!
+    vst1.u8     {q10}, [r12]!
     ldr         r12, _mbvlfy_coeff_
-    vst1.u8     {q10}, [sp]!
 
     ; vp8_filter_mask
     vabd.u8     q11, q3, q4                 ; abs(p3 - p2)
@@ -150,7 +151,6 @@
 
     vld1.u8     {d6}, [r12]!                ;#18
     sub         r0, r0, r1, lsl #4
-    sub         sp, sp, #32
 
     add         r2, r0, r1