diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-11-27 13:39:52 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-11-27 13:39:52 +0100 |
commit | 2684d2e3ea8a1a2863ae9842d072341b44b09829 (patch) | |
tree | 3d116023d439f92f473480c8f68f6d27f9f62344 /libavcodec/aacdec.c | |
parent | 257196209fe7d27ad22e18bf5757ffcad47dce6b (diff) | |
parent | 284ea790d89441fa1e6b2d72d3c1ed6d61972f0b (diff) | |
download | ffmpeg-2684d2e3ea8a1a2863ae9842d072341b44b09829.tar.gz |
Merge commit '284ea790d89441fa1e6b2d72d3c1ed6d61972f0b'
* commit '284ea790d89441fa1e6b2d72d3c1ed6d61972f0b':
dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutil
aacenc: use the correct output buffer
aacdec: fix signed overflows in lcg_random()
base64: fix signed overflow in shift
Conflicts:
libavcodec/dsputil.c
libavutil/base64.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/aacdec.c')
-rw-r--r-- | libavcodec/aacdec.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 2519584740..719426c8e4 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -819,7 +819,8 @@ static int decode_audio_specific_config(AACContext *ac, */ static av_always_inline int lcg_random(unsigned previous_val) { - return previous_val * 1664525 + 1013904223; + union { unsigned u; int s; } v = { previous_val * 1664525u + 1013904223 }; + return v.s; } static av_always_inline void reset_predict_state(PredictorState *ps) @@ -1394,7 +1395,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024], band_energy = ac->dsp.scalarproduct_float(cfo, cfo, off_len); scale = sf[idx] / sqrtf(band_energy); - ac->dsp.vector_fmul_scalar(cfo, cfo, scale, off_len); + ac->fdsp.vector_fmul_scalar(cfo, cfo, scale, off_len); } } else { const float *vq = ff_aac_codebook_vector_vals[cbt_m1]; @@ -1540,7 +1541,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024], } } while (len -= 2); - ac->dsp.vector_fmul_scalar(cfo, cfo, sf[idx], off_len); + ac->fdsp.vector_fmul_scalar(cfo, cfo, sf[idx], off_len); } } @@ -1764,10 +1765,10 @@ static void apply_intensity_stereo(AACContext *ac, ChannelElement *cpe, int ms_p c *= 1 - 2 * cpe->ms_mask[idx]; scale = c * sce1->sf[idx]; for (group = 0; group < ics->group_len[g]; group++) - ac->dsp.vector_fmul_scalar(coef1 + group * 128 + offsets[i], - coef0 + group * 128 + offsets[i], - scale, - offsets[i + 1] - offsets[i]); + ac->fdsp.vector_fmul_scalar(coef1 + group * 128 + offsets[i], + coef0 + group * 128 + offsets[i], + scale, + offsets[i + 1] - offsets[i]); } } else { int bt_run_end = sce1->band_type_run_end[idx]; |