|
|
@@ -149,16 +149,13 @@ static inline av_const int FASTDIV(int a, int b) |
|
|
|
return r; |
|
|
|
} |
|
|
|
#elif defined(ARCH_ARM) |
|
|
|
# define FASTDIV(a,b) \ |
|
|
|
({\ |
|
|
|
int ret,dmy;\ |
|
|
|
__asm__ volatile(\ |
|
|
|
"umull %1, %0, %2, %3"\ |
|
|
|
:"=&r"(ret),"=&r"(dmy)\ |
|
|
|
:"r"(a),"r"(ff_inverse[b])\ |
|
|
|
);\ |
|
|
|
ret;\ |
|
|
|
}) |
|
|
|
static inline av_const int FASTDIV(int a, int b) |
|
|
|
{ |
|
|
|
int r, t; |
|
|
|
__asm__ volatile ("umull %1, %0, %2, %3" |
|
|
|
: "=&r"(r), "=&r"(t) : "r"(a), "r"(ff_inverse[b])); |
|
|
|
return r; |
|
|
|
} |
|
|
|
#elif defined(CONFIG_FASTDIV) |
|
|
|
# define FASTDIV(a,b) ((uint32_t)((((uint64_t)a)*ff_inverse[b])>>32)) |
|
|
|
#else |
|
|
|