---

While clearly not a thing of supreme beauty, this silences all warnings
on a previously very noisy file, both with hardcoded and generated tables.

 libavcodec/aacps.c          |   20 ++++++++++++--------
 libavcodec/aacps_tablegen.h |    2 ++
 libavcodec/aacpsdsp.h       |    2 +-
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/libavcodec/aacps.c b/libavcodec/aacps.c
index 1abafe2..2b9ca4f 100644
--- a/libavcodec/aacps.c
+++ b/libavcodec/aacps.c
@@ -305,14 +305,15 @@ static void hybrid2_re(float (*in)[2], float 
(*out)[32][2], const float filter[8
 }
 
 /** Split one subband into 6 subsubbands with a complex filter */
-static void hybrid6_cx(PSDSPContext *dsp, float (*in)[2], float (*out)[32][2], 
const float (*filter)[8][2], int len)
+static void hybrid6_cx(PSDSPContext *dsp, float (*in)[2], float (*out)[32][2],
+                       TABLE_CONST float (*filter)[8][2], int len)
 {
     int i;
     int N = 8;
     LOCAL_ALIGNED_16(float, temp, [8], [2]);
 
     for (i = 0; i < len; i++, in++) {
-        dsp->hybrid_analysis(temp, in, filter, 1, N);
+        dsp->hybrid_analysis(temp, in, (const float (*)[8][2]) filter, 1, N);
         out[0][i][0] = temp[6][0];
         out[0][i][1] = temp[6][1];
         out[1][i][0] = temp[7][0];
@@ -328,12 +329,14 @@ static void hybrid6_cx(PSDSPContext *dsp, float (*in)[2], 
float (*out)[32][2], c
     }
 }
 
-static void hybrid4_8_12_cx(PSDSPContext *dsp, float (*in)[2], float 
(*out)[32][2], const float (*filter)[8][2], int N, int len)
+static void hybrid4_8_12_cx(PSDSPContext *dsp,
+                            float (*in)[2], float (*out)[32][2],
+                            TABLE_CONST float (*filter)[8][2], int N, int len)
 {
     int i;
 
     for (i = 0; i < len; i++, in++) {
-        dsp->hybrid_analysis(out[0] + i, in, filter, 32, N);
+        dsp->hybrid_analysis(out[0] + i, in, (const float (*)[8][2]) filter, 
32, N);
     }
 }
 
@@ -606,7 +609,8 @@ static void map_val_20_to_34(float par[PS_MAX_NR_IIDICC])
     par[ 0] =  par[ 0];
 }
 
-static void decorrelation(PSContext *ps, float (*out)[32][2], const float 
(*s)[32][2], int is34)
+static void decorrelation(PSContext *ps, float (*out)[32][2],
+                          TABLE_CONST float (*s)[32][2], int is34)
 {
     LOCAL_ALIGNED_16(float, power, [34], [PS_QMF_TIME_SLOTS]);
     LOCAL_ALIGNED_16(float, transient_gain, [34], [PS_QMF_TIME_SLOTS]);
@@ -634,7 +638,7 @@ static void decorrelation(PSContext *ps, float 
(*out)[32][2], const float (*s)[3
 
     for (k = 0; k < NR_BANDS[is34]; k++) {
         int i = k_to_i[k];
-        ps->dsp.add_squares(power[i], s[k], nL - n0);
+        ps->dsp.add_squares(power[i], (const float (*)[2]) s[k], nL - n0);
     }
 
     //Transient detection
@@ -747,7 +751,7 @@ static void stereo_processing(PSContext *ps, float 
(*l)[32][2], float (*r)[32][2
     int8_t (*ipd_mapped)[PS_MAX_NR_IIDICC] = ipd_mapped_buf;
     int8_t (*opd_mapped)[PS_MAX_NR_IIDICC] = opd_mapped_buf;
     const int8_t *k_to_i = is34 ? k_to_i_34 : k_to_i_20;
-    const float (*H_LUT)[8][4] = (PS_BASELINE || ps->icc_mode < 3) ? HA : HB;
+    TABLE_CONST float (*H_LUT)[8][4] = (PS_BASELINE || ps->icc_mode < 3) ? HA 
: HB;
 
     //Remapping
     if (ps->num_env_old) {
@@ -897,7 +901,7 @@ int ff_ps_apply(AVCodecContext *avctx, PSContext *ps, float 
L[2][38][64], float
         memset(ps->ap_delay + top, 0, (NR_ALLPASS_BANDS[is34] - 
top)*sizeof(ps->ap_delay[0]));
 
     hybrid_analysis(&ps->dsp, Lbuf, ps->in_buf, L, is34, len);
-    decorrelation(ps, Rbuf, Lbuf, is34);
+    decorrelation(ps, Rbuf, (const float (*)[32][2]) Lbuf, is34);
     stereo_processing(ps, Lbuf, Rbuf, is34);
     hybrid_synthesis(&ps->dsp, L, Lbuf, is34, len);
     hybrid_synthesis(&ps->dsp, R, Rbuf, is34, len);
diff --git a/libavcodec/aacps_tablegen.h b/libavcodec/aacps_tablegen.h
index 701812b..87383bd 100644
--- a/libavcodec/aacps_tablegen.h
+++ b/libavcodec/aacps_tablegen.h
@@ -28,6 +28,7 @@
 
 #if CONFIG_HARDCODED_TABLES
 #define ps_tableinit()
+#define TABLE_CONST const
 #include "libavcodec/aacps_tables.h"
 #else
 #include "libavutil/common.h"
@@ -37,6 +38,7 @@
 #define NR_ALLPASS_BANDS20 30
 #define NR_ALLPASS_BANDS34 50
 #define PS_AP_LINKS 3
+#define TABLE_CONST
 static float pd_re_smooth[8*8*8];
 static float pd_im_smooth[8*8*8];
 static float HA[46][8][4];
diff --git a/libavcodec/aacpsdsp.h b/libavcodec/aacpsdsp.h
index 93737d2..dc380b1 100644
--- a/libavcodec/aacpsdsp.h
+++ b/libavcodec/aacpsdsp.h
@@ -38,7 +38,7 @@ typedef struct PSDSPContext {
                                    int i, int len);
     void (*decorrelate)(float (*out)[2], float (*delay)[2],
                         float 
(*ap_delay)[PS_QMF_TIME_SLOTS+PS_MAX_AP_DELAY][2],
-                        const float phi_fract[2], float (*Q_fract)[2],
+                        const float phi_fract[2], const float (*Q_fract)[2],
                         const float *transient_gain,
                         float g_decay_slope,
                         int len);
-- 
1.7.9.5

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to