On Fri, 12 Jan 2018, Takashi Iwai wrote: > > The ALSA softvol plugin has a maximum gain of 50 dB (MAX_DB_UPPER_LIMIT is > > fixed to 50 in pcm/pcm_softvol.c). Is there some technical reason for this > > limit? These days when >16 bit audio is becoming common, it's not > > unreasonable to have large gain figures, and that is in fact a usecase I > > have right now. > > > > I'm looking through the CONVERT_AREA and MULTI_DIV_foo macros to see if > > there's something there that degenerates when the gain factor becomes too > > large, but I'd thought I'd ask too rather than just do reverse > > engineering. > > There is no more reason than "some reasonable limit". Ok, my suggestion would be set MAX_DB_UPPER_LIMIT to 90 dB. 90 dB comes out as 31622, which still is manageable when shifted up by VOL_SCALE_SHIFT (= 16), fitting in a 32-bit int. Thus it works in MULTI_DIV_short() too, where it is multiplied with the 16-bit sample value yielding an int. I'll try it out and prepare a patch. /Ricard -- Ricard Wolf Wanderlöf ricardw(at)axis.com Axis Communications AB, Lund, Sweden www.axis.com Phone +46 46 272 2016 Fax +46 46 13 61 30 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel