[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