[alsa-devel] SNDRV_PCM_FMTBIT_S24_LE vs. SNDRV_PCM_FMTBIT_S24_3LE
What is the difference between SNDRV_PCM_FMTBIT_S24_LE and SNDRV_PCM_FMTBIT_S24_3LE?
Timur Tabi wrote:
What is the difference between SNDRV_PCM_FMTBIT_S24_LE and SNDRV_PCM_FMTBIT_S24_3LE?
SNDRV_PCM_FMTBIT_S24_LE is 24bit audio padded to fill 4 bytes. SNDRV_PCM_FMTBIT_S24_3LE is 24bit audio with no padding, thus taking only 3 types.
------------ Původní zpráva ------------
What is the difference between SNDRV_PCM_FMTBIT_S24_LE and SNDRV_PCM_FMTBIT_S24_3LE?
The asound.h says S24_LE is stored in lower three bytes of four, whereas S24_3LE is stored in three bytes total.
Pavel.
-- Timur Tabi Linux Kernel Developer @ Freescale _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
dustin@seznam.cz wrote:
What is the difference between SNDRV_PCM_FMTBIT_S24_LE and SNDRV_PCM_FMTBIT_S24_3LE?
The asound.h says S24_LE is stored in lower three bytes of four, whereas S24_3LE is stored in three bytes total.
To use a sample format with 24 bits stored in the upper three bytes of four, use S32_LE. In that case, you have to call "snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24)" in the PCM open callback to tell ALSA that some of the lower bits aren't used.
HTH Clemens
participants (4)
-
Clemens Ladisch
-
dustin@seznam.cz
-
James Courtier-Dutton
-
Timur Tabi