Free SemiLossy Audio Coder/Decoder (FSLAC), version 1.3.2

The following is a list of operational issues known to the author as of December 31, 2016, which are likely to occur when running the 32-bit Windows executable fslac.exe or a custom compile using the modified version of the C source file stream_encoder.c with active ECODIS_CVBR_MODE define. You can click on a list entry to obtain further details.

  1. Input bit-depths greater than 20 bit per sample are not supported.

  2. Command-line presets -0, -1, -2 and option -M are not supported.

  3. The bit-rate presets only range from -3 (low rate) to -8 (high rate).

  4. For some inputs, the output bit-rate is a bit higher than expected.

  5. Unicode (UTF-8) metadata are not yet supported (fslac.exe only).

ecodis

  1. Input bit-depths greater than 20 bit per sample are not supported.

    The reason is a potential accumulator overflow in the constrained variable bit-rate (CVBR) calculation, which may lead to incorrect results in terms of instantaneous output bit-rate. I am not going to modify the code to correct this issue. If you think you need 24 bit per sample, FSLAC is probably not for you, anyway, and I recommend you apply conventional, completely lossless compression, e.g. using FLAC.

  2. Command-line presets -0, -1, -2 and option -M are not supported.

    This is because the CVBR detector selecting the instantaneous bit-rate relies on the calculation of a linear prediction filter (see option -l) and, in case of two-channel input, requires both independent and mid-side channel coding to be attempted in every frame (see option -m). I will not modify the code to correct this issue. The remaining presets have become so fast that I consider -0 (or --fast), -1 and -2 obsolete.

  3. The bit-rate presets only range from -3 (low rate) to -8 (high rate).

    I restricted the preset range to a maximum value of 8, to allow compatibility with, e.g., (trans)coding through foobar2000, and a minimum value of 3, to ensure perceptually transparent coding even on "difficult" waveform input like tonal instrumental recordings. You can, however, simulate a -9 preset with the following (slow!) command-line: -8 -r 8 -A tukey(5e-1) -A partial_tukey(2) -A punchout_tukey(3) -A hann.

  4. For some inputs, the output bit-rate is a bit higher than expected.

    This is a side-effect of the fast CVBR detector implementation, which involves some very efficient rate estimations instead of actual slow computations. I have found this to happen with some noise signals. If you find a PCM/WAV file whose compressed output rate greatly exceeds the target bit-rate limit (as defined by the preset of your choice), please share it so I can verify that FSLAC is operating as intended.

  5. Unicode (UTF-8) metadata are not yet supported (fslac.exe only).

    This is due to an incomplete Windows build environment of mine, which currently does not support includes involving the windows.h header file. When using foobar2000 for (trans)coding, this does not seem to matter. In other use cases, using the command-line options --no-utf8-convert and/or --keep-foreign-metadata might circumvent the issue (due to a lack of such metadata I cannot verify this at the moment).

For FLAC-related issues inherited from Xiph.Org's reference libFLAC implementation, see https://xiph.org/flac/documentation_bugs.html (as of 2016, this only lists one minor Ogg-related issue).

Christian Helmrich, December 31, 2016.