aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/arm/asm.S
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2011-08-24 13:58:37 -0700
committerMichael Niedermayer <michaelni@gmx.at>2011-10-03 01:49:36 +0200
commita5dfeb612eec1223bb0adf9625010c81e8737edb (patch)
treee3d5fd16603cb4ce68dd82ff2452c15308d11df1 /libavcodec/arm/asm.S
parentc3a774969a9de064115376919999288559d06f3f (diff)
downloadffmpeg-a5dfeb612eec1223bb0adf9625010c81e8737edb.tar.gz
VP8: armv6 optimizations.
From 52.503s (~40fps) to 27.973sec (~80fps) decoding of 480p sintel trailer, i.e. a ~2x speedup overall, on a Nexus S. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/arm/asm.S')
-rw-r--r--libavcodec/arm/asm.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/arm/asm.S b/libavcodec/arm/asm.S
index fc7ee60357..856d2e986f 100644
--- a/libavcodec/arm/asm.S
+++ b/libavcodec/arm/asm.S
@@ -97,6 +97,12 @@ T add \rn, \rn, \rm
T ldr \rt, [\rn]
.endm
+.macro ldr_dpren rt, rn, rm:vararg
+A ldr \rt, [\rn, -\rm]
+T sub \rt, \rn, \rm
+T ldr \rt, [\rt]
+.endm
+
.macro ldr_post rt, rn, rm:vararg
A ldr \rt, [\rn], \rm
T ldr \rt, [\rn]
@@ -133,6 +139,12 @@ T ldrh \rt, [\rn]
T add \rn, \rn, \rm
.endm
+.macro ldrb_post rt, rn, rm
+A ldrb \rt, [\rn], \rm
+T ldrb \rt, [\rn]
+T add \rn, \rn, \rm
+.endm
+
.macro str_post rt, rn, rm:vararg
A str \rt, [\rn], \rm
T str \rt, [\rn]