[alsa-devel] 24 bit sample embedded in 32 bits

Clemens Ladisch clemens at ladisch.de
Mon Jul 2 13:01:21 CEST 2012


Vipin Kumar wrote:
> I assume that the alsa framework expects the 24 bit sample data to be
> packed one after the other.

ALSA expects the sample data to conform to whatever sample format has
been configured.

Most hardware uses 32-bit sample words in memory to make the
interface to the PCI bus easier.

> I need to find a way to tell the framework that the data is 24bit
> but is embedded in 32 bit.

(HH = highest byte, LL = lowest byte, MM = middle byte)

LL MM HH     SNDRV_PCM_FORMAT_S24_3LE
xx LL MM HH  SNDRV_PCM_FORMAT_S32_LE
LL MM HH xx  SNDRV_PCM_FORMAT_S24_LE
HH MM LL     SNDRV_PCM_FORMAT_S24_3BE
HH MM LL xx  SNDRV_PCM_FORMAT_S32_BE
xx HH MM LL  SNDRV_PCM_FORMAT_S24_BE


Regards,
Clemens


More information about the Alsa-devel mailing list