[FFmpeg-cvslog] r21219 - in trunk/libavcodec: aac.c arm/aac.h

Alex Converse alex.converse
Fri Jan 15 21:16:54 CET 2010


On Thu, Jan 14, 2010 at 9:58 PM, mru <subversion at mplayerhq.hu> wrote:
> Author: mru
> Date: Fri Jan 15 03:58:24 2010
> New Revision: 21219
>
> Log:
> AAC: ARM/NEON asm for VMUL2/4 functions
>
> Added:
> ? trunk/libavcodec/arm/aac.h
> Modified:
> ? trunk/libavcodec/aac.c
>
> Modified: trunk/libavcodec/aac.c
> ==============================================================================
> --- trunk/libavcodec/aac.c ? ? ?Fri Jan 15 01:45:47 2010 ? ? ? ?(r21218)
> +++ trunk/libavcodec/aac.c ? ? ?Fri Jan 15 03:58:24 2010 ? ? ? ?(r21219)
> @@ -93,6 +93,10 @@
> ?#include <math.h>
> ?#include <string.h>
>
> +#if ARCH_ARM
> +# ? include "arm/aac.h"
> +#endif
> +
> ?union float754 {
> ? ? float f;
> ? ? uint32_t i;
> @@ -862,6 +866,7 @@ static void decode_mid_side_stereo(Chann
> ? ? }
> ?}
>
> +#ifndef VMUL2
> ?static inline float *VMUL2(float *dst, const float *v, unsigned idx,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ?const float *scale)
> ?{
> @@ -870,7 +875,9 @@ static inline float *VMUL2(float *dst, c
> ? ? *dst++ = v[idx>>4 & 15] * s;
> ? ? return dst;
> ?}
> +#endif
>
> +#ifndef VMUL4
> ?static inline float *VMUL4(float *dst, const float *v, unsigned idx,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ?const float *scale)
> ?{
> @@ -881,7 +888,9 @@ static inline float *VMUL4(float *dst, c
> ? ? *dst++ = v[idx>>6 & 3] * s;
> ? ? return dst;
> ?}
> +#endif
>
> +#ifndef VMUL2S
> ?static inline float *VMUL2S(float *dst, const float *v, unsigned idx,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned sign, const float *scale)
> ?{
> @@ -896,7 +905,9 @@ static inline float *VMUL2S(float *dst,
>
> ? ? return dst;
> ?}
> +#endif
>
> +#ifndef VMUL4S
> ?static inline float *VMUL4S(float *dst, const float *v, unsigned idx,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned sign, const float *scale)
> ?{
> @@ -921,6 +932,7 @@ static inline float *VMUL4S(float *dst,
>
> ? ? return dst;
> ?}
> +#endif
>

I certainly like the speed up associated with these changes but there
has to be a cleaner way of organizing them as not to litter aac.c with
ifdefs.



More information about the ffmpeg-cvslog mailing list