New audio formats: 32 bit float (little and big endian).
authorAndre Noll <maan@tuebingen.mpg.de>
Sat, 8 Sep 2018 10:11:33 +0000 (12:11 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Sat, 12 Oct 2019 15:27:23 +0000 (17:27 +0200)
commit0e062fdee6aed6efe5be7fd1f07c5e81751620e6
tree28ca9b6d09468ac86f8e493f29ac8d316e706e6d
parent883d89370812478a7717f1ea16ca6eacf4ce4136
New audio formats: 32 bit float (little and big endian).

At least the little endian version seems to be popular these days. It
is only supported by ALSA, however. To check whether a given wave
file employs one of the two SF_FLOAT formats (aka IEEE float) we have
to consult the format code, a 16 bit integer stored at offset 20 of
the wave header which describes the waveform data according to the
table below.

0x0001 PCM
0x0003 IEEE float
0x0006 8-bit ITU-T G.711 A-law
0x0007 8-bit ITU-T G.711 MU-law
0xFFFE Determined by SubFormat

Additional checks are added to check_wav_post_select() which make
sure that the format code is either 1 or 3, and that the number is
compatible with the bits per sample value.
alsa_write.c
ao_write.c
check_wav.c
m4/lls/include/sample-format.m4
para.h