From 41c2bd0a26545aa79b71000b75f2f2c5380361d3 Mon Sep 17 00:00:00 2001 From: Måns Rullgård Date: Tue, 9 Feb 2010 16:13:52 +0000 Subject: ARMv6 optimised pix_sum Originally committed as revision 21705 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/arm/dsputil_armv6.S | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'libavcodec/arm/dsputil_armv6.S') diff --git a/libavcodec/arm/dsputil_armv6.S b/libavcodec/arm/dsputil_armv6.S index ffe6c42252..acdfa12fdc 100644 --- a/libavcodec/arm/dsputil_armv6.S +++ b/libavcodec/arm/dsputil_armv6.S @@ -594,3 +594,28 @@ function ff_pix_norm1_armv6, export=1 mov r0, lr pop {r4-r6, pc} .endfunc + +function ff_pix_sum_armv6, export=1 + push {r4-r7, lr} + mov r12, #16 + mov r2, #0 + mov r3, #0 + mov lr, #0 + ldr r4, [r0] +1: + subs r12, r12, #1 + ldr r5, [r0, #4] + usada8 r2, r4, lr, r2 + ldr r6, [r0, #8] + usada8 r3, r5, lr, r3 + ldr r7, [r0, #12] + usada8 r2, r6, lr, r2 + beq 2f + ldr r4, [r0, r1]! + usada8 r3, r7, lr, r3 + bgt 1b +2: + usada8 r3, r7, lr, r3 + add r0, r2, r3 + pop {r4-r7, pc} +.endfunc -- cgit v1.2.3