[Scummvm-cvs-logs] CVS: residual smush.cpp,1.24,1.25 sound.cpp,1.6,1.7 vima.cpp,1.2,1.3
Pawel Kolodziejski
aquadran at users.sourceforge.net
Sun Feb 22 00:36:00 CET 2004
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.110,1.111
- Next message: [Scummvm-cvs-logs] CVS: tools extract-common.c,1.5,1.6 extract.c,1.37,1.38 extract.h,1.9,1.10 queenrebuild.c,1.9,1.10 simon2mp3.c,1.29,1.30
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28046
Modified Files:
smush.cpp sound.cpp vima.cpp
Log Message:
each thread has own decompress temporary table
Index: smush.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/smush.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- smush.cpp 22 Feb 2004 06:42:56 -0000 1.24
+++ smush.cpp 22 Feb 2004 08:22:31 -0000 1.25
@@ -67,14 +67,15 @@
_blocky16.decode(_dst, src);
}
-void decompressVima(const char *src, int16 *dest, int destLen);
-void vimaInit();
+static uint16 destTable[5786];
+void vimaInit(uint16 *destTable);
+void decompressVima(const char *src, int16 *dest, int destLen, uint16 *destTable);
extern SoundMixer *g_mixer;
void Smush::handleWave(const byte *src, uint32 size) {
int16 *dst = new int16[size * _channels];
- decompressVima((char *)src, dst, size * _channels * 2);
+ decompressVima((char *)src, dst, size * _channels * 2, destTable);
for (uint32 j = 0; j < size * _channels; j++)
dst[j] = SWAP_BYTES_16(dst[j]);
@@ -150,7 +151,7 @@
} else if (READ_BE_UINT32(f_header + pos) == MKID_BE('Wave')) {
_freq = READ_LE_UINT32(f_header + pos + 8);
_channels = READ_LE_UINT32(f_header + pos + 12);
- vimaInit();
+ vimaInit(destTable);
pos += 20;
} else {
error("unknown tag");
Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/sound.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- sound.cpp 1 Feb 2004 10:48:44 -0000 1.6
+++ sound.cpp 22 Feb 2004 08:22:31 -0000 1.7
@@ -426,11 +426,12 @@
a = val;
}
-void vimaInit();
-void decompressVima(const char *src, int16 *dest, int destLen);
+static uint16 destTable[5786];
+void vimaInit(uint16 *destTable);
+void decompressVima(const char *src, int16 *dest, int destLen, uint16 *destTable);
void Sound::init() {
- vimaInit();
+ vimaInit(destTable);
}
Sound::Sound(const char *filename, const char *data, int /* len */) :
@@ -484,7 +485,7 @@
"VIMA") != 0)
error("Unsupported codec %s\n",
codecsStart + 5 * *(uint8 *)(data + 6 + i * 9));
- decompressVima(srcPos, destPos, READ_BE_UINT32(data + 7 + i * 9));
+ decompressVima(srcPos, destPos, READ_BE_UINT32(data + 7 + i * 9), destTable);
srcPos += READ_BE_UINT32(data + 11 + i * 9);
destPos += READ_BE_UINT32(data + 7 + i * 9) / 2;
}
Index: vima.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/vima.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- vima.cpp 21 Feb 2004 17:16:51 -0000 1.2
+++ vima.cpp 22 Feb 2004 08:22:31 -0000 1.3
@@ -94,9 +94,7 @@
imcOtherTable4, imcOtherTable5, imcOtherTable6
};
-static uint16 destTable[5786];
-
-void vimaInit() {
+void vimaInit(uint16 *destTable) {
int destTableStartPos, incer;
for (destTableStartPos = 0, incer = 0; destTableStartPos < 64; destTableStartPos++, incer++) {
unsigned int destTablePos, imcTable1Pos;
@@ -114,7 +112,7 @@
}
}
-void decompressVima(const char *src, int16 *dest, int destLen) {
+void decompressVima(const char *src, int16 *dest, int destLen, uint16 *destTable) {
int numChannels = 1;
uint8 sBytes[2];
int16 sWords[2];
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.110,1.111
- Next message: [Scummvm-cvs-logs] CVS: tools extract-common.c,1.5,1.6 extract.c,1.37,1.38 extract.h,1.9,1.10 queenrebuild.c,1.9,1.10 simon2mp3.c,1.29,1.30
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list