[FFmpeg-cvslog] r19237 - in trunk: libavcodec/adpcm.c tests/rotozoom.regression.ref tests/vsynth.regression.ref
cehoyos
subversion
Sat Jun 20 15:07:21 CEST 2009
Author: cehoyos
Date: Sat Jun 20 15:07:21 2009
New Revision: 19237
Log:
Fix yamaha adpcm stereo (issue 1117).
Patch by Yoshihisa Uchida, yoshihisa D uchida A gmail
Modified:
trunk/libavcodec/adpcm.c
trunk/tests/rotozoom.regression.ref
trunk/tests/vsynth.regression.ref
Modified: trunk/libavcodec/adpcm.c
==============================================================================
--- trunk/libavcodec/adpcm.c Sat Jun 20 14:52:48 2009 (r19236)
+++ trunk/libavcodec/adpcm.c Sat Jun 20 15:07:21 2009 (r19237)
@@ -648,14 +648,11 @@ static int adpcm_encode_frame(AVCodecCon
*dst++ = buf[0][i] | (buf[1][i] << 4);
}
} else
- for (; n>0; n--) {
- for(i = 0; i < avctx->channels; i++) {
- int nibble;
- nibble = adpcm_yamaha_compress_sample(&c->status[i], samples[i]);
- nibble |= adpcm_yamaha_compress_sample(&c->status[i], samples[i+avctx->channels]) << 4;
- *dst++ = nibble;
- }
- samples += 2 * avctx->channels;
+ for (n *= avctx->channels; n>0; n--) {
+ int nibble;
+ nibble = adpcm_yamaha_compress_sample(&c->status[ 0], *samples++);
+ nibble |= adpcm_yamaha_compress_sample(&c->status[st], *samples++) << 4;
+ *dst++ = nibble;
}
break;
default:
Modified: trunk/tests/rotozoom.regression.ref
==============================================================================
--- trunk/tests/rotozoom.regression.ref Sat Jun 20 14:52:48 2009 (r19236)
+++ trunk/tests/rotozoom.regression.ref Sat Jun 20 15:07:21 2009 (r19237)
@@ -193,10 +193,10 @@ stddev: 914.63 PSNR: 37.09 bytes: 1058
268344 ./tests/data/a-adpcm_ms.wav
7be370f937c51e8a967e6a3d08d5156a *./tests/data/adpcm_ms.rotozoom.out.wav
stddev: 1050.00 PSNR: 35.90 bytes: 1060620/ 1058444
-14df8b8bb7c127ec70c0167df1c0dbf7 *./tests/data/a-adpcm_yam.wav
+2546d72df736b5ffa1557e8c9c9ef788 *./tests/data/a-adpcm_yam.wav
266296 ./tests/data/a-adpcm_yam.wav
-2f73107dafef6db42e545f9e466d3f05 *./tests/data/adpcm_yam.rotozoom.out.wav
-stddev:18302.45 PSNR: 11.07 bytes: 1065004/ 1058444
+c80c847a53a0fee17a88fa889ec34a4e *./tests/data/adpcm_yam.rotozoom.out.wav
+stddev: 1247.64 PSNR: 34.40 bytes: 1065004/ 1058444
42d4639866ed4d692eaf126228a4fa2a *./tests/data/a-adpcm_swf.flv
269166 ./tests/data/a-adpcm_swf.flv
628089745a7059ae4055c2515b6d668b *./tests/data/adpcm_swf.rotozoom.out.wav
Modified: trunk/tests/vsynth.regression.ref
==============================================================================
--- trunk/tests/vsynth.regression.ref Sat Jun 20 14:52:48 2009 (r19236)
+++ trunk/tests/vsynth.regression.ref Sat Jun 20 15:07:21 2009 (r19237)
@@ -193,10 +193,10 @@ stddev: 914.63 PSNR: 37.09 bytes: 1058
268344 ./tests/data/a-adpcm_ms.wav
7be370f937c51e8a967e6a3d08d5156a *./tests/data/adpcm_ms.vsynth.out.wav
stddev: 1050.00 PSNR: 35.90 bytes: 1060620/ 1058444
-14df8b8bb7c127ec70c0167df1c0dbf7 *./tests/data/a-adpcm_yam.wav
+2546d72df736b5ffa1557e8c9c9ef788 *./tests/data/a-adpcm_yam.wav
266296 ./tests/data/a-adpcm_yam.wav
-2f73107dafef6db42e545f9e466d3f05 *./tests/data/adpcm_yam.vsynth.out.wav
-stddev:18302.45 PSNR: 11.07 bytes: 1065004/ 1058444
+c80c847a53a0fee17a88fa889ec34a4e *./tests/data/adpcm_yam.vsynth.out.wav
+stddev: 1247.64 PSNR: 34.40 bytes: 1065004/ 1058444
42d4639866ed4d692eaf126228a4fa2a *./tests/data/a-adpcm_swf.flv
269166 ./tests/data/a-adpcm_swf.flv
628089745a7059ae4055c2515b6d668b *./tests/data/adpcm_swf.vsynth.out.wav
More information about the ffmpeg-cvslog
mailing list