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