diff --git a/libavcodec/armv4l/mathops.h b/libavcodec/armv4l/mathops.h index dd53310683..e42cefb430 100644 --- a/libavcodec/armv4l/mathops.h +++ b/libavcodec/armv4l/mathops.h @@ -48,6 +48,15 @@ static inline av_const int MULH(int a, int b) hi; }) #endif +static inline av_const int64_t MUL64(int a, int b) +{ + union { uint64_t x; unsigned hl[2]; } x; + asm ("smull %0, %1, %2, %3" + : "=r"(x.hl[0]), "=r"(x.hl[1]) : "r"(a), "r"(b)); + return x.x; +} +#define MUL64 MUL64 + #if defined(HAVE_ARMV5TE) /* signed 16x16 -> 32 multiply add accumulate */