[FFmpeg-cvslog] ARM: add some compatibility macros

Mans Rullgard git at videolan.org
Thu Apr 26 22:43:20 CEST 2012


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Tue Mar 20 17:04:54 2012 +0000| [dac78fd1d73b3710f1c6718f7418bc5325fff494] | committer: Mans Rullgard

ARM: add some compatibility macros

This adds some macros simplifying Thumb and pre-v6T2 compatibility.

Signed-off-by: Mans Rullgard <mans at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dac78fd1d73b3710f1c6718f7418bc5325fff494
---

 libavcodec/arm/asm.S |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/libavcodec/arm/asm.S b/libavcodec/arm/asm.S
index 3b495a2..6038a63 100644
--- a/libavcodec/arm/asm.S
+++ b/libavcodec/arm/asm.S
@@ -88,6 +88,13 @@ ELF     .size   \name, . - \name
 \name:
 .endm
 
+#if !HAVE_ARMV6T2
+.macro  movw    rd, val
+        mov     \rd, \val &  255
+        orr     \rd, \val & ~255
+.endm
+#endif
+
 .macro  mov32   rd, val
 #if HAVE_ARMV6T2
         movw            \rd, #(\val) & 0xffff
@@ -120,6 +127,12 @@ T       sub             \rn, \rn, \rm
 T       ldr             \rt, [\rn]
 .endm
 
+.macro  ldr_nreg        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]
@@ -156,6 +169,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]



More information about the ffmpeg-cvslog mailing list