add FASTDIV macro for ARM. Reported speed-up on MPEG-4 decoding: 1.8%
authorSiarhei Siamashka <siarhei.siamashka@gmail.com>
Thu, 28 Sep 2006 08:04:16 +0000 (08:04 +0000)
committerGuillaume Poirier <gpoirier@mplayerhq.hu>
Thu, 28 Sep 2006 08:04:16 +0000 (08:04 +0000)
Patch by Siarhei Siamashka %siarhei P siamashka A gmail P com%
Original thread:
Date: Sep 28, 2006 2:26 AM
Subject: [Ffmpeg-devel] [PATCH] ARM implementation of FASTDIV

Originally committed as revision 6366 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavutil/internal.h

index 83f776c..96a6d29 100644 (file)
@@ -114,6 +114,17 @@ extern const uint32_t inverse[256];
             );\
         ret;\
     })
+#elif defined(ARCH_ARMV4L)
+#    define FASTDIV(a,b) \
+    ({\
+        int ret,dmy;\
+        asm volatile(\
+            "umull %1, %0, %2, %3"\
+            :"=&r"(ret),"=&r"(dmy)\
+            :"r"(a),"r"(inverse[b])\
+            );\
+        ret;\
+    })
 #elif defined(CONFIG_FASTDIV)
 #    define FASTDIV(a,b)   ((uint32_t)((((uint64_t)a)*inverse[b])>>32))
 #else