OSDN Git Service

ARM: ARMv6 optimised FASTDIV
authorMåns Rullgård <mans@mansr.com>
Tue, 15 Jul 2008 19:06:18 +0000 (19:06 +0000)
committerMåns Rullgård <mans@mansr.com>
Tue, 15 Jul 2008 19:06:18 +0000 (19:06 +0000)
Originally committed as revision 14242 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavutil/internal.h

index 8bf5706..ce4983b 100644 (file)
@@ -154,6 +154,13 @@ extern const uint32_t ff_inverse[256];
             );\
         ret;\
     })
+#elif defined(HAVE_ARMV6)
+static inline av_const int FASTDIV(int a, int b)
+{
+    int r;
+    asm volatile("smmul %0, %1, %2" : "=r"(r) : "r"(a), "r"(ff_inverse[b]));
+    return r;
+}
 #elif defined(ARCH_ARMV4L)
 #    define FASTDIV(a,b) \
     ({\