---<br> dlls/dsound/dsound_convert.c |  546 ------------------------------------------<br> 1 files changed, 0 insertions(+), 546 deletions(-)<br> delete mode 100644 dlls/dsound/dsound_convert.c<br><br>diff --git a/dlls/dsound/dsound_convert.c b/dlls/dsound/dsound_convert.c<br>
deleted file mode 100644<br>index 057ae16..0000000<br>--- a/dlls/dsound/dsound_convert.c<br>+++ /dev/null<br>@@ -1,546 +0,0 @@<br>-/* DirectSound format conversion and mixing routines<br>- *<br>- * Copyright 2007 Maarten Lankhorst<br>
- * Copyright 2011 Owen Rudge for CodeWeavers<br>- *<br>- * This library is free software; you can redistribute it and/or<br>- * modify it under the terms of the GNU Lesser General Public<br>- * License as published by the Free Software Foundation; either<br>
- * version 2.1 of the License, or (at your option) any later version.<br>- *<br>- * This library is distributed in the hope that it will be useful,<br>- * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU<br>- * Lesser General Public License for more details.<br>- *<br>- * You should have received a copy of the GNU Lesser General Public<br>- * License along with this library; if not, write to the Free Software<br>
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA<br>- */<br>-<br>-/* 8 bits is unsigned, the rest is signed.<br>- * First I tried to reuse existing stuff from alsa-lib, after that<br>- * didn&#39;t work, I gave up and just went for individual hacks.<br>
- *<br>- * 24 bit is expensive to do, due to unaligned access.<br>- * In dlls/winex11.drv/dib_convert.c convert_888_to_0888_asis there is a way<br>- * around it, but I&#39;m happy current code works, maybe something for later.<br>
- *<br>- * The ^ 0x80 flips the signed bit, this is the conversion from<br>- * signed (-128.. 0.. 127) to unsigned (0...255)<br>- * This is only temporary: All 8 bit data should be converted to signed.<br>- * then when fed to the sound card, it should be converted to unsigned again.<br>
- *<br>- * Sound is LITTLE endian<br>- */<br>-<br>-#include &quot;config.h&quot;<br>-<br>-#include &lt;stdarg.h&gt;<br>-<br>-#define NONAMELESSSTRUCT<br>-#define NONAMELESSUNION<br>-#include &quot;windef.h&quot;<br>-#include &quot;winbase.h&quot;<br>
-#include &quot;mmsystem.h&quot;<br>-#include &quot;winternl.h&quot;<br>-#include &quot;wine/debug.h&quot;<br>-#include &quot;dsound.h&quot;<br>-#include &quot;dsdriver.h&quot;<br>-#include &quot;dsound_private.h&quot;<br>
-<br>-WINE_DEFAULT_DEBUG_CHANNEL(dsound);<br>-<br>-#ifdef WORDS_BIGENDIAN<br>-#define le16(x) RtlUshortByteSwap((x))<br>-#define le32(x) RtlUlongByteSwap((x))<br>-#else<br>-#define le16(x) (x)<br>-#define le32(x) (x)<br>-#endif<br>
-<br>-static inline void src_advance(const void **src, UINT stride, INT *count, UINT *freqAcc, UINT adj)<br>-{<br>-    *freqAcc += adj;<br>-    if (*freqAcc &gt;= (1 &lt;&lt; DSOUND_FREQSHIFT))<br>-    {<br>-        ULONG adv = (*freqAcc &gt;&gt; DSOUND_FREQSHIFT);<br>
-        *freqAcc &amp;= (1 &lt;&lt; DSOUND_FREQSHIFT) - 1;<br>-        *(const char **)src += adv * stride;<br>-        *count -= adv;<br>-    }<br>-}<br>-<br>-static void convert_8_to_8 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        *(BYTE *)dst = *(const BYTE *)src;<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>
-    }<br>-}<br>-<br>-static void convert_8_to_16 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        WORD dest = *(const BYTE *)src, *dest16 = dst;<br>
-        *dest16 = le16(dest * 257 - 32768);<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_8_to_24 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        BYTE dest = *(const BYTE *)src;<br>-        BYTE *dest24 = dst;<br>-        dest24[0] = dest;<br>-        dest24[1] = dest;<br>
-        dest24[2] = dest - 0x80;<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_8_to_32 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD dest = *(const BYTE *)src, *dest32 = dst;<br>-        *dest32 = le32(dest * 16843009 - 2147483648U);<br>
-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_16_to_8 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        BYTE *dst8 = dst;<br>-        *dst8 = (le16(*(const WORD *)src)) / 256;<br>-        *dst8 -= 0x80;<br>-<br>
-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_16_to_16 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        *(WORD *)dst = *(const WORD *)src;<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>
-    }<br>-}<br>-<br>-static void convert_16_to_24 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        WORD dest = le16(*(const WORD *)src);<br>
-        BYTE *dest24 = dst;<br>-<br>-        dest24[0] = dest / 256;<br>-        dest24[1] = dest;<br>-        dest24[2] = dest / 256;<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>
-    }<br>-}<br>-<br>-static void convert_16_to_32 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD dest = *(const WORD *)src, *dest32 = dst;<br>
-        *dest32 = dest * 65537;<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_24_to_8 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        BYTE *dst8 = dst;<br>-        *dst8 = ((const BYTE *)src)[2];<br>-<br>-        dst = (char *)dst + dst_stride;<br>
-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_24_to_16 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>
-{<br>-    while (count &gt; 0)<br>-    {<br>-        WORD *dest16 = dst;<br>-        const BYTE *source = src;<br>-        *dest16 = le16(source[2] * 256 + source[1]);<br>-<br>-        dst = (char *)dst + dst_stride;<br>
-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_24_to_24 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>
-{<br>-    while (count &gt; 0)<br>-    {<br>-        BYTE *dest24 = dst;<br>-        const BYTE *src24 = src;<br>-<br>-        dest24[0] = src24[0];<br>-        dest24[1] = src24[1];<br>-        dest24[2] = src24[2];<br>
-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_24_to_32 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD *dest32 = dst;<br>-        const BYTE *source = src;<br>-        *dest32 = le32(source[2] * 16777217 + source[1] * 65536 + source[0] * 256);<br>
-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_32_to_8 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        BYTE *dst8 = dst;<br>-        *dst8 = (le32(*(const DWORD *)src) / 16777216);<br>-        *dst8 -= 0x80;<br>
-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_32_to_16 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        WORD *dest16 = dst;<br>-        *dest16 = le16(le32(*(const DWORD *)src) / 65536);<br>-<br>-        dst = (char *)dst + dst_stride;<br>
-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_32_to_24 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>
-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD dest = le32(*(const DWORD *)src);<br>-        BYTE *dest24 = dst;<br>-<br>-        dest24[0] = dest / 256;<br>-        dest24[1] = dest / 65536;<br>-        dest24[2] = dest / 16777216;<br>
-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_32_to_32 (const void *src, void *dst, UINT src_stride,<br>
-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD *dest = dst;<br>-        *dest = *(const DWORD *)src;<br>-<br>-        dst = (char *)dst + dst_stride;<br>
-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>-static void convert_ieee_32_to_8 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>
-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD src_le = le32(*(DWORD *) src);<br>-        float v = *((float *) &amp;src_le);<br>-        INT8 d = 0;<br>-<br>-        if (v &lt; -1.0f)<br>-            d = -128;<br>
-        else if (v &gt;  1.0f)<br>-            d = 127;<br>-        else<br>-            d = v * 127.5f - 0.5f;<br>-<br>-        *(BYTE *) dst = d ^ 0x80;<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>
-    }<br>-}<br>-<br>-static void convert_ieee_32_to_16 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD src_le = le32(*(DWORD *) src);<br>
-        float v = *((float *) &amp;src_le);<br>-<br>-        INT16 *d = (INT16 *) dst;<br>-<br>-        if (v &lt; -1.0f)<br>-            *d = -32768;<br>-        else if (v &gt;  1.0f)<br>-            *d = 32767;<br>-        else<br>
-            *d = v * 32767.5f - 0.5f;<br>-<br>-        *d = le16(*d);<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>-    }<br>-}<br>-<br>
-static void convert_ieee_32_to_24 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD src_le = le32(*(DWORD *) src);<br>
-        float v = *((float *) &amp;src_le);<br>-        BYTE *dest24 = dst;<br>-<br>-        if (v &lt; -1.0f)<br>-        {<br>-            dest24[0] = 0;<br>-            dest24[1] = 0;<br>-            dest24[2] = 0x80;<br>
-        }<br>-        else if (v &gt; 1.0f)<br>-        {<br>-            dest24[0] = 0xff;<br>-            dest24[1] = 0xff;<br>-            dest24[2] = 0x7f;<br>-        }<br>-        else if (v &lt; 0.0f)<br>-        {<br>
-            dest24[0] = v * 8388608.0f;<br>-            dest24[1] = v * 32768.0f;<br>-            dest24[2] = v * 128.0f;<br>-        }<br>-        else if (v &gt;= 0.0f)<br>-        {<br>-            dest24[0] = v * 8388608.0f;<br>
-            dest24[1] = v * 32768.0f;<br>-            dest24[2] = v * 127.0f;<br>-        }<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>
-    }<br>-}<br>-<br>-static void convert_ieee_32_to_32 (const void *src, void *dst, UINT src_stride,<br>-        UINT dst_stride, INT count, UINT freqAcc, UINT adj)<br>-{<br>-    while (count &gt; 0)<br>-    {<br>-        DWORD src_le = le32(*(DWORD *) src);<br>
-        float v = *((float *) &amp;src_le);<br>-        INT32 *d = (INT32 *) dst;<br>-<br>-        if (v &lt; -1.0f)<br>-            *d = -2147483647 - 1; /* silence warning */<br>-        else if (v &gt;  1.0f)<br>-            *d = 2147483647;<br>
-        else<br>-            *d = v * 2147483647.5f - 0.5f;<br>-<br>-        *d = le32(*d);<br>-<br>-        dst = (char *)dst + dst_stride;<br>-        src_advance(&amp;src, src_stride, &amp;count, &amp;freqAcc, adj);<br>
-    }<br>-}<br>-<br>-const bitsconvertfunc convertbpp[5][4] = {<br>-    { convert_8_to_8, convert_8_to_16, convert_8_to_24, convert_8_to_32 },<br>-    { convert_16_to_8, convert_16_to_16, convert_16_to_24, convert_16_to_32 },<br>
-    { convert_24_to_8, convert_24_to_16, convert_24_to_24, convert_24_to_32 },<br>-    { convert_32_to_8, convert_32_to_16, convert_32_to_24, convert_32_to_32 },<br>-    { convert_ieee_32_to_8, convert_ieee_32_to_16, convert_ieee_32_to_24, convert_ieee_32_to_32 },<br>
-};<br>-<br>-static void mix8(signed char *src, INT *dst, unsigned len)<br>-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    while (len--)<br>-        /* 8-bit WAV is unsigned, it&#39;s here converted to signed, normalize function will convert it back again */<br>
-        *(dst++) += (signed char)((BYTE)*(src++) - (BYTE)0x80);<br>-}<br>-<br>-static void mix16(SHORT *src, INT *dst, unsigned len)<br>-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    len /= 2;<br>-    while (len--)<br>
-    {<br>-        *dst += le16(*src);<br>-        ++dst; ++src;<br>-    }<br>-}<br>-<br>-static void mix24(BYTE *src, INT *dst, unsigned len)<br>-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    len /= 3;<br>
-    while (len--)<br>-    {<br>-        DWORD field;<br>-        field = ((DWORD)src[2] &lt;&lt; 16) + ((DWORD)src[1] &lt;&lt; 8) + (DWORD)src[0];<br>-        if (src[2] &amp; 0x80)<br>-            field |= 0xFF000000U;<br>
-        *(dst++) += field;<br>-        ++src;<br>-    }<br>-}<br>-<br>-static void mix32(INT *src, LONGLONG *dst, unsigned len)<br>-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    len /= 4;<br>-    while (len--)<br>
-        *(dst++) += le32(*(src++));<br>-}<br>-<br>-const mixfunc mixfunctions[4] = {<br>-    (mixfunc)mix8,<br>-    (mixfunc)mix16,<br>-    (mixfunc)mix24,<br>-    (mixfunc)mix32<br>-};<br>-<br>-static void norm8(INT *src, signed char *dst, unsigned len)<br>
-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    while (len--)<br>-    {<br>-        *dst = (*src) + 0x80;<br>-        if (*src &lt; -0x80)<br>-            *dst = 0;<br>-        else if (*src &gt; 0x7f)<br>
-            *dst = 0xff;<br>-        ++dst;<br>-        ++src;<br>-    }<br>-}<br>-<br>-static void norm16(INT *src, SHORT *dst, unsigned len)<br>-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    len /= 2;<br>
-    while (len--)<br>-    {<br>-        *dst = le16(*src);<br>-        if (*src &lt;= -0x8000)<br>-            *dst = le16(0x8000);<br>-        else if (*src &gt; 0x7fff)<br>-            *dst = le16(0x7fff);<br>-        ++dst;<br>
-        ++src;<br>-    }<br>-}<br>-<br>-static void norm24(INT *src, BYTE *dst, unsigned len)<br>-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    len /= 3;<br>-    while (len--)<br>-    {<br>-        if (*src &lt;= -0x800000)<br>
-        {<br>-            dst[0] = 0;<br>-            dst[1] = 0;<br>-            dst[2] = 0x80;<br>-        }<br>-        else if (*src &gt; 0x7fffff)<br>-        {<br>-            dst[0] = 0xff;<br>-            dst[1] = 0xff;<br>
-            dst[2] = 0x7f;<br>-        }<br>-        else<br>-        {<br>-            dst[0] = *src;<br>-            dst[1] = *src &gt;&gt; 8;<br>-            dst[2] = *src &gt;&gt; 16;<br>-        }<br>-        ++dst;<br>
-        ++src;<br>-    }<br>-}<br>-<br>-static void norm32(LONGLONG *src, INT *dst, unsigned len)<br>-{<br>-    TRACE(&quot;%p - %p %d\n&quot;, src, dst, len);<br>-    len /= 4;<br>-    while (len--)<br>-    {<br>-        *dst = le32(*src);<br>
-        if (*src &lt;= -(LONGLONG)0x80000000)<br>-            *dst = le32(0x80000000);<br>-        else if (*src &gt; 0x7fffffff)<br>-            *dst = le32(0x7fffffff);<br>-        ++dst;<br>-        ++src;<br>-    }<br>
-}<br>-<br>-const normfunc normfunctions[4] = {<br>-    (normfunc)norm8,<br>-    (normfunc)norm16,<br>-    (normfunc)norm24,<br>-    (normfunc)norm32,<br>-};<br>-- <br>1.7.2.3<br><br><br>