[alsa-devel] what is the difference between SNDRV_PCM_FMTBIT_S24_LE and SNDRV_PCM_FMTBIT_S24_3LE
Clemens Ladisch
clemens at ladisch.de
Thu Apr 11 11:35:57 CEST 2013
(please do not drop the mailing list from replies.)
Zhang wei wrote:
> I do not really understand. For example,an codec is wm8985 ...
The SNDRV_PCM_* symbols specify the format in which samples are
stored in memory.
I do not know how ASoC maps these symbols to on-the-wire formats.
>>Most devices that support 24 bits use SNDRV_PCM_FORMAT_S32_LE, which
>>stores the sample's bits in the upper bits of a 32-bit word.
>
> But how to distinguish the SNDRV_PCM_FORMAT_S24_LE and the REAL
> SNDRV_PCM_FORMAT_S32_LE?
If a 24-bit sample with the value 0x123456 is stored in memory, it looks
like this:
SNDRV_PCM_FORMAT_S24_LE: 56 34 12 00
SNDRV_PCM_FORMAT_S32_LE: 00 56 34 12
Regards,
Clemens
More information about the Alsa-devel
mailing list