[Scummvm-cvs-logs] CVS: tools compress_san.cpp,1.27,1.28

Pawel Kolodziejski aquadran at users.sourceforge.net
Tue Dec 28 11:06:01 CET 2004


Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15290

Modified Files:
	compress_san.cpp 
Log Message:
it fix two bugs: right channel was not volume apply while mixing, and second proper order of interpolation of 11025 hz while mising

Index: compress_san.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_san.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- compress_san.cpp	21 Dec 2004 23:11:58 -0000	1.27
+++ compress_san.cpp	28 Dec 2004 19:05:25 -0000	1.28
@@ -287,14 +287,14 @@
 					uint16 val = (*src++ - 0x80) << 8;
 					*buf++ = (byte)val;
 					*buf++ = (byte)(val >> 8);
-					if (!_audioTracks[l].stereo) {
+					if (_audioTracks[l].freq == 11025) {
 						*buf++ = (byte)val;
 						*buf++ = (byte)(val >> 8);
 					}
-					if (_audioTracks[l].freq == 11025) {
+					if (!_audioTracks[l].stereo) {
 						*buf++ = (byte)val;
 						*buf++ = (byte)(val >> 8);
-						if (!_audioTracks[l].stereo) {
+						if (_audioTracks[l].freq == 11025) {
 							*buf++ = (byte)val;
 							*buf++ = (byte)(val >> 8);
 						}
@@ -314,35 +314,31 @@
 					value = ((((v2 & 0x0f) << 8) | v1) << 4) - 0x8000;
 					*decoded++ = (byte)(value & 0xff);
 					*decoded++ = (byte)((value >> 8) & 0xff);
+					if (_audioTracks[l].freq == 11025) {
+						*decoded++ = (byte)(value & 0xff);
+						*decoded++ = (byte)((value >> 8) & 0xff);
+					}
 					if (!_audioTracks[l].stereo) {
-						decoded[0] = decoded[-2];
-						decoded[1] = decoded[-1];
-						decoded += 2;
+						*decoded++ = (byte)(value & 0xff);
+						*decoded++ = (byte)((value >> 8) & 0xff);
+						if (_audioTracks[l].freq == 11025) {
+							*decoded++ = (byte)(value & 0xff);
+							*decoded++ = (byte)((value >> 8) & 0xff);
+						}
 					}
 					value = ((((v2 & 0xf0) << 4) | v3) << 4) - 0x8000;
 					*decoded++ = (byte)(value & 0xff);
 					*decoded++ = (byte)((value >> 8) & 0xff);
-					if (!_audioTracks[l].stereo) {
-						decoded[0] = decoded[-2];
-						decoded[1] = decoded[-1];
-						decoded += 2;
-					}
 					if (_audioTracks[l].freq == 11025) {
-						value = ((((v2 & 0x0f) << 8) | v1) << 4) - 0x8000;
 						*decoded++ = (byte)(value & 0xff);
 						*decoded++ = (byte)((value >> 8) & 0xff);
-						if (!_audioTracks[l].stereo) {
-							decoded[0] = decoded[-2];
-							decoded[1] = decoded[-1];
-							decoded += 2;
-						}
-						value = ((((v2 & 0xf0) << 4) | v3) << 4) - 0x8000;
+					}
+					if (!_audioTracks[l].stereo) {
 						*decoded++ = (byte)(value & 0xff);
 						*decoded++ = (byte)((value >> 8) & 0xff);
-						if (!_audioTracks[l].stereo) {
-							decoded[0] = decoded[-2];
-							decoded[1] = decoded[-1];
-							decoded += 2;
+						if (_audioTracks[l].freq == 11025) {
+							*decoded++ = (byte)(value & 0xff);
+							*decoded++ = (byte)((value >> 8) & 0xff);
 						}
 					}
 				}
@@ -431,6 +427,7 @@
 					int32 tmpSampleL = *(int16 *)(tmpBuf + offset + r + 0);
 					int32 tmpSampleR = *(int16 *)(tmpBuf + offset + r + 2);
 					tmpSampleL = (tmpSampleL * volume) / 255;
+					tmpSampleR = (tmpSampleR * volume) / 255;
 					clampedAdd(wavSampleL, tmpSampleL);
 					clampedAdd(wavSampleR, tmpSampleR);
 					*(int16 *)(wavBuf + offset + r + 0) = wavSampleL;





More information about the Scummvm-git-logs mailing list