Mercurial > libavcodec.hg
diff amrnbdec.c @ 11652:8b6f3d3b55cb libavcodec
Move clipping of audio samples (for those codecs outputting float) from decoder
to the audio conversion routines.
author | rbultje |
---|---|
date | Wed, 21 Apr 2010 17:57:48 +0000 |
parents | 0516f4062307 |
children | ceec2fb08b8e |
line wrap: on
line diff
--- a/amrnbdec.c Wed Apr 21 17:51:37 2010 +0000 +++ b/amrnbdec.c Wed Apr 21 17:57:48 2010 +0000 @@ -796,7 +796,7 @@ float fixed_gain, const float *fixed_vector, float *samples, uint8_t overflow) { - int i, overflow_temp = 0; + int i; float excitation[AMR_SUBFRAME_SIZE]; // if an overflow has been detected, the pitch vector is scaled down by a @@ -831,12 +831,10 @@ // detect overflow for (i = 0; i < AMR_SUBFRAME_SIZE; i++) if (fabsf(samples[i]) > AMR_SAMPLE_BOUND) { - overflow_temp = 1; - samples[i] = av_clipf(samples[i], -AMR_SAMPLE_BOUND, - AMR_SAMPLE_BOUND); + return 1; } - return overflow_temp; + return 0; } /// @} @@ -1048,10 +1046,6 @@ highpass_poles, highpass_gain, p->high_pass_mem, AMR_BLOCK_SIZE); - for (i = 0; i < AMR_BLOCK_SIZE; i++) - buf_out[i] = av_clipf(buf_out[i] * AMR_SAMPLE_SCALE, - -1.0, 32767.0 / 32768.0); - /* Update averaged lsf vector (used for fixed gain smoothing). * * Note that lsf_avg should not incorporate the current frame's LSFs