From 63ac8e2d93080b74f6be32c7c3c1a1e44aacf34e Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 23 Apr 2014 23:53:36 -0300 Subject: [PATCH] lavu: add LOCAL_ALIGNED_32 Signed-off-by: James Almer Signed-off-by: Anton Khirnov --- configure | 5 +++-- libavutil/internal.h | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 66da1e48df..80aa09ea4b 100755 --- a/configure +++ b/configure @@ -1468,6 +1468,7 @@ ARCH_FEATURES=" fast_cmov local_aligned_8 local_aligned_16 + local_aligned_32 simd_align_16 " @@ -4296,7 +4297,7 @@ elif enabled parisc; then elif enabled ppc; then - enable local_aligned_8 local_aligned_16 + enable local_aligned_8 local_aligned_16 local_aligned_32 check_inline_asm dcbzl '"dcbzl 0, %0" :: "r"(0)' check_inline_asm ibm_asm '"add 0, 0, 0"' @@ -4337,7 +4338,7 @@ elif enabled x86; then check_builtin rdtsc intrin.h "__rdtsc()" check_builtin mm_empty mmintrin.h "_mm_empty()" - enable local_aligned_8 local_aligned_16 + enable local_aligned_8 local_aligned_16 local_aligned_32 # check whether EBP is available on x86 # As 'i' is stored on the stack, this program will crash diff --git a/libavutil/internal.h b/libavutil/internal.h index b9be333b47..d96762c75d 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -111,6 +111,12 @@ # define LOCAL_ALIGNED_16(t, v, ...) LOCAL_ALIGNED(16, t, v, __VA_ARGS__) #endif +#if HAVE_LOCAL_ALIGNED_32 +# define LOCAL_ALIGNED_32(t, v, ...) E1(LOCAL_ALIGNED_D(32, t, v, __VA_ARGS__,,)) +#else +# define LOCAL_ALIGNED_32(t, v, ...) LOCAL_ALIGNED(32, t, v, __VA_ARGS__) +#endif + #define FF_ALLOC_OR_GOTO(ctx, p, size, label)\ {\ p = av_malloc(size);\