24-Bit PCM
24-bit linear PCM is stored in blocks. Each block is divided into two parts. The first part contains the most significant two bytes of each channel for two samples in big endian order:
< --- sample 1 --- > < --- sample 2 --- > T0 M0 T1 M1 ... Tx Mx T0 M0 T1 M1 ... Tx Mx
The second part contains all least significant bytes of each channel for the two samples in the same order:
< sample 1 > < sample 2 > B0 B1 ... Bx B0 B1 ... Bx
The complete block looks like this:
< --- sample 1 --- > < --- sample 2 --- > < sample 1 > < sample 2 > T0 M0 T1 M1 ... Tx Mx T0 M0 T1 M1 ... Tx Mx B0 B1 ... Bx B0 B1 ... Bx
- T = top byte = bits 23..16
- M = middle byte = bits 15..8
- B = bottom byte = bits 7..0
linking :