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.


Anyway, nobody has complained about my changes to _get_triple_*/
get16_1230_B2/put16_labels/gets_*/put_*, so I think these can be
committed now.
Takashi?


Clemens


-------------------------------------------------------
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