Fixes for ADPCM decoding.
David D. Hagood
wowbagger at sktc.net
Sun Jun 9 21:55:21 CDT 2002
Gads. I knew better than that. Sorry, diff -u attached.
Changelog:
ADPCM nybble processing order was incorrect.
-------------- next part --------------
? console/Makefile
? controls/Makefile
? files/Makefile
? graphics/Makefile
? graphics/enhmetafiledrv/Makefile
? graphics/metafiledrv/Makefile
? graphics/win16drv/Makefile
? graphics/win16drv/prtdrv.glue.c
? graphics/x11drv/Makefile
? if1632/Makefile
? if1632/relay16.s
? libtest/Makefile
? loader/Makefile
? loader/ne/Makefile
? memory/Makefile
? misc/Makefile
? msdos/Makefile
? relay32/Makefile
? scheduler/Makefile
? win32/Makefile
? windows/Makefile
? windows/x11drv/Makefile
? windows/x11drv/wineclipsrv
Index: dlls/msacm/imaadp32/imaadp32.c
===================================================================
RCS file: /home/wine/wine/dlls/msacm/imaadp32/imaadp32.c,v
retrieving revision 1.5
diff -u -r1.5 imaadp32.c
--- dlls/msacm/imaadp32/imaadp32.c 31 May 2002 23:25:48 -0000 1.5
+++ dlls/msacm/imaadp32/imaadp32.c 10 Jun 2002 02:53:41 -0000
@@ -284,16 +284,16 @@
{
for (i = 0; i < 4; i++)
{
- process_nibble(*src >> 4, &stepIndexL, &sampleL);
+ process_nibble(*src, &stepIndexL, &sampleL);
W16(dst + (2 * i + 0) * 4 + 0, sampleL);
- process_nibble(*src++, &stepIndexL, &sampleL);
+ process_nibble(*src++ >> 4, &stepIndexL, &sampleL);
W16(dst + (2 * i + 1) * 4 + 0, sampleL);
}
for (i = 0; i < 4; i++)
{
- process_nibble(*src >> 4, &stepIndexR, &sampleR);
+ process_nibble(*src , &stepIndexR, &sampleR);
W16(dst + (2 * i + 0) * 4 + 2, sampleR);
- process_nibble(*src++, &stepIndexR, &sampleR);
+ process_nibble(*src++ >>4, &stepIndexR, &sampleR);
W16(dst + (2 * i + 1) * 4 + 2, sampleR);
}
dst += 32;
@@ -335,9 +335,9 @@
for (nsamp = nsamp_blk; nsamp > 0; nsamp -= 2)
{
- process_nibble(*src >> 4, &stepIndex, &sample);
+ process_nibble(*src, &stepIndex, &sample);
W16(dst, sample); dst += 2;
- process_nibble(*src++, &stepIndex, &sample);
+ process_nibble(*src++ >> 4, &stepIndex, &sample);
W16(dst, sample); dst += 2;
}
/* we have now to realign the source pointer on block */
More information about the wine-patches
mailing list