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