From 218aefce4472dc02ee3f12830a9a894bf7916da9 Mon Sep 17 00:00:00 2001
From: Diego Biurrun <diego@biurrun.de>
Date: Fri, 8 Feb 2013 00:31:13 +0100
Subject: [PATCH] dsputil: Move LOCAL_ALIGNED macros to libavutil

---
 libavcodec/aacps.c                    |  2 +-
 libavcodec/aacsbr.c                   |  1 +
 libavcodec/ac3enc.c                   |  2 +-
 libavcodec/ac3enc_template.c          |  1 +
 libavcodec/bink.c                     |  1 +
 libavcodec/dcadec.c                   |  2 +-
 libavcodec/dnxhdenc.c                 |  1 +
 libavcodec/dsputil.c                  |  1 +
 libavcodec/dsputil.h                  | 26 --------------------------
 libavcodec/dv.c                       |  1 +
 libavcodec/dvdec.c                    |  2 +-
 libavcodec/h264_loopfilter.c          |  2 +-
 libavcodec/imc.c                      |  1 +
 libavcodec/ituh263dec.c               |  1 +
 libavcodec/mpc7.c                     |  1 +
 libavcodec/mpegvideo_enc.c            |  1 +
 libavcodec/mpegvideo_motion.c         |  2 ++
 libavcodec/ppc/mpegaudiodec_altivec.c |  2 +-
 libavcodec/ra288.c                    |  1 +
 libavcodec/rv34.c                     |  1 -
 libavcodec/simple_idct.c              |  1 -
 libavcodec/takdec.c                   |  1 +
 libavcodec/x86/mpegaudiodec.c         |  2 +-
 libavutil/internal.h                  | 26 ++++++++++++++++++++++++++
 24 files changed, 47 insertions(+), 35 deletions(-)

diff --git a/libavcodec/aacps.c b/libavcodec/aacps.c
index fa7e9ac7a39..1abafe280f9 100644
--- a/libavcodec/aacps.c
+++ b/libavcodec/aacps.c
@@ -21,13 +21,13 @@
 
 #include <stdint.h>
 #include "libavutil/common.h"
+#include "libavutil/internal.h"
 #include "libavutil/mathematics.h"
 #include "avcodec.h"
 #include "get_bits.h"
 #include "aacps.h"
 #include "aacps_tablegen.h"
 #include "aacpsdata.c"
-#include "dsputil.h"
 
 #define PS_BASELINE 0  ///< Operate in Baseline PS mode
                        ///< Baseline implies 10 or 20 stereo bands,
diff --git a/libavcodec/aacsbr.c b/libavcodec/aacsbr.c
index 8b290340d4e..0d0e23d83f8 100644
--- a/libavcodec/aacsbr.c
+++ b/libavcodec/aacsbr.c
@@ -33,6 +33,7 @@
 #include "fft.h"
 #include "aacps.h"
 #include "sbrdsp.h"
+#include "libavutil/internal.h"
 #include "libavutil/libm.h"
 
 #include <stdint.h>
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index c0acc648500..b3be2dbf107 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -34,10 +34,10 @@
 #include "libavutil/avstring.h"
 #include "libavutil/channel_layout.h"
 #include "libavutil/crc.h"
+#include "libavutil/internal.h"
 #include "libavutil/opt.h"
 #include "avcodec.h"
 #include "put_bits.h"
-#include "dsputil.h"
 #include "ac3dsp.h"
 #include "ac3.h"
 #include "fft.h"
diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c
index 388d75377e8..ae9100c3acb 100644
--- a/libavcodec/ac3enc_template.c
+++ b/libavcodec/ac3enc_template.c
@@ -28,6 +28,7 @@
 
 #include <stdint.h>
 
+#include "libavutil/internal.h"
 
 /* prototypes for static functions in ac3enc_fixed.c and ac3enc_float.c */
 
diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index 3a74cf9d7f4..033e9bf0a1f 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -21,6 +21,7 @@
  */
 
 #include "libavutil/imgutils.h"
+#include "libavutil/internal.h"
 #include "avcodec.h"
 #include "dsputil.h"
 #include "binkdata.h"
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index f26111a3876..ab2757543a1 100644
--- a/libavcodec/dcadec.c
+++ b/libavcodec/dcadec.c
@@ -29,12 +29,12 @@
 #include "libavutil/channel_layout.h"
 #include "libavutil/common.h"
 #include "libavutil/float_dsp.h"
+#include "libavutil/internal.h"
 #include "libavutil/intmath.h"
 #include "libavutil/intreadwrite.h"
 #include "libavutil/mathematics.h"
 #include "libavutil/samplefmt.h"
 #include "avcodec.h"
-#include "dsputil.h"
 #include "fft.h"
 #include "get_bits.h"
 #include "put_bits.h"
diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c
index 7ece9f2bce8..4ea3709b082 100644
--- a/libavcodec/dnxhdenc.c
+++ b/libavcodec/dnxhdenc.c
@@ -26,6 +26,7 @@
 //#define DEBUG
 #define RC_VARIANCE 1 // use variance or ssd for fast rc
 
