[FFmpeg-cvslog] r14245 - trunk/libavcodec/armv4l/mathops.h
matthieu castet
castet.matthieu
Tue Jul 15 23:10:07 CEST 2008
mru wrote:
> Author: mru
> Date: Tue Jul 15 21:06:32 2008
> New Revision: 14245
>
> Log:
> ARM: optimised MAC64 and MLS64
>
> Modified:
> trunk/libavcodec/armv4l/mathops.h
>
> Modified: trunk/libavcodec/armv4l/mathops.h
> ==============================================================================
> --- trunk/libavcodec/armv4l/mathops.h (original)
> +++ trunk/libavcodec/armv4l/mathops.h Tue Jul 15 21:06:32 2008
> @@ -57,6 +57,16 @@ static inline av_const int64_t MUL64(int
> }
> #define MUL64 MUL64
>
> +static inline av_const int64_t MAC64(int64_t d, int a, int b)
> +{
> + union { uint64_t x; unsigned hl[2]; } x = { d };
> + asm ("smlal %0, %1, %2, %3"
> + : "+r"(x.hl[0]), "+r"(x.hl[1]) : "r"(a), "r"(b));
> + return x.x;
> +}
> +#define MAC64(d, a, b) ((d) = MAC64(d, a, b))
> +#define MLS64(d, a, b) MAC64(d, -(a), b)
> +
Will this work on big endian arm ?
Or big endian is not supported by ffmpeg ?
More information about the ffmpeg-cvslog
mailing list