mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-09 13:15:18 -05:00
Implements double-buffered volume, balance and prescaling control in the main PCM driver when HAVE_SW_VOLUME_CONTROL is defined ensuring that all PCM is volume controlled and level changes are low in latency. Supports -73 to +6 dB using a 15-bit factor so that no large-integer math is needed. Low-level hardware drivers do not have to implement it themselves but parameters can be changed (currently defined in pcm-internal.h) to work best with a particular SoC or to provide different volume ranges. Volume and prescale calls should be made in the codec driver. It should appear as a normal hardware interface. PCM volume calls expect .1 dB units. Change-Id: Idf6316a64ef4fb8abcede10707e1e6c6d01d57db Reviewed-on: http://gerrit.rockbox.org/423 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org> |
||
|---|---|---|
| .. | ||
| onda_vx747 | ||
| onda_vx767 | ||
| app.lds | ||
| ata-nand-jz4740.c | ||
| ata-sd-jz4740.c | ||
| backlight-target.h | ||
| boot.lds | ||
| codec-jz4740.c | ||
| crt0.S | ||
| debug-jz4740.c | ||
| dma_acc-jz4740.c | ||
| fmradio-i2c-jz4740.c | ||
| i2c-jz4740.c | ||
| kernel-jz4740.c | ||
| lcd-jz4740.c | ||
| lcd-target.h | ||
| pcm-jz4740.c | ||
| system-jz4740.c | ||
| system-target.h | ||
| timer-jz4740.c | ||
| usb-jz4740.c | ||