--- 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