[FFmpeg-devel] [PATCH] Fix amrnb decoder scaling

Martin Storsjö martin
Sun May 2 23:24:26 CEST 2010


Hi,

On Sun, 2 May 2010, Ronald S. Bultje wrote:

> On May 2, 2010, at 4:33 PM, Benjamin Larsson <banan at ludd.ltu.se> wrote:
> > On 02/05/10 22:31, Martin Storsj? wrote:
> >>
> >> 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);
> >
> > I'm quite sure the scaling can be added to some other step, so the  
> > loop wouldn't be needed.
> 
> Yes, multiply it with highpass_gain in the function call before.

Thanks! Yes, that works just as well, see the attached.

// Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-amrnbdec-Apply-AMR_SAMPLE_SCALE-when-finishing-the-d.patch
Type: text/x-diff
Size: 1127 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100503/6e9b341a/attachment.patch>



More information about the ffmpeg-devel mailing list