diff --git a/libavcodec/armv4l/mathops.h b/libavcodec/armv4l/mathops.h index 901cccb834..c30ab3391e 100644 --- a/libavcodec/armv4l/mathops.h +++ b/libavcodec/armv4l/mathops.h @@ -26,14 +26,17 @@ #include "libavutil/common.h" #ifdef FRAC_BITS -# define MULL(a, b) \ - ({ int lo, hi;\ - __asm__("smull %0, %1, %2, %3 \n\t"\ - "mov %0, %0, lsr %4\n\t"\ - "add %1, %0, %1, lsl %5\n\t"\ - : "=&r"(lo), "=&r"(hi)\ - : "r"(b), "r"(a), "i"(FRAC_BITS), "i"(32-FRAC_BITS));\ - hi; }) +# define MULL MULL +static inline av_const int MULL(int a, int b) +{ + int lo, hi; + __asm__("smull %0, %1, %2, %3 \n\t" + "mov %0, %0, lsr %4 \n\t" + "add %1, %0, %1, lsl %5 \n\t" + : "=&r"(lo), "=&r"(hi) + : "r"(b), "r"(a), "i"(FRAC_BITS), "i"(32-FRAC_BITS)); + return hi; +} #endif #ifdef HAVE_ARMV6