]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ALSA: add DSD formats
authorDaniel Mack <zonque@gmail.com>
Tue, 16 Apr 2013 16:01:36 +0000 (00:01 +0800)
committerTakashi Iwai <tiwai@suse.de>
Thu, 18 Apr 2013 08:02:33 +0000 (10:02 +0200)
commitef7a4f979bd8201324b2bcd30277c14aba889f50
tree7235f0aa55aca6d7e7f2d67210c640e9ff4b9ec4
parentd5657ec9f4ad048873f2682d8945905b29938f57
ALSA: add DSD formats

This patch adds two formats for Direct Stream Digital (DSD), a
pulse-density encoding format which is described here:
https://en.wikipedia.org/wiki/Direct_Stream_Digital

DSD operates on 2.8, 5.6 or 11.2MHz sample rates and as a 1-bit
stream.

The two new types added by this patch describe streams that are capable
of handling DSD samples in DOP format as 8-bit or in 16-bit (or at a x8
or x16 data rate, respectively).

DSD itself specifies samples in *bit*, while DOP and ALSA handle them
as *bytes*. Hence, a factor of 8 or 16 has to be applied for the sample
rare configuration, according to the following table:

                                                  configured hardware
        176.4KHz   352.8kHz   705.6KHz     <----       sample rate

8-bit                2.8MHz     5.6MHz
16-bit    2.8Mhz     5.6MHz    11.2MHz

         `-----------------------------'
             actual DSD sample rates

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/pcm.h
include/uapi/sound/asound.h
sound/core/pcm.c
sound/core/pcm_misc.c