Author: titmuss
Date: Fri May 16 02:38:43 2008
New Revision: 2468

URL: http://svn.slimdevices.com?rev=2468&root=Jive&view=rev
Log:
Bug: N/A
Description:
Fix for Int32 to Int16 dithered converter to support clipping.


Modified:
    7.2/trunk/squeezeplay/src/portaudio_v19_1360/src/common/pa_converters.c

Modified: 
7.2/trunk/squeezeplay/src/portaudio_v19_1360/src/common/pa_converters.c
URL: 
http://svn.slimdevices.com/7.2/trunk/squeezeplay/src/portaudio_v19_1360/src/common/pa_converters.c?rev=2468&root=Jive&r1=2467&r2=2468&view=diff
==============================================================================
--- 7.2/trunk/squeezeplay/src/portaudio_v19_1360/src/common/pa_converters.c 
(original)
+++ 7.2/trunk/squeezeplay/src/portaudio_v19_1360/src/common/pa_converters.c Fri 
May 16 02:38:43 2008
@@ -961,13 +961,15 @@
 {
     PaInt32 *src = (PaInt32*)sourceBuffer;
     PaInt16 *dest =  (PaInt16*)destinationBuffer;
-    PaInt32 dither;
+    PaInt32 dither, dithered;
 
     while( count-- )
     {
         /* REVIEW */
         dither = PaUtil_Generate16BitTriangularDither( ditherGenerator );
-        *dest = (PaInt16) ((((*src)>>1) + dither) >> 15);
+       dithered = ((((*src)>>1) + (dither>>1)) >> 15);
+       PA_CLIP_( dithered, -0x8000, 0x7FFF );
+        *dest = (PaInt16) dithered;
 
         src += sourceStride;
         dest += destinationStride;

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/cgi-bin/mailman/listinfo/jive-checkins

Reply via email to