fixing the remaning block-align checks

Originally committed as revision 2438 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2003-10-26 09:56:21 +00:00
parent ca1d62f45d
commit 5c69a4fd68
1 changed files with 6 additions and 12 deletions

View File

@ -648,12 +648,9 @@ static int adpcm_decode_frame(AVCodecContext *avctx,
} }
break; break;
case CODEC_ID_ADPCM_IMA_DK4: case CODEC_ID_ADPCM_IMA_DK4:
if (buf_size > BLKSIZE) { if (avctx->block_align != 0 && buf_size > avctx->block_align)
if (avctx->block_align != 0) buf_size = avctx->block_align;
buf_size = avctx->block_align;
else
buf_size = BLKSIZE;
}
c->status[0].predictor = (src[0] | (src[1] << 8)); c->status[0].predictor = (src[0] | (src[1] << 8));
c->status[0].step_index = src[2]; c->status[0].step_index = src[2];
src += 4; src += 4;
@ -687,12 +684,9 @@ static int adpcm_decode_frame(AVCodecContext *avctx,
} }
break; break;
case CODEC_ID_ADPCM_IMA_DK3: case CODEC_ID_ADPCM_IMA_DK3:
if (buf_size > BLKSIZE) { if (avctx->block_align != 0 && buf_size > avctx->block_align)
if (avctx->block_align != 0) buf_size = avctx->block_align;
buf_size = avctx->block_align;
else
buf_size = BLKSIZE;
}
c->status[0].predictor = (src[10] | (src[11] << 8)); c->status[0].predictor = (src[10] | (src[11] << 8));
c->status[1].predictor = (src[12] | (src[13] << 8)); c->status[1].predictor = (src[12] | (src[13] << 8));
c->status[0].step_index = src[14]; c->status[0].step_index = src[14];