[alsa-devel] Backported sbxfi driver, possible fix
Takashi Iwai
tiwai at suse.de
Mon Oct 27 07:36:29 CET 2008
At Mon, 27 Oct 2008 10:15:07 +0500,
Alexander E. Patrakov wrote:
>
> Takashi Iwai wrote:
> > A few important features are in my mind:
> > - continuous rate support
>
> In the sources, you have:
>
> > Note: 44.1kHz is possible, but is more complex because it uses a method
> > whereby the channel ring marks each sample in the channel ring as valid
> > or not, so to get 44.1kHz, some samples are simply tagged invalid. The
> > "channel ring" is not the ring buffer that is used to get sound samples
> > to the card. The "channel ring" is used to pass samples between
> > different processing modules on the card. One of these processing
> > modules is the SRC, another is the INs/OUTs, another is the hardware
> > mixer, and yet another is the DSP.
>
> Do I understand correctly that the card internally resamples the sound
> to a different rate using the zero-order-hold method? If so, I'd rather
> not see this feature at all unless the "i_want_horrible_sound" parameter
> is passed, because software can do it better, and some program will
> surely default to using this hardware misfeature.
Likely it's a wrong guess. emu20k1 has the following register bits.
# define SRCCTL_PITCH_ROM (3<<11) /* pitch ROM select */
# define SRCCTL_PITCH_HIGH (0<<11) /* 0 to 8.0: very high quality */
# define SRCCTL_PITCH_EXT_HIGH (1<<11) /* 0.26 to 1.72: extermely high qual.*/
# define SRCCTL_PITCH_88kHZ (2<<11) /* 1.8375: 88.2kHz 48kHz */
# define SRCCTL_PITCH_96KHZ (3<<11) /* 2.0: 96kHz 48kHz */
Takashi
More information about the Alsa-devel
mailing list