+#include "libavutil/internal.h"
 #include "libavutil/opt.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index 3b88164b2e2..203c33ecd95 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -28,6 +28,7 @@
  */
 
 #include "libavutil/imgutils.h"
+#include "libavutil/internal.h"
 #include "avcodec.h"
 #include "copy_block.h"
 #include "dsputil.h"
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index e4568ab4536..14c5db03bbb 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -417,30 +417,4 @@ void ff_dsputil_init_vis(DSPContext* c, AVCodecContext *avctx);
 #   define STRIDE_ALIGN 8
 #endif
 
-// Some broken preprocessors need a second expansion
-// to be forced to tokenize __VA_ARGS__
-#define E(x) x
-
-#define LOCAL_ALIGNED_A(a, t, v, s, o, ...)             \
-    uint8_t la_##v[sizeof(t s o) + (a)];                \
-    t (*v) o = (void *)FFALIGN((uintptr_t)la_##v, a)
-
-#define LOCAL_ALIGNED_D(a, t, v, s, o, ...)             \
-    DECLARE_ALIGNED(a, t, la_##v) s o;                  \
-    t (*v) o = la_##v
-
-#define LOCAL_ALIGNED(a, t, v, ...) E(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,))
-
-#if HAVE_LOCAL_ALIGNED_8
-#   define LOCAL_ALIGNED_8(t, v, ...) E(LOCAL_ALIGNED_D(8, t, v, __VA_ARGS__,,))
-#else
-#   define LOCAL_ALIGNED_8(t, v, ...) LOCAL_ALIGNED(8, t, v, __VA_ARGS__)
-#endif
-
-#if HAVE_LOCAL_ALIGNED_16
-#   define LOCAL_ALIGNED_16(t, v, ...) E(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,))
-#else
-#   define LOCAL_ALIGNED_16(t, v, ...) LOCAL_ALIGNED(16, t, v, __VA_ARGS__)
-#endif
-
 #endif /* AVCODEC_DSPUTIL_H */
diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index 1ea04be9e83..7ff0f74a90f 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -38,6 +38,7 @@
  * DV codec.
  */
 
+#include "libavutil/internal.h"
 #include "libavutil/pixdesc.h"
 #include "avcodec.h"
 #include "dsputil.h"
diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c
index 142cd6bdbf9..441deadaab2 100644
--- a/libavcodec/dvdec.c
+++ b/libavcodec/dvdec.c
@@ -35,9 +35,9 @@
  * DV decoder
  */
 
+#include "libavutil/internal.h"
 #include "libavutil/pixdesc.h"
 #include "avcodec.h"
-#include "dsputil.h"
 #include "internal.h"
 #include "get_bits.h"
 #include "put_bits.h"
diff --git a/libavcodec/h264_loopfilter.c b/libavcodec/h264_loopfilter.c
index b045d2388a7..45e1cdf88db 100644
--- a/libavcodec/h264_loopfilter.c
+++ b/libavcodec/h264_loopfilter.c
@@ -25,9 +25,9 @@
  * @author Michael Niedermayer <michaelni@gmx.at>
  */
 
+#include "libavutil/internal.h"
 #include "libavutil/intreadwrite.h"
 #include "internal.h"
-#include "dsputil.h"
 #include "avcodec.h"
 #include "mpegvideo.h"
 #include "h264.h"
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index 6dac4302848..909fa476318 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -37,6 +37,7 @@
 
 #include "libavutil/channel_layout.h"
 #include "libavutil/float_dsp.h"
+#include "libavutil/internal.h"
 #include "avcodec.h"
 #include "get_bits.h"
 #include "dsputil.h"
diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c
index 30cd58efd3e..c3552da35e1 100644
--- a/libavcodec/ituh263dec.c
+++ b/libavcodec/ituh263dec.c
@@ -30,6 +30,7 @@
 //#define DEBUG
 #include <limits.h>
 
+#include "libavutil/internal.h"
 #include "libavutil/mathematics.h"
 #include "dsputil.h"
 #include "avcodec.h"
diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c
index ab6fd9f2231..6a2b1202301 100644
--- a/libavcodec/mpc7.c
+++ b/libavcodec/mpc7.c
@@ -26,6 +26,7 @@
  */
 
 #include "libavutil/channel_layout.h"
+#include "libavutil/internal.h"
 #include "libavutil/lfg.h"
 #include "avcodec.h"
 #include "get_bits.h"
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index ee1d022234c..8e63314779b 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -27,6 +27,7 @@
  * The simplest mpeg encoder (well, it was the simplest!).
  */
 
+#include "libavutil/internal.h"
 #include "libavutil/intmath.h"
 #include "libavutil/mathematics.h"
 #include "libavutil/pixdesc.h"
diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c
index 536377a46f4..24507a45756 100644
--- a/libavcodec/mpegvideo_motion.c
+++ b/libavcodec/mpegvideo_motion.c
@@ -22,6 +22,8 @@
  */
 
 #include <string.h>
+
+#include "libavutil/internal.h"
 #include "avcodec.h"
 #include "dsputil.h"
 #include "mpegvideo.h"
diff --git a/libavcodec/ppc/mpegaudiodec_altivec.c b/libavcodec/ppc/mpegaudiodec_altivec.c
index fcd127abca6..7965183999c 100644
--- a/libavcodec/ppc/mpegaudiodec_altivec.c
+++ b/libavcodec/ppc/mpegaudiodec_altivec.c
@@ -21,8 +21,8 @@
 
 #include "dsputil_altivec.h"
 #include "libavutil/attributes.h"
+#include "libavutil/internal.h"
 #include "libavutil/ppc/util_altivec.h"
-#include "libavcodec/dsputil.h"
 #include "libavcodec/mpegaudiodsp.h"
 
 #define MACS(rt, ra, rb) rt+=(ra)*(rb)
diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c
index 319bdd4e222..677a6c2f57d 100644
--- a/libavcodec/ra288.c
+++ b/libavcodec/ra288.c
@@ -21,6 +21,7 @@
 
 #include "libavutil/channel_layout.h"
 #include "libavutil/float_dsp.h"
+#include "libavutil/internal.h"
 #include "avcodec.h"
 #include "internal.h"
 #define BITSTREAM_READER_LE
diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c
index 4c98e9964ff..a131c105eb9 100644
--- a/libavcodec/rv34.c
+++ b/libavcodec/rv34.c
@@ -27,7 +27,6 @@
 #include "libavutil/internal.h"
 
 #include "avcodec.h"
-#include "dsputil.h"
 #include "mpegvideo.h"
 #include "golomb.h"
 #include "internal.h"
diff --git a/libavcodec/simple_idct.c b/libavcodec/simple_idct.c
index 328c96c747b..f61e9e639de 100644
--- a/libavcodec/simple_idct.c
+++ b/libavcodec/simple_idct.c
@@ -27,7 +27,6 @@
 
 #include "libavutil/intreadwrite.h"
 #include "avcodec.h"
-#include "dsputil.h"
 #include "mathops.h"
 #include "simple_idct.h"
 
diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c
index d47db4818c4..1a2cc3bed76 100644
--- a/libavcodec/takdec.c
+++ b/libavcodec/takdec.c
@@ -25,6 +25,7 @@
  * @author Paul B Mahol
  */
 
+#include "libavutil/internal.h"
 #include "libavutil/samplefmt.h"
 #include "tak.h"
 #include "avcodec.h"
diff --git a/libavcodec/x86/mpegaudiodec.c b/libavcodec/x86/mpegaudiodec.c
index cc2b6619b65..79a29ce506b 100644
--- a/libavcodec/x86/mpegaudiodec.c
+++ b/libavcodec/x86/mpegaudiodec.c
@@ -21,9 +21,9 @@
 
 #include "libavutil/attributes.h"
 #include "libavutil/cpu.h"
+#include "libavutil/internal.h"
 #include "libavutil/x86/asm.h"
 #include "libavutil/x86/cpu.h"
-#include "libavcodec/dsputil.h"
 #include "libavcodec/mpegaudiodsp.h"
 
 void ff_imdct36_float_sse(float *out, float *buf, float *in, float *win);
diff --git a/libavutil/internal.h b/libavutil/internal.h
index 5bc6a085d6c..43cbaeaca27 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -57,6 +57,32 @@
 #    define INT_BIT (CHAR_BIT * sizeof(int))
 #endif
 
+// Some broken preprocessors need a second expansion
+// to be forced to tokenize __VA_ARGS__
+#define E(x) x
+
+#define LOCAL_ALIGNED_A(a, t, v, s, o, ...)             \
+    uint8_t la_##v[sizeof(t s o) + (a)];                \
+    t (*v) o = (void *)FFALIGN((uintptr_t)la_##v, a)
+
+#define LOCAL_ALIGNED_D(a, t, v, s, o, ...)             \
+    DECLARE_ALIGNED(a, t, la_##v) s o;                  \
+    t (*v) o = la_##v
+
+#define LOCAL_ALIGNED(a, t, v, ...) E(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,))
+
+#if HAVE_LOCAL_ALIGNED_8
+#   define LOCAL_ALIGNED_8(t, v, ...) E(LOCAL_ALIGNED_D(8, t, v, __VA_ARGS__,,))
+#else
+#   define LOCAL_ALIGNED_8(t, v, ...) LOCAL_ALIGNED(8, t, v, __VA_ARGS__)
+#endif
+
+#if HAVE_LOCAL_ALIGNED_16
+#   define LOCAL_ALIGNED_16(t, v, ...) E(LOCAL_ALIGNED_D(16, t, v, __VA_ARGS__,,))
+#else
+#   define LOCAL_ALIGNED_16(t, v, ...) LOCAL_ALIGNED(16, t, v, __VA_ARGS__)
+#endif
+
 #define FF_ALLOC_OR_GOTO(ctx, p, size, label)\
 {\
     p = av_malloc(size);\
-- 
GitLab