On Mon, 12 Mar 2012, Marc-Andr? Lureau wrote:

> On Mon, Mar 12, 2012 at 10:11 PM, malc <av1...@comtv.ru> wrote:
> >> AUD_set_volume_out (SWVoiceOut *sw, int mute, uint8_t lvol..)
> >>
> >> sw->vol.l = nominal_volume.l * lvol / 255;
> >>
> >> So the range was [0..2^8-1] and then it becomes [0..2^32], which looks
> >> wrong to me.
> >
> > It actually becomes [-2^63..2^63-1] nominal_volume.l being 64 bit signed
> > and all.
> 
> uint8_t [0..255] / 255 * 2^32 = [0..2^32]
> 

nominal_volume.[lr] is int64_t... i don't get where you take this ^32
from.
 

> >> And Spice uses [0..2^16-1]. So it is simpler to stay within the range
> >> of an integer..
> >
> > I do not get you, i really don't.
> 
> The audio hw volume range is within a uint8 [0..2^8-1] that is then
> scaled into a [0..2^32], it would be easier to stay within a
> [0..2^n-1] range all the way.
> 
> 
> 

-- 
mailto:av1...@comtv.ru

Reply via email to