diff --git a/libavcodec/adpcmenc.c b/libavcodec/adpcmenc.c index 6295eedc55..2a117f4aae 100644 --- a/libavcodec/adpcmenc.c +++ b/libavcodec/adpcmenc.c @@ -86,6 +86,8 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) FF_ALLOC_OR_GOTO(avctx, s->trellis_hash, 65536 * sizeof(*s->trellis_hash), error); } + avctx->bits_per_coded_sample = av_get_bits_per_sample(avctx->codec->id); + switch(avctx->codec->id) { case CODEC_ID_ADPCM_IMA_WAV: avctx->frame_size = (BLKSIZE - 4 * avctx->channels) * 8 / (4 * avctx->channels) + 1; /* each 16 bits sample gives one nibble */ diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 9f198cb32a..8459e5f870 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1121,6 +1121,8 @@ int av_get_bits_per_sample(enum CodecID codec_id){ case CODEC_ID_ADPCM_SBPRO_4: case CODEC_ID_ADPCM_CT: case CODEC_ID_ADPCM_IMA_WAV: + case CODEC_ID_ADPCM_IMA_QT: + case CODEC_ID_ADPCM_SWF: case CODEC_ID_ADPCM_MS: case CODEC_ID_ADPCM_YAMAHA: return 4;