On Tue, 12 Sep 2017 09:02:47 +0200, Clemens Ladisch wrote: > > Jörg Krause wrote: > > The i.MX6UL has a Synchronous Audio Interface (SAI), where the data in > > the FIFO can be aligned anywhere within the 32-bit wide register > > through the use of the First Bit Shifted configuration field. In the > > corresponding Linux SAI driver the FBS field is set the way that data > > alignment for 24-bit data is: > > > > 31 30 29 28 | 27 26 25 24 | 23 22 21 20 | .. | 3 2 1 0 > > ## ## ## ## ## ## ## ## [ DATA[23:0] ] > > This indeed is S24_LE. > > Which is an extremely uncommon format. If possible, the driver should > be changed to align to the sample's MSB to the memory word's MSB, and > then label it as S32_LE. > > >> S24_LE cannot be handled with the same algorithm as S32_LE. > > To be precise: the sign in bit 23 must be preserved. I guess the simple calculation with S24_LE using the current code would work as long as the upper 8 bits are ignored by hardware. The upper 8 bits would hold bogus bits, and clearing this would be an extra action we'd need in addition. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel