[FFmpeg-devel] [PATCH]Set bits_per_coded_sample when encoding MS ADPCM

Carl Eugen Hoyos cehoyos at ag.or.at
Mon Jul 11 01:35:39 CEST 2011


Hi!

The value is read on decoding, so imo, it makes sense to set it on encoding.

Please comment, Carl Eugen
-------------- next part --------------
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index ba31255..4e12993 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -198,6 +198,7 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx)
         avctx->frame_size = (BLKSIZE - 4 * avctx->channels) * 8 / (4 * avctx->channels) + 1; /* each 16 bits sample gives one nibble */
                                                              /* and we have 4 bytes per channel overhead */
         avctx->block_align = BLKSIZE;
+        avctx->bits_per_coded_sample = 4;
         /* seems frame_size isn't taken into account... have to buffer the samples :-( */
         break;
     case CODEC_ID_ADPCM_IMA_QT:
@@ -208,6 +209,7 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx)
         avctx->frame_size = (BLKSIZE - 7 * avctx->channels) * 2 / avctx->channels + 2; /* each 16 bits sample gives one nibble */
                                                              /* and we have 7 bytes per channel overhead */
         avctx->block_align = BLKSIZE;
+        avctx->bits_per_coded_sample = 4;
         avctx->extradata_size = 32;
         extradata = avctx->extradata = av_malloc(avctx->extradata_size);
         if (!extradata)


More information about the ffmpeg-devel mailing list