[pulseaudio-discuss] [PATCH 04/10] remap: Add stereo to mono special case remapping

Tanu Kaskinen tanuk at iki.fi
Mon Apr 1 03:59:57 PDT 2013


On 04/01/2013 12:38 PM, Tanu Kaskinen wrote:
> On Fri, 2013-03-29 at 16:56 +0100, Peter Meerwald wrote:
>> +        case PA_SAMPLE_S16NE:
>> +        {
>> +            int16_t *d = (int16_t *) dst, *s = (int16_t *) src;
>> +
>> +            for (i = n>>  2; i>  0; i--) {
>> +                d[0] += (s[0] + s[1])/2;
>> +                d[1] += (s[2] + s[3])/2;
>> +                d[2] += (s[4] + s[5])/2;
>> +                d[3] += (s[6] + s[7])/2;
>
> You probably meant '=', not '+='?
>
> Also, s[0] + s[1] can overflow, so the inputs should be divided
> individually before summing.

Or the inputs could be cast to uint32_t, which I guess would be better
than dividing multiple times.

-- 
Tanu


More information about the pulseaudio-discuss mailing list