Commit 10f4511f authored by Martin Storsjö's avatar Martin Storsjö

libavutil: Make LOCAL_ALIGNED(xx be equal to LOCAL_ALIGNED_xx(

Previously, the former form always produced a manually aligned,
padded buffer, while the latter can use DECLARE_ALIGNED, if that
amount of stack alignment is supported.

libavutil/internal.h needs to include mem.h, since it uses
the DECLARE_ALIGNED macro.
Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 26d9b603
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "attributes.h" #include "attributes.h"
#include "dict.h" #include "dict.h"
#include "macros.h" #include "macros.h"
#include "mem.h"
#include "pixfmt.h" #include "pixfmt.h"
#if ARCH_X86 #if ARCH_X86
...@@ -97,24 +98,24 @@ ...@@ -97,24 +98,24 @@
DECLARE_ALIGNED(a, t, la_##v) s o; \ DECLARE_ALIGNED(a, t, la_##v) s o; \
t (*v) o = la_##v t (*v) o = la_##v
#define LOCAL_ALIGNED(a, t, v, ...) E1(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,)) #define LOCAL_ALIGNED(a, t, v, ...) LOCAL_ALIGNED_##a(t, v, __VA_ARGS__)
#if HAVE_LOCAL_ALIGNED_8 #if HAVE_LOCAL_ALIGNED_8
# define LOCAL_ALIGNED_8(t, v, ...) E1(LOCAL_ALIGNED_D(8, t, v, __VA_ARGS__,,)) # define LOCAL_ALIGNED_8(t, v, ...) E1(LOCAL_ALIGNED_D(8, t, v, __VA_ARGS__,,))
#else #else
# define LOCAL_ALIGNED_8(t, v, ...) LOCAL_ALIGNED(8, t, v, __VA_ARGS__) # define LOCAL_ALIGNED_8(t, v, ...) E1(LOCAL_ALIGNED_A(8, t, v, __VA_ARGS__,,))
#endif #endif
#if HAVE_LOCAL_ALIGNED_16 #if HAVE_LOCAL_ALIGNED_16
# define LOCAL_ALIGNED_16(t, v, ...) E1(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,)) # define LOCAL_ALIGNED_16(t, v, ...) E1(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,))
#else #else
# define LOCAL_ALIGNED_16(t, v, ...) LOCAL_ALIGNED(16, t, v, __VA_ARGS__) # define LOCAL_ALIGNED_16(t, v, ...) E1(LOCAL_ALIGNED_A(16, t, v, __VA_ARGS__,,))
#endif #endif
#if HAVE_LOCAL_ALIGNED_32 #if HAVE_LOCAL_ALIGNED_32
# define LOCAL_ALIGNED_32(t, v, ...) E1(LOCAL_ALIGNED_D(32, t, v, __VA_ARGS__,,)) # define LOCAL_ALIGNED_32(t, v, ...) E1(LOCAL_ALIGNED_D(32, t, v, __VA_ARGS__,,))
#else #else
# define LOCAL_ALIGNED_32(t, v, ...) LOCAL_ALIGNED(32, t, v, __VA_ARGS__) # define LOCAL_ALIGNED_32(t, v, ...) E1(LOCAL_ALIGNED_A(32, t, v, __VA_ARGS__,,))
#endif #endif
#define FF_ALLOC_OR_GOTO(ctx, p, size, label)\ #define FF_ALLOC_OR_GOTO(ctx, p, size, label)\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment