aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/arm/asm.S
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2014-03-05 12:44:57 +0100
committerJanne Grunau <janne-libav@jannau.net>2014-03-05 14:30:57 +0100
commitcbddee1cca0ebd01e8c5aa694d31228eb4de4b41 (patch)
tree95e3e73f0d5ccb6e54ed587e6fb547080bf71371 /libavutil/arm/asm.S
parent3741aa37c2a0d0717faff74a5c4cc357d16f6d1d (diff)
downloadffmpeg-cbddee1cca0ebd01e8c5aa694d31228eb4de4b41.tar.gz
arm: hpeldsp: prevent overreads in armv6 asm
Based on a patch by Russel King <rmk+libav@arm.linux.org.uk> Bug-Id: 646 CC: libav-stable@libav.org
Diffstat (limited to 'libavutil/arm/asm.S')
-rw-r--r--libavutil/arm/asm.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
index 45fdf55522..5884e172f3 100644
--- a/libavutil/arm/asm.S
+++ b/libavutil/arm/asm.S
@@ -216,6 +216,13 @@ T ldr \rt, [\rn]
T add \rn, \rn, \rm
.endm
+.macro ldrc_pre cc, rt, rn, rm:vararg
+A ldr\cc \rt, [\rn, \rm]!
+T itt \cc
+T add\cc \rn, \rn, \rm
+T ldr\cc \rt, [\rn]
+.endm
+
.macro ldrd_reg rt, rt2, rn, rm
A ldrd \rt, \rt2, [\rn, \rm]
T add \rt, \rn, \rm