mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
pcm: add and describe SND_PCM_FORMAT_{S, U}20
This patch adds and describes in various functions that query format
properties SND_PCM_FORMAT_{S,U}20 formats that were recently added to the
kernel as SNDRV_PCM_FORMAT_{S,U}20.
These formats are similar to existing 20-bit PCM formats
SND_PCM_FORMAT_{S,U}20_3, however they occupy 4 bytes instead of 3.
Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
22e6b3c200
commit
d67e42c139
4 changed files with 70 additions and 5 deletions
|
|
@ -175,6 +175,14 @@ typedef enum _snd_pcm_format {
|
|||
SND_PCM_FORMAT_MPEG,
|
||||
/** GSM */
|
||||
SND_PCM_FORMAT_GSM,
|
||||
/** Signed 20bit Little Endian in 4bytes format, LSB justified */
|
||||
SND_PCM_FORMAT_S20_LE,
|
||||
/** Signed 20bit Big Endian in 4bytes format, LSB justified */
|
||||
SND_PCM_FORMAT_S20_BE,
|
||||
/** Unsigned 20bit Little Endian in 4bytes format, LSB justified */
|
||||
SND_PCM_FORMAT_U20_LE,
|
||||
/** Unsigned 20bit Big Endian in 4bytes format, LSB justified */
|
||||
SND_PCM_FORMAT_U20_BE,
|
||||
/** Special */
|
||||
SND_PCM_FORMAT_SPECIAL = 31,
|
||||
/** Signed 24bit Little Endian in 3bytes format */
|
||||
|
|
@ -239,7 +247,11 @@ typedef enum _snd_pcm_format {
|
|||
/** Float 64 bit CPU endian */
|
||||
SND_PCM_FORMAT_FLOAT64 = SND_PCM_FORMAT_FLOAT64_LE,
|
||||
/** IEC-958 CPU Endian */
|
||||
SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_LE
|
||||
SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_LE,
|
||||
/** Signed 20bit in 4bytes format, LSB justified, CPU Endian */
|
||||
SND_PCM_FORMAT_S20 = SND_PCM_FORMAT_S20_LE,
|
||||
/** Unsigned 20bit in 4bytes format, LSB justified, CPU Endian */
|
||||
SND_PCM_FORMAT_U20 = SND_PCM_FORMAT_U20_LE,
|
||||
#elif __BYTE_ORDER == __BIG_ENDIAN
|
||||
/** Signed 16 bit CPU endian */
|
||||
SND_PCM_FORMAT_S16 = SND_PCM_FORMAT_S16_BE,
|
||||
|
|
@ -258,7 +270,11 @@ typedef enum _snd_pcm_format {
|
|||
/** Float 64 bit CPU endian */
|
||||
SND_PCM_FORMAT_FLOAT64 = SND_PCM_FORMAT_FLOAT64_BE,
|
||||
/** IEC-958 CPU Endian */
|
||||
SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_BE
|
||||
SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_BE,
|
||||
/** Signed 20bit in 4bytes format, LSB justified, CPU Endian */
|
||||
SND_PCM_FORMAT_S20 = SND_PCM_FORMAT_S20_BE,
|
||||
/** Unsigned 20bit in 4bytes format, LSB justified, CPU Endian */
|
||||
SND_PCM_FORMAT_U20 = SND_PCM_FORMAT_U20_BE,
|
||||
#else
|
||||
#error "Unknown endian"
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue