Author: akhaldi Date: Sun Sep 17 22:54:07 2017 New Revision: 75879 URL: http://svn.reactos.org/svn/reactos?rev=75879&view=rev Log: [IMAADP32.ACM] Sync with Wine Staging 2.16. CORE-13762
0f0fb98 imaadp32.acm: Fix nibble ordering. 2a1c1a4 imaadp32.acm: Fix block size calculations. Modified: trunk/reactos/dll/win32/imaadp32.acm/imaadp32.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/imaadp32.acm/imaadp32.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/imaadp32.acm/imaadp32.c?rev=75879&r1=75878&r2=75879&view=diff ============================================================================== --- trunk/reactos/dll/win32/imaadp32.acm/imaadp32.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/imaadp32.acm/imaadp32.c [iso-8859-1] Sun Sep 17 22:54:07 2017 @@ -156,7 +156,7 @@ } pwfx->cbSize = sizeof(WORD); - awfx->wSamplesPerBlock = (pwfx->nBlockAlign - (4 * pwfx->nChannels) * 2) / pwfx->nChannels + 1; + awfx->wSamplesPerBlock = (pwfx->nBlockAlign - (4 * pwfx->nChannels)) * (2 / pwfx->nChannels) + 1; pwfx->nAvgBytesPerSec = (pwfx->nSamplesPerSec * pwfx->nBlockAlign) / awfx->wSamplesPerBlock; } @@ -447,7 +447,7 @@ &stepIndexL, &sampleL); code2 = generate_nibble(R16(src + (4 * i + 2) * 2), &stepIndexL, &sampleL); - *dst++ = (code1 << 4) | code2; + *dst++ = (code2 << 4) | code1; } for (i = 0; i < 4; i++) { @@ -455,7 +455,7 @@ &stepIndexR, &sampleR); code2 = generate_nibble(R16(src + (4 * i + 3) * 2), &stepIndexR, &sampleR); - *dst++ = (code1 << 4) | code2; + *dst++ = (code2 << 4) | code1; } src += 32; } @@ -511,7 +511,7 @@ src += 2; code2 = generate_nibble(R16(src), &stepIndex, &sample); src += 2; - *dst++ = (code1 << 4) | code2; + *dst++ = (code2 << 4) | code1; } dst = in_dst + adsi->pwfxDst->nBlockAlign; } @@ -633,14 +633,7 @@ afd->pwfx->nChannels = ADPCM_Formats[afd->dwFormatIndex].nChannels; afd->pwfx->nSamplesPerSec = ADPCM_Formats[afd->dwFormatIndex].rate; afd->pwfx->wBitsPerSample = ADPCM_Formats[afd->dwFormatIndex].nBits; - afd->pwfx->nBlockAlign = 1024; - /* we got 4 bits per sample */ - afd->pwfx->nAvgBytesPerSec = - (afd->pwfx->nSamplesPerSec * 4) / 8; - if (afd->cbwfx >= sizeof(WAVEFORMATEX)) - afd->pwfx->cbSize = sizeof(WORD); - if (afd->cbwfx >= sizeof(IMAADPCMWAVEFORMAT)) - ((IMAADPCMWAVEFORMAT*)afd->pwfx)->wSamplesPerBlock = (1024 - 4 * afd->pwfx->nChannels) * (2 / afd->pwfx->nChannels) + 1; + init_wfx_ima_adpcm((IMAADPCMWAVEFORMAT *)afd->pwfx); break; default: WARN("Unsupported tag %08x\n", afd->dwFormatTag); Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=75879&r1=75878&r2=75879&view=diff ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sun Sep 17 22:54:07 2017 @@ -75,7 +75,7 @@ reactos/dll/win32/httpapi # Synced to WineStaging-2.9 reactos/dll/win32/iccvid # Synced to WineStaging-2.9 reactos/dll/win32/ieframe # Synced to WineStaging-2.9 -reactos/dll/win32/imaadp32.acm # Synced to WineStaging-2.9 +reactos/dll/win32/imaadp32.acm # Synced to WineStaging-2.16 reactos/dll/win32/imagehlp # Synced to WineStaging-2.9 reactos/dll/win32/imm32 # Synced to Wine-1.7.27 reactos/dll/win32/inetcomm # Synced to WineStaging-2.9