On Tue, Feb 28, 2012 at 08:56:11PM +0100, Kostya Shishkov wrote:
> On Tue, Feb 28, 2012 at 11:54:14AM -0800, Alex Converse wrote:
> > Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
> > ---
> >  libavcodec/adpcm.c |   16 ++++++++--------
> >  1 files changed, 8 insertions(+), 8 deletions(-)
> > 
> > diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
> > index bd86ab0..0dde676 100644
> > --- a/libavcodec/adpcm.c
> > +++ b/libavcodec/adpcm.c
[...]
> > @@ -1125,7 +1125,7 @@ static int adpcm_decode_frame(AVCodecContext *avctx, 
> > void *data,
> >          while (get_bits_count(&gb) <= size - 22*avctx->channels) {
> >              for (i = 0; i < avctx->channels; i++) {
> >                  *samples++ = c->status[i].predictor = get_sbits(&gb, 16);
> > -                c->status[i].step_index = get_bits(&gb, 6);
> > +                c->status[i].step_index = av_clip(get_bits(&gb, 6), 0, 88);
> 
> this one is stupid, and IIRC some ADPCM variants had reduced step table

I've checked to be sure - clipping seems to be okay (except for the last
chunk). Just remove it and commit.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to