Module: wine Branch: master Commit: 1a6d3c15830cb69a756fdaeda64d1fd8f6cc89c7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1a6d3c15830cb69a756fdaeda6...
Author: Andrew Eikum aeikum@codeweavers.com Date: Fri Dec 2 08:09:01 2016 -0600
imaadpcm32: Fix source offsets when converting stereo PCM to IMAADPCM.
Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/imaadp32.acm/imaadp32.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/dlls/imaadp32.acm/imaadp32.c b/dlls/imaadp32.acm/imaadp32.c index 4684f30..78a0ac4 100644 --- a/dlls/imaadp32.acm/imaadp32.c +++ b/dlls/imaadp32.acm/imaadp32.c @@ -431,29 +431,27 @@ static void cvtSS16imaK(PACMDRVSTREAMINSTANCE adsi, /* generate header */ sampleL = R16(src); src += 2; W16(dst, sampleL); dst += 2; - *dst = (unsigned char)(unsigned)stepIndexL; - dst += 2; + W16(dst, stepIndexL); dst += 2;
sampleR = R16(src); src += 2; W16(dst, sampleR); dst += 2; - *dst = (unsigned char)(unsigned)stepIndexR; - dst += 2; + W16(dst, stepIndexR); dst += 2;
for (nsamp = nsamp_blk; nsamp > 0; nsamp -= 8) { for (i = 0; i < 4; i++) { - code1 = generate_nibble(R16(src + (2 * i + 0) * 2 + 0), + code1 = generate_nibble(R16(src + (4 * i + 0) * 2), &stepIndexL, &sampleL); - code2 = generate_nibble(R16(src + (2 * i + 1) * 2 + 0), + code2 = generate_nibble(R16(src + (4 * i + 2) * 2), &stepIndexL, &sampleL); *dst++ = (code1 << 4) | code2; } for (i = 0; i < 4; i++) { - code1 = generate_nibble(R16(src + (2 * i + 0) * 2 + 1), + code1 = generate_nibble(R16(src + (4 * i + 1) * 2), &stepIndexR, &sampleR); - code2 = generate_nibble(R16(src + (2 * i + 1) * 2 + 1), + code2 = generate_nibble(R16(src + (4 * i + 3) * 2), &stepIndexR, &sampleR); *dst++ = (code1 << 4) | code2; }