Commit Graph

2488 Commits

Author SHA1 Message Date
Erik de Castro Lopo
d30ad83ac9 libFLAC++: Add libFLAC++-static.la target for oss-fuzzers 2019-11-17 15:59:59 +11:00
sezero
cdcf0d5575 cmake_minimum_required() cleanup:
- document version requirements in the top-level file.
- remove incorrect version requirements from sub-dirs.
- set min. required version to 3.5 in top-level file.
- set minimun required version to 3.9 under docs/ .
- make documents building an option (on by default.)
  so, the tree can be built using cmake-3.5 using
 -DBUILD_DOCS=0 on the command line.
2019-11-15 19:06:58 +11:00
sezero
2907d4921c flac/main.c: replace an snprintf() call with flac_snprintf()
flac_snprintf() is used everywhere else in there. that single instance
of plain snprintf() was added in commit 04974d27. fixes flac.exe build
with older msvc versions.
2019-11-11 14:14:46 +11:00
Erik de Castro Lopo
b3f55c40cc libFLAC/bitreader.c: Fix shift invoking undefined behaviour
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18589
Testcase: fuzzer_decoder-5668806471188480
2019-11-11 11:42:34 +11:00
Erik de Castro Lopo
c7d3bd80cf test_streams: Fix UBSAN error in random generator 2019-11-11 11:42:34 +11:00
Hakan Kvist
b84ff55b03 libFLAC/stream_decoder.c: fix integer overflow on corrupt file
Corrupt metadata could make the length calculation overflow.
2019-10-24 06:57:47 +11:00
sezero
25305d685b Fix msvc build after commit b917d456
Closes: https://github.com/xiph/flac/issues/152
2019-10-19 14:51:05 +11:00
NY00123
7bc7aebc7c Replace unsigned with uint32_t in prototypes; Fixes DJGPP builds. 2019-10-19 12:51:38 +11:00
sezero
952d511655 cmake: fix nasm sources build when building in a separate directory
When building in the same directory as the source, it works, but not in
a separate directory.  The trailing slash is important with nasm.  Note
that include_directories("${CMAKE_CURRENT_SOURCE_DIR}/") does not work
because cmake seems to strip the trailing slash.

Also relax the cmake version requirement from 3.12 to 3.9 as everywhere
else in the tree: it works just fine.
2019-10-10 18:32:21 +11:00
sezero
ee70d96932 cmake: do not add visibility attributes to shared lib builds for win32. 2019-10-10 18:30:39 +11:00
sezero
b917d456d2 make dllexport work with compilers other than MSVC
the issue is, flac and metaflac exes rely on flac_internal_???_utf8()
procedures from windows_unicode_filenames.c and there is no easy way
to exclude them from exports without breaking things. So export them
explicitly (they are exported anyway w/o this patch), but add a FIXME
note about the kludge in windows_unicode_filenames.c.
2019-10-10 18:30:39 +11:00
sezero
19a0e99ac3 move the new public get_decoder_client_data function to public header. 2019-10-10 06:09:21 +11:00
Erik de Castro Lopo
2e7931c27e libFLAC/bitreader.c: Fix out-of-bounds read
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17069
Testcase: fuzzer_decoder-5670265022840832
2019-10-08 06:14:06 +11:00
Erik de Castro Lopo
6d0e222a6e Make sure CMake build files end up in release tarball 2019-10-01 08:18:28 +10:00
Erik de Castro Lopo
5598543a96 libFLAC/lpc.c: Fix signed integer overflow
Do the addition as 64 bits before truncating to 32 bits.

Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16459
Testcase: fuzzer_decoder-5728784602365952
2019-09-16 06:18:07 +10:00
Erik de Castro Lopo
8147ee7ea2 libFLAC/bitreader.c: Fix shift invoking undefined behaviour
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16464
Testcase: fuzzer_decoder-5663276452544512
2019-09-16 06:18:07 +10:00
Erik de Castro Lopo
09f47c00e1 libFLAC/bitreader.c: Fix shift invoking undefined behaviour
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16458
Testcase: fuzzer_decoder-5649174900506624
2019-09-16 06:18:07 +10:00
Erik de Castro Lopo
c34c3459b5 libFLAC/bitreader.c: Fix OOB read
Credit: OSS-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16457
Testcase: fuzzer_decoder-5076189185572864
2019-09-16 06:18:07 +10:00
Erik de Castro Lopo
04974d2715 Fix a number of gcc 9.2 compiler warnings 2019-09-15 16:14:36 +10:00
Rosen Penev
2409f5f39d Run libFLAC++ through clang-tidy.
Applied the following suggestions:

