[FFmpeg-cvslog] r12569 - in trunk: configure libavcodec/armv4l/dsputil_arm_s.S

diego subversion
Mon Mar 24 12:49:59 CET 2008


Author: diego
Date: Mon Mar 24 12:49:59 2008
New Revision: 12569

Log:
pld instruction are used in libavcodec/armv4l/dsputil_arm_s.S which can be used
on armv4 that doesn't support this instruction. Futhermore pld is a nop on some
armv5 processor like arm926. Detect if pld is supported and have the
preprocessor remove it when it's not supported.
Fixes issue 393.
patch by matthieu castet, castet.matthieu free fr


Modified:
   trunk/configure
   trunk/libavcodec/armv4l/dsputil_arm_s.S

Modified: trunk/configure
==============================================================================
--- trunk/configure	(original)
+++ trunk/configure	Mon Mar 24 12:49:59 2008
@@ -748,6 +748,7 @@ HAVE_LIST="
     memalign
     mkstemp
     mlib
+    pld
     ppc64
     round
     roundf
@@ -1561,6 +1562,8 @@ int main(void) {
 EOF
 fi
 
+# We have to check if pld is a nop and disable it.
+enabled armv4l  && check_asm pld     '"pld [r0]"'
 enabled armv5te && check_asm armv5te '"qadd r0, r0, r0"'
 enabled armv6   && check_asm armv6   '"sadd16 r0, r0, r0"'
 enabled iwmmxt  && check_asm iwmmxt  '"wunpckelub wr6, wr4"'

Modified: trunk/libavcodec/armv4l/dsputil_arm_s.S
==============================================================================
--- trunk/libavcodec/armv4l/dsputil_arm_s.S	(original)
+++ trunk/libavcodec/armv4l/dsputil_arm_s.S	Mon Mar 24 12:49:59 2008
@@ -19,6 +19,13 @@
 @ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 @
 
+#include "config.h"
+
+#ifndef HAVE_PLD
+.macro pld reg
+.endm
+#endif
+
 .macro  ADJ_ALIGN_QUADWORD_D shift, Rd0, Rd1, Rd2, Rd3, Rn0, Rn1, Rn2, Rn3, Rn4
         mov \Rd0, \Rn0, lsr #(\shift * 8)
         mov \Rd1, \Rn1, lsr #(\shift * 8)




More information about the ffmpeg-cvslog mailing list