avcodec/adpcm: clip step for ADPCM MTAF decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2016-09-15 17:24:40 +02:00
parent 4d677c7ae3
commit b82c1a377a
1 changed files with 2 additions and 2 deletions

View File

@ -909,8 +909,8 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
case AV_CODEC_ID_ADPCM_MTAF: case AV_CODEC_ID_ADPCM_MTAF:
for (channel = 0; channel < avctx->channels; channel+=2) { for (channel = 0; channel < avctx->channels; channel+=2) {
bytestream2_skipu(&gb, 4); bytestream2_skipu(&gb, 4);
c->status[channel ].step = bytestream2_get_le16u(&gb); c->status[channel ].step = bytestream2_get_le16u(&gb) & 0x1f;
c->status[channel + 1].step = bytestream2_get_le16u(&gb); c->status[channel + 1].step = bytestream2_get_le16u(&gb) & 0x1f;
c->status[channel ].predictor = sign_extend(bytestream2_get_le16u(&gb), 16); c->status[channel ].predictor = sign_extend(bytestream2_get_le16u(&gb), 16);
bytestream2_skipu(&gb, 2); bytestream2_skipu(&gb, 2);
c->status[channel + 1].predictor = sign_extend(bytestream2_get_le16u(&gb), 16); c->status[channel + 1].predictor = sign_extend(bytestream2_get_le16u(&gb), 16);