modernize-deprecated-headers
google-readability-casting
google-readability-namespace-comments
readability-else-after-return
2019-09-15 11:39:08 +10:00
Rosen Penev
9ea40e34f8 window: fabs > fabsf and cos > cosf where it makes sense
The f functions are faster. It seems the arguments are all floats.
2019-09-15 11:34:08 +10:00
Rosen Penev
cc6ca9a6ec flac/utils: Add missing define
wcswidth needs _XOPEN_SOURCE defined. Otherwise, no declaration.
2019-09-15 11:30:35 +10:00
Rosen Penev
66dd7f05d7 Switch to utimensat for newer POSIX versions
Some libcs like uClibc-ng can optionally disable deprecated functions.
utime is one of them. When done so, both the header and the function go
missing.

This fixes flac_utime to work in such a situation.
2019-08-20 06:49:13 +10:00
pkubaj
5db5820932 Fix build on FreeBSD PowerPC
Used the elf_aux_info function on FreeBSD and clarify that users of other
systems need to implement reading from AT_HWCAP2.
2019-08-18 10:44:15 +10:00
Erik de Castro Lopo
4ca0d85c5d libFLAC: Rename get_client_data_from_decoder function
This function was added after the 1.3.2 release, but the name was bad
(missing "FLAC__" at the start) and the pointer returned should be 'const'.
2019-08-09 09:36:19 +10:00
sezero
4a43f2bd4d Do not assume that sys/param.h defines MIN and MAX
One such example is sys/param.h from MinGW.
2019-08-05 12:35:08 +10:00
Erik de Castro Lopo
f764434a39 Version 1.3.3 2019-08-04 19:47:53 +10:00
Erik de Castro Lopo
deb21bc251 Update Visual Studio 2005 files
Patch-from: Janne Hyvärinen
2019-07-16 07:53:41 +10:00
Erik de Castro Lopo
48e8dbcf4a Fix CppCheck warnings 2019-07-15 09:42:38 +10:00
Виталий Кирсанов
77e234acef CMake: fixed windows_unicode_filenames linking errors 2019-05-28 15:55:27 +10:00
evpobr
e4b94e3144 Fix Visual Studio solution generation with CMake
Rename flac application target to flacapp to avoid name collision with FLAC library target.

Closes #101.
2019-05-12 09:00:07 +10:00
Vitaliy Kirsanov
55447a2d58 Ogg::Ogg renamed to Ogg::ogg 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov
573dbc12ae Use of BUILD_SHARED_LIBS added 2019-05-04 11:41:48 +10:00
Виталий Кирсанов
1cb968a7d4 Fixed dependencies on win_utf8_io 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov
5d81610eb5 Fixed dependency between grabbag and utf8 2019-05-04 11:41:48 +10:00
Vitaly Kirsanov
a82a014cf1 CMake minimum required lowered to 3.1 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov
2359563a46 FLAC now depends on win_utf8_io
Accidently found this missing dependency
2019-05-04 11:41:48 +10:00
Vitaly Kirsanov
8610c3acfb Added /arch:SSE2 flag 2019-05-04 11:41:48 +10:00
Vitaly Kirsanov
aa96297d78 Versions for shared libs specified 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov
5435f15be4 /test/*.sh enabled for CTest in UNIX 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov
6cd2b6cded FindOGG.cmake module added 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov
c39718d7a3 CMake support added 2019-05-04 11:41:48 +10:00
lvqcl
12ec86c618 Use MMX ASM fucntions instead of SSE4.1 if available
These SSE4.1 functions are not always faster than their MMX ASM counterparts,
so let's use ASM functions if they're available.
2019-03-08 07:01:19 +11:00
Robert Kausch
b936e398e2 Speed up FLAC__bitwriter_write_byte_block (metadata writing) 2019-03-08 07:00:12 +11:00
Karthik Periagaram
cc15b7427a Suppress compression failure message if it is not an error
If the user specifies `--no-error-on-compression-fail`, there is no need
to treat compression failure as an error. Hence, the failure message
should be suppressed along with the non-zero exit code (which already
is suppressed).
2019-02-01 18:20:30 +11:00
lvqcl
421961f00b Replace hadd with shuffle + add 2018-09-20 07:20:13 +10:00
lvqcl
faafa4c82c Cosmetic changes in lpc_asm.nasm and utf8.c 2018-09-02 21:26:51 +10:00
lvqcl
0897458f59 Update MinGW build files 2018-08-26 07:58:50 +10:00
lvqcl
edfbe3cf19 Move CreateFile_utf8 function to a more logical place 2018-08-25 18:55:30 +10:00
Anton Blanchard
cdb030cd37 Add VSX optimised versions of autocorrelation loops
Add a POWER8 and POWER9 version of the autocorrelation functions.

flac --best is about 3.3x faster on POWER9 with this patch.

Signed-off-by: Anton Blanchard <anton@ozlabs.org>
2018-08-20 18:16:34 +10:00