Log message:
flac: updated to 1.4.3
FLAC 1.4.3 (23-Jun-2023)
As there have been additions to the libFLAC interfaces, the libFLAC version \
number is incremented to 13. The libFLAC++ version number stays at 10.
* General
* All PowerPC-specific code has been removed, as it turned out those \
improvements didn't actually improve anything
* Large improvements in encoder speed for all presets. The largest \
change is for the fastest presets and for 24-bit and 32-bit inputs.
* Small improvement in decoder speed for BMI2-capable CPUs
* Various documentation fixes and cleanups (Mark Grassi, Jake Schmidt)
* Various fixes (Ozkan Sezer, Zhipeng Xue, orbea, Sam James, Harish \
Mahendrakar)
* Fix building on Universal Windows Platform (Dmitry Kostjučenko)
* flac
* A lot of small fixes for bugs found by fuzzing
* Various improvements to the --keep-foreign-metadata and \
--keep-foreign-metadata-if-present options on decoding
* The output format (WAV/AIFF/RF64 etc.) is now automatically \
selected based on what kind of foreign metadata is stored
* Decoded file is checked afterwards, to see whether stored \
foreign format data agrees with FLAC audio properties
* AIFF-C sowt data can now be restored
* Add --force-legacy-wave-format option, to decode to WAV with \
WAVEFORMATPCM where WAVE_FORMAT_EXTENSIBLE would be more appropriate
* Add --force-aiff-c-none-format and --force-aiff-c-sowt-format to \
decode to AIFF-C
* The storage of WAVEFORMATEXTENSIBLE_CHANNEL_MASK is no longer \
restricted to known channel orderings
* Throw an error when WAV or AIFF files are over 4GiB in length and the \
--ignore-chunk-sizes option is not set
* Warn on testing files when ID3v2 tags are found
* Warn when data trails the audio data of a WAV/AIFF/RF64/W64 file
* Fix output file not being deleted after error on Windows
* Removal of the --sector--align option
* metaflac
* A lot of small fixes for bugs found by fuzzing
* Added options --append and --data-format, which makes it possible to \
copy metadata blocks from one FLAC file to another
* Added option --remove-all-tags-except
* Added option --show-all-tags (harridu, Martijn van Beurden)
* libFLAC
* No longer write seektables to Ogg, even when specifically asked for. \
Seektables in Ogg are not defined
* Add functions FLAC__metadata_object_set_raw and \
FLAC__metadata_object_get_raw to convert between blob and FLAC__StreamMetadata
* Build system
* Autoconf (configure)
* The option --enable-64-bit-words is now on by default
* CMake
* The option ENABLE_64_BIT_WORDS is now on by default
* Testing/validation
* Fuzzers were added for the flac and metaflac command line tools
* Fuzzer coverage was improved
|
Log message:
flac: update to 1.4.0.
## FLAC 1.4.0
As there have been changes to the library interfaces, the libFLAC version number \
is incremented to 12, the libFLAC++ version number is incremented to 10. As some \
changes were breaking, the version age numbers (see [libtool \
versioning](https://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning)) \
have been reset to 0. For more details on the changes to the API, see the \
[porting \
guide](https://xiph.org/flac/api/group__porting__1__3__4__to__1__4__0.html).
The XMMS plugin and 'common' plugin code (used only by the XMMS plugin) are \
deprecated, they will be removed in a future release.
* General:
* It is now possible to limit the minimum bitrate of a FLAC file generated \
by libFLAC and with the `flac` tool to 1 bit/sample. This function can be used \
to aid live streaming, for example for internet radio
* Encoding files with sample rates up to 1'048'575Hz is now possible. (Con \
Kolivas)
* Compression of preset -3 through -8 was slightly improved at the cost of a \
small decrease in encoding speed by increasing the precision with which \
autocorrelation was calculated (Martijn van Beurden)
* Encoding speed of preset -0, -1 and -2 was slightly improved
* Compression of presets -1 and -4 was slighly improved on certain material \
by changing the adaptive mid-side heuristics
* Speedups specifically targeting 64-bit ARMv8 devices using NEON were \
integrated (Ronen Gvili, Martijn van Beurden)
* Speedups for x86_64 CPUs having the FMA instruction set extention are added
* Encoding and decoding of 32-bit PCM is now possible
* (Ogg) FLAC format:
* The FLAC format document is being rewritten by the IETF CELLAR working \
group. The latest draft can be found on \
[https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/](https://datatracker.ietf.org/doc/draft-ietf-cellar-flac/)
* The FLAC format document specifies no bounds for the residual. In other to \
match current decoder implementations, it is proposed to bound the residual to \
the range provided by a 32-bit int signed two's complement. This limit must be \
checked by FLAC encoders as to keep FLAC decoders free from the complexity of \
being to decode a residual exceeding a 32-bit int.
* There is now a set of files available to test whether a FLAC decoder \
implements the format correctly. This FLAC decoder testbench can be found at \
[https://github.com/ietf-wg-cellar/flac-test-files](https://github.com/ietf-wg-cellar/flac-test-files). \
Also, results of testing hard- and software can be found here at \
[https://wiki.hydrogenaud.io/index.php?title=FLAC_decoder_testbench](https://wiki.hydrogenaud.io/index.php?title=FLAC_decoder_testbench).
* flac:
* The option --limit-min-bitrate was added to aid streaming, see [github \
#264](https://github.com/xiph/flac/pull/264)
* The option --keep-foreign-metadata-if-present is added. This option works \
the same as --keep-foreign-metadata, but does return a warning instead of an \
error if no foreign metadata was found to store or restore
* The warning returned by the foreign metadata handling is now clearer in \
case a user tries to restore foreign metadata of the wrong type, for example \
decoding a FLAC file containing AIFF foreign metadata to a WAV file
* A problem when using the analyse function causing the first frame to have \
a wrong size and offset was fixed
* Fix bug where channel mask of a file is unintentionally reused when \
several files are processed with one command
* The order of compression-related commands is no longer important, i.e. \
-8ep gives the same result as -ep8. Previously, a compression level (like -8) \
would override a more specific setting (like -e or -p). This is no longer the \
case
* flac now checks the block-align property of WAV files to ensure \
non-standard WAV files (for which flac has no handling) are not mangled
* metaflac:
* (none)
* build system:
* MSVC and Makefile.lite build system files have been removed. Building with \
MSVC (Visual Studio) can be done by using CMake
* Various CMake improvements, especially for creating MSVC build files \
(Martijn van Beurden, martinRenou, CookiePLMonster, David Callu, Tyler Dunn, \
Cameron Cawley)
* Various fixes for MinGW (Martijn van Beurden, Cameron Cawley)
* Removed obsolete autotools macro's to silence warnings
* Fixes for FreeBSD PowerPC (pkubaj)
* Fixed some compiler warnings (Martijn van Beurden, Tyler Dunn)
* Fix building with uclibc (Fabrice Fontaine)
* testing/validation:
* Addition of new encoder fuzzer, adding fuzzing for 8, 24 and 32-bit inputs
* Addition of new decoder fuzzer, adding coverage of seeking code
* Addition of metadata fuzzer, adding coverage of metadata APIs
* Various improvements to fuzzers to improve code coverage, fuzzing speed \
and stability
* Many changes to test suite to improve cross-platform compatibility (Rosen \
Penev)
* Windows CI now also builds the whole test suite
* Clang-format file added (Rosen Penev)
* Add warning on using v141_xp platform toolset with /MT (Martijn van \
Beurden, Paul Sanders)
* libraries:
* Various seeking fixes (Martijn van Beurden, Robert Kausch)
* Various bugs fixed found by fuzzing
* On decoding, it is now checked whether residuals can be contained by a \
32-bit int, preventing integer overflow
* Add check that samples supplied to libFLAC actually fall within the bps set
* Add checks when parsing metadata blocks to not allocate excessive amounts \
of memory and not overread
* Undocumented Windows-only utf8 functions are no longer exported to the DLL \
interface
* Removed all assembler and intrinsics code from the decoder to improve \
fuzzing, as they provided only a small speed benefit
* The bitwriter buffer is limited in size to 2^24 bytes, so it cannot write \
excessively large files. This is a backup in case another bug in this area \
creeps (back) in.
* The metadata iterations should now never return a vorbiscomment entry with \
NULL as an entry, now always at least an empty string is returned
* documentation:
* Removed html documentation and generate man pages from markdown
* Interface changes:
* libFLAC:
* Addition of FLAC__stream_encoder_set_limit_min_bitrate() and \
FLAC__stream_encoder_get_limit_min_bitrate(), see [github \
#264](https://github.com/xiph/flac/pull/264)
* get_client_data_from_decoder is renamed \
FLAC__get_decoder_client_data(), see [github \
#124](https://github.com/xiph/flac/pull/124)
* All API functions taking a filename as an argument now take UTF-8 \
filenames on Windows, and no longer accept filenames using the current codepage
* FLAC__Frame struct has changed: warmup samples are now stored in \
FLAC__int64 instead of FLAC__int32 types, and verbatim samples can now be stored \
in either FLAC__int32 or FLAC__int64 depending on whether samples fix the former \
or latter
* The FLAC__StreamMetadata struct now has a tag, so it can be forward \
declared
* libFLAC++:
* Addition of ::set_limit_min_bitrate() and ::get_limit_min_bitrate(), \
see [github #264](https://github.com/xiph/flac/pull/264)
* All API functions taking a filename as an argument now take UTF-8 \
filenames on Windows, and no longer accept filenames using the current codepage
* The ::FLAC__Frame struct has changed, see the libFLAC interface change.
|
Log message:
flac: updated to 1.3.4
FLAC 1.3.4
This release mostly fixes (security related) bugs. When building with MSVC, \
using CMake is preferred, see the README under "Building with CMake" \
for more information. Building with MSVC using solution files is deprecated and \
these files will be removed in the future.
General:
* Fix 12 decoder bugs found by oss-fuzz, including CVE-2020-0499 (erikd, Martijn \
van Beurden)
- Fix encoder bug CVE-2021-0561 (NeelkamalSemwal)
- Integrate oss-fuzzers (erikd, Guido Vranken)
- Seeking fixes (NeelkamalSemwal, Robert Kausch)
- Various fixes and improvements (Andrei Astafev, Rosen Penev, Håkan Kvist, \
oreo639, erikd, Tamás Zahola, Ulrik Mikaelsson, Tyler Dunn, tmkk)
* FLAC format:
- (none)
* Ogg FLAC format:
- (none)
* flac:
- Various fixes and improvements (Andrei Astafev, Martijn van Beurden)
* metaflac:
- (none)
* build system:
- CMake improvements (evpobr, Vitaliy Kirsanov, erikd, Ozkan Sezer, Tyler \
Dunn, tg-m DeadSix27, ericLemanissier, Chocobo1).
- Fixes for MinGW and MSVC (Ozkan Sezer).
- Fix for clang (Ozkan Sezer)
- Fix for PowerPC (Peter Seiderer, Thomas BERNARD)
- Fix for FreeBSD PowerPC (pkubaj).
* testing/validation:
- Add Windows target to CI, improve logging (Ralph Giles)
- CI improvements (Ralph Giles, Ewout ter Hoeven)
* documentation:
- Doxygen fixes (Tyler Dunn)
- Fix typos (Tim Gates, maxz)
* Interface changes:
- libFLAC:
(none)
- libFLAC++:
(none)
|