projects
/
platform
/
upstream
/
libav.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
22e7d9c
)
fix ARMv6 FASTDIV for divisor <=2
author
Måns Rullgård
<mans@mansr.com>
Thu, 31 Jul 2008 02:38:40 +0000
(
02:38
+0000)
committer
Måns Rullgård
<mans@mansr.com>
Thu, 31 Jul 2008 02:38:40 +0000
(
02:38
+0000)
Originally committed as revision 14481 to svn://svn.ffmpeg.org/ffmpeg/trunk
libavutil/internal.h
patch
|
blob
|
history
diff --git
a/libavutil/internal.h
b/libavutil/internal.h
index
32db7f5
..
4832ef1
100644
(file)
--- a/
libavutil/internal.h
+++ b/
libavutil/internal.h
@@
-150,7
+150,10
@@
extern const uint32_t ff_inverse[256];
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]));
+ asm volatile("cmp %2, #0 \n\t"
+ "smmul %0, %1, %2 \n\t"
+ "rsblt %0, %0, #0 \n\t"
+ : "=r"(r) : "r"(a), "r"(ff_inverse[b]));
return r;
}
#elif defined(ARCH_ARMV4L)