From ee4aa388b2231e988eccdab652c55df080d6ad45 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Wed, 15 Feb 2017 12:36:24 +0100 Subject: adpcm: fix clipping for yamaha According to specification max value allowed is 0x6000. Fixes #5862. Signed-off-by: Paul B Mahol --- libavcodec/adpcmenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavcodec/adpcmenc.c') diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c index 36974fd953..668939c778 100644 --- a/libavcodec/adpcmenc.c +++ b/libavcodec/adpcmenc.c @@ -258,7 +258,7 @@ static inline uint8_t adpcm_yamaha_compress_sample(ADPCMChannelStatus *c, c->predictor += ((c->step * ff_adpcm_yamaha_difflookup[nibble]) / 8); c->predictor = av_clip_int16(c->predictor); c->step = (c->step * ff_adpcm_yamaha_indexscale[nibble]) >> 8; - c->step = av_clip(c->step, 127, 24567); + c->step = av_clip(c->step, 127, 24576); return nibble; } @@ -415,7 +415,7 @@ static void adpcm_compress_trellis(AVCodecContext *avctx, } else { //AV_CODEC_ID_ADPCM_YAMAHA LOOP_NODES(yamaha, step, av_clip((step * ff_adpcm_yamaha_indexscale[nibble]) >> 8, - 127, 24567)); + 127, 24576)); #undef LOOP_NODES #undef STORE_NODE } -- cgit v1.2.3