]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/arm/dsputil_neon.S
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / arm / dsputil_neon.S
index 0dbf5ca48acbfa03f756765b2eede2d5ad158042..250a32af6ea46909f1d23f2edea20111ed54cb5b 100644 (file)
@@ -531,6 +531,7 @@ function ff_vorbis_inverse_coupling_neon, export=1
 
 2:      vst1.32         {d2-d3},  [r3, :128]!
         vst1.32         {d0-d1},  [r12,:128]!
+        it              lt
         bxlt            lr
 
 3:      vld1.32         {d2-d3},  [r1,:128]
@@ -575,6 +576,7 @@ NOVFP   vdup.32         q8,  r2
 2:      vst1.32         {q2},[r0,:128]!
         vst1.32         {q3},[r0,:128]!
         ands            len, len, #15
+        it              eq
         bxeq            lr
 3:      vld1.32         {q0},[r1,:128]!
         vmul.f32        q0,  q0,  q8
@@ -638,6 +640,7 @@ NOVFP   ldr             r3,  [sp]
 2:      vst1.32         {q8},[r0,:128]!
         vst1.32         {q9},[r0,:128]!
         ands            r3,  r3,  #7
+        it              eq
         popeq           {pc}
 3:      vld1.32         {q0},[r1,:128]!
         ldr             r12, [r2], #4
@@ -812,3 +815,19 @@ function ff_apply_window_int16_neon, export=1
 
         pop             {r4,pc}
 endfunc
+
+function ff_vector_clip_int32_neon, export=1
+        vdup.32         q0,  r2
+        vdup.32         q1,  r3
+        ldr             r2,  [sp]
+1:
+        vld1.32         {q2-q3},  [r1,:128]!
+        vmin.s32        q2,  q2,  q1
+        vmin.s32        q3,  q3,  q1
+        vmax.s32        q2,  q2,  q0
+        vmax.s32        q3,  q3,  q0
+        vst1.32         {q2-q3},  [r0,:128]!
+        subs            r2,  r2,  #8
+        bgt             1b
+        bx              lr
+endfunc