[FFmpeg-devel] [PATCH] Fix amrnb decoder scaling
Benjamin Larsson
banan
Sun May 2 22:33:54 CEST 2010
On 02/05/10 22:31, Martin Storsj? wrote:
> Hi,
>
> The output from the amrnb decoder is currently broken, since rev 22937. In
> that commit, this chunk removed both scaling and clipping, even if only
> clipping was intended to be removed:
>
> @@ -1048,10 +1046,6 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void *data, int *data_size
> 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
>
> The scaling factory is defined as:
> #define AMR_SAMPLE_SCALE (2.0 / 32768.0)
>
> This patch readds the loop, only scaling the output values, without any
> clipping.
>
> // Martin
I'm quite sure the scaling can be added to some other step, so the loop
wouldn't be needed.
MvH
Benjamin Larsson
More information about the ffmpeg-devel
mailing list