Output packet size should match avctx->block_align. The target output packet size is 1024 bytes. Before: mono - 1024 samples -> 512 bytes stereo - 2048 samples -> 2048 bytes After: mono - 2048 samples -> 1024 bytes stereo - 1024 samples -> 1024 bytes
Unified · Split
| @@ -122,7 +122,7 @@ static av_cold int adpcm_encode_init(AVCodecContext *avctx) · 121 unmodified lines | |||
| 122 | } | 122 | } |
| 123 | break; | 123 | break; |
| 124 | case CODEC_ID_ADPCM_YAMAHA: | 124 | case CODEC_ID_ADPCM_YAMAHA: |
| 125 | avctx->frame_size = BLKSIZE * avctx->channels; | 125 | avctx->frame_size = BLKSIZE * 2 / avctx->channels; |
| 126 | avctx->block_align = BLKSIZE; | 126 | avctx->block_align = BLKSIZE; |
| 127 | break; | 127 | break; |
| 128 | case CODEC_ID_ADPCM_SWF: | 128 | case CODEC_ID_ADPCM_SWF: |
| @@ -1,4 +1,4 @@ | |||
| 1 | 006f8dc92eb4f7bab82eded314ca1124 *./tests/data/acodec/adpcm_yam.wav | 1 | e9c14f701d25947317db9367b9dc772d *./tests/data/acodec/adpcm_yam.wav |
| 2 | 266298 ./tests/data/acodec/adpcm_yam.wav | 2 | 265274 ./tests/data/acodec/adpcm_yam.wav |
| 3 | c36a9d5a1e0ad57fbe9665a31373b7c1 *./tests/data/adpcm_yam.acodec.out.wav | 3 | 1488b5974fa040a65f0d407fc0224c6a *./tests/data/adpcm_yam.acodec.out.wav |
| 4 | stddev: 1247.60 PSNR: 34.41 MAXDIFF:39895 bytes: 1064960/ 1058400 | 4 | stddev: 1247.60 PSNR: 34.41 MAXDIFF:39895 bytes: 1060864/ 1058400 |