Go to the documentation of this file.
21 #ifndef AVUTIL_MEM_INTERNAL_H
22 #define AVUTIL_MEM_INTERNAL_H
79 #if defined(__DJGPP__)
80 #define DECLARE_ALIGNED_T(n,t,v) alignas(FFMIN(n, 16)) t v
81 #define DECLARE_ASM_ALIGNED(n,t,v) alignas(FFMIN(n, 16)) t av_used v
82 #define DECLARE_ASM_CONST(n,t,v) alignas(FFMIN(n, 16)) static const t av_used v
83 #elif defined(_MSC_VER)
84 #define DECLARE_ALIGNED_T(n,t,v) __declspec(align(n)) t v
85 #define DECLARE_ASM_ALIGNED(n,t,v) __declspec(align(n)) t v
86 #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
88 #define DECLARE_ALIGNED_T(n,t,v) alignas(n) t v
89 #define DECLARE_ASM_ALIGNED(n,t,v) alignas(n) t av_used v
90 #define DECLARE_ASM_CONST(n,t,v) alignas(n) static const t av_used v
93 #if HAVE_SIMD_ALIGN_64
96 #elif HAVE_SIMD_ALIGN_32
104 #define DECLARE_ALIGNED(n,t,v) DECLARE_ALIGNED_V(n,t,v)
108 #define DECLARE_ALIGNED_V(n,t,v) DECLARE_ALIGNED_##n(t,v)
110 #define DECLARE_ALIGNED_4(t,v) DECLARE_ALIGNED_T( 4, t, v)
111 #define DECLARE_ALIGNED_8(t,v) DECLARE_ALIGNED_T( 8, t, v)
112 #define DECLARE_ALIGNED_16(t,v) DECLARE_ALIGNED_T( 16, t, v)
113 #define DECLARE_ALIGNED_32(t,v) DECLARE_ALIGNED_T(ALIGN_32, t, v)
114 #define DECLARE_ALIGNED_64(t,v) DECLARE_ALIGNED_T(ALIGN_64, t, v)
120 #define LOCAL_ALIGNED_D(a, t, v, s, o, ...) \
121 DECLARE_ALIGNED(a, t, la_##v) s o; \
124 #define LOCAL_ALIGNED(a, t, v, ...) LOCAL_ALIGNED_##a(t, v, __VA_ARGS__)
126 #define LOCAL_ALIGNED_4(t, v, ...) E1(LOCAL_ALIGNED_D(4, t, v, __VA_ARGS__,,))
128 #define LOCAL_ALIGNED_8(t, v, ...) E1(LOCAL_ALIGNED_D(8, t, v, __VA_ARGS__,,))
130 #define LOCAL_ALIGNED_16(t, v, ...) E1(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,))
132 #define LOCAL_ALIGNED_32(t, v, ...) E1(LOCAL_ALIGNED_D(32, t, v, __VA_ARGS__,,))