Clemens Ladisch wrote:
> 
> Abramo Bagnara wrote:
> > Clemens Ladisch wrote:
> > > Abramo Bagnara wrote:
> > > > Use of 32/64 bits for 24/32 bit is wanted. Take in account that this
> > > > function is called on mix results (where I need to avoid wrap before
> > > > normalization).
> > >
> > > Then it should use bigger types for 8/16 bits, too. Checking for a type
> > > to overflow its own valid range seems to be rather pointless to me.
> >
> > It *does* use bigger types.
> 
> In rev. 1.14 of plugin_ops.h, the beginning of the _norms() function is:
> 
>         switch (src_wid) {
>         case 8:
>                 s = *(int8_t*)src;
>                 if (s >= 0x7f)
>                         goto _max;
>                 else if (s <= -0x80)
>                         goto _min;
>                 break;
>         case 16:
>                 s = *(int16_t*)src;
>                 if (s >= 0x7fff)
>                         goto _max;
>                 else if (s <= -0x8000)
>                         goto _min;
>                 break;
> 
> The reads through the src pointer _are_ using 8 and 16 bits.

Now I see... thank you. I've fixed it now.


-- 
Abramo Bagnara                       mailto:[EMAIL PROTECTED]

Opera Unica                          Phone: +39.546.656023
Via Emilia Interna, 140
48014 Castel Bolognese (RA) - Italy


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Stuff, things, and much much more.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to