At Fri, 10 Aug 2012 08:44:12 +0000, Fujikawa, Kazutoshi wrote:
Hello, Takashi. Thank you for your replay.
0x00123456 (MSB 0(or 0xFF) padding)
This is the correct S24_LE representation.
I record a sound file by arecord command on Ubuntu. (% arecord -f S24_LE -r 48000 -c 2 ubuntu_rec_S24_LE_48000.wav )
Then this file was created, and it was LSB 0 padding. So I think that S24_LE format is LSB 0 padding.
% od -t x4 ubuntu_rec_S24_LE_48000.wav 0000000 46464952 003a9824 45564157 20746d66 0000010 00000010 00020001 0000bb80 0005dc00 0000020 00180008 61746164 003a9800 ffffbf00 0000030 ffffc300 ffffc600 ffffca00 ffffd300 0000040 ffffd600 ffffdc00 ffffe000 ffffe000 0000050 ffffe400 ffffea00 ffffeb00 fffff800 0000060 fffffa00 00000400 00000500 00001000 0000070 00000f00 00001600 00001700 00001500
Do you know why this file is LSB 0 padding?
It depends on what format is used in the original PCM stream. It'd make sense to have 00 in LSB if it was converted from 16 to 24bit.
Takashi