Martijn van Beurden
3975b3e6a2
Check for ID3v2 tag when using flac -t
2022-11-04 17:03:48 +01:00
Martijn van Beurden
9ca1e062c2
Add --force-legacy-wave-format option to flac command line program
2022-11-04 06:54:01 +01:00
Martijn van Beurden
3fe6219c68
Fix encoder not deleting output after error on Windows
...
When `flac` was invoked as an encoder and stumbled on an error, it would first try to unlink the file and only then finish encoding. This works fine on *nix but fails on Windows. With this commit, the encoder session is first destroyed and only then the file is 'unlinked'.
2022-11-03 21:45:56 +01:00
Martijn van Beurden
f00e355363
Check chunk sizes
...
WAVE and AIFF files cannot be larger than exactly 4GiB. Anything
larger must be read with --ignore-chunk-sizes. Also, prevent
overflow in foreign metadata handling
2022-11-03 20:32:35 +01:00
Martijn van Beurden
093b7f21dd
Upgrade github actions
2022-11-03 20:31:06 +01:00
Martijn van Beurden
b32e5cbf98
Release FLAC 1.4.2
2022-10-22 13:01:34 +02:00
Martijn van Beurden
2ba31ca422
Remove sourceforge logo from api docs
2022-10-21 19:27:29 +02:00
Martijn van Beurden
6abf272158
Make progress updates depend on wall time instead of progress
...
Progress updates were output too often on fast CPUs and not often
enough for slow CPUs. In the Windows shell this gave the additional
problem that such output is extremely slow.
See https://hydrogenaud.io/index.php/topic,123014.msg1017724.html#msg1017724
2022-10-21 10:25:01 +02:00
Martijn van Beurden
e7b584eaf9
Remove default msse2 on x86, tidy up asm optimizations
...
Remove default addition of msse2 on x86. After profiling it was
found this helps little on modern systems. See
https://github.com/xiph/flac/issues/486
The mention of Asm optimizations at the end of configuration was
wrong in many ways: it was 'yes' on platforms for which there are
no optimizations, and wasn't set to 'no' in case intrinsics headers
aren't available.
2022-10-20 07:39:18 +02:00
Martijn van Beurden
396313c9d0
[doxygen] Change links from local to xiph.org/flac
2022-10-19 17:09:57 +02:00
Ozkan Sezer
c0a6701bc0
fix a typo in stream_encoder.h
...
fixes doxygen error:
include/FLAC/stream_encoder.h:1298: Error: Unexpected character `"'
2022-10-19 17:09:57 +02:00
Martijn van Beurden
8c43332ce6
Remove assert that is no longer true
2022-10-19 14:19:58 +02:00
Ozkan Sezer
3426713ed9
fix --disable-stack-smash-protection mingw issues, add --disable-fortify-source
...
Co-authored-by: Martijn van Beurden <mvanb1@gmail.com>
2022-10-18 22:43:38 +02:00
Martijn van Beurden
ad9618c54d
Prepend to CFLAGS instead of only setting when blank
2022-10-18 07:16:16 +02:00
Ozkan Sezer
92928f2868
fix errors: 'for' loop initial declarations are only allowed in C99 mode
2022-10-17 17:54:53 +02:00
Ozkan Sezer
5a9ffda852
fix broken bswap.m4
...
it used to always define HAVE_BSWAP32 and HAVE_BSWAP16 even if the
builtin isn't supported. This broke with commit bfe5ff9
2022-10-17 07:28:08 +02:00
Martijn van Beurden
75ef7958df
Remove all assembler
2022-10-15 15:44:03 +02:00
Martijn van Beurden
0665053c5d
Revert "Remove variable no longer in use"
...
This reverts commit 90d7fdb3e1
. It
turns out it hurts compression. Reported at
https://hydrogenaud.io/index.php/topic,123025.125.html
2022-10-13 21:46:18 +02:00
TokyoBlackHole
c8b6d2ab58
README.md: remove mention of XMMS plugin
2022-10-13 19:08:25 +02:00
Martijn van Beurden
90d7fdb3e1
Remove variable no longer in use
2022-10-12 20:37:18 +02:00
Martijn van Beurden
bb400ec5a4
Prevent division by zero when preparing apodizations
2022-10-12 20:37:18 +02:00
Martijn van Beurden
bc0173fe5f
Evade intrinsics autoc routines when data_len == FLAC__MAX_LPC_ORDER
...
As lag is one larger than the LPC order, also do not use intrinsics
when data_len == 32
2022-10-12 20:37:18 +02:00
Martijn van Beurden
20ce6f9bf2
Do not let small blocksizes be handled by intrinsics autoc calculation
...
Also, fix a bug in which apodization windows were not recalculated when
blocksize was shrunk
2022-10-12 20:37:18 +02:00
Martijn van Beurden
039586e909
Make autocorrelation calculation easier to vectorize
2022-10-12 20:37:18 +02:00
Martijn van Beurden
06769de241
Compile libFLAC with associative floating-point math
2022-10-12 20:37:18 +02:00
Martijn van Beurden
f64f3782f0
Only fuzz apodizations on small inputs ( #479 )
2022-10-12 16:58:03 +02:00
Martijn van Beurden
09660e58dd
Reduce timeouts of fuzzer_encoder similar to fuzzer_encoder_v2
2022-10-11 07:24:47 +02:00
Martijn van Beurden
ce5d41fa96
Link to gitlab for complete list of authors
2022-10-10 19:47:33 +02:00
Martijn van Beurden
3d55a9dc6c
Reset last_frame_is_set on flush
2022-10-09 08:18:56 +02:00
Martijn van Beurden
90c0562d4e
Assume Clang supports x86 intrinsics up to FMA
...
This mirrors behaviour for GCC
2022-10-07 09:13:07 +02:00
Martijn van Beurden
8fbeff238c
Remove xmms plugin
2022-10-06 16:41:40 +02:00
Martijn van Beurden
2440e19a73
Fix out-of-tree building with prebuilt docs
2022-09-26 16:47:17 +02:00
Martijn van Beurden
e9551810c7
AC_CHECK_FILE -> simple test, doesn't fail when cross-compiling
...
This should fix https://github.com/xiph/flac/issues/463
2022-09-26 16:47:17 +02:00
Ralph Giles
a2be4d2aed
gitlab ci: Install pandoc dep
...
This is needed to generate the manpages for the `distcheck` target.
2022-09-22 13:54:05 -07:00
Martijn van Beurden
b6fbd6b3d9
Release FLAC 1.4.1
2022-09-22 12:02:59 +02:00
Martijn van Beurden
a076395de0
[CMake] Create dir for pandoc generation
2022-09-22 06:46:03 +02:00
Martijn van Beurden
8e50d89a40
[CMake] C flags were set while CXX flags were meant
2022-09-21 22:06:33 +02:00
Martijn van Beurden
3f4ba7620c
Change C++ style comments to C style in headers
2022-09-20 19:54:32 +02:00
Martijn van Beurden
87c3d8a0d9
Fix a lot of Doxygen errors and add some documentation
2022-09-20 19:54:32 +02:00
Martijn van Beurden
89a1620c42
Update API and tool docs
2022-09-20 19:54:32 +02:00
Martijn van Beurden
c65713b340
Define WINAPI_FAMILY stuff on platforms that do not provide them
2022-09-20 11:51:05 +02:00
Steve Lhomme
7dfcd73350
don't call GetFileInformationByHandle on Universal Windows Platform builds
...
It cannot be called:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfileinformationbyhandle
We can get the same information with GetFileInformationByHandleEx(FileIdInfo):
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getfileinformationbyhandleex
2022-09-20 11:51:05 +02:00
Steve Lhomme
ebf02df10d
don't call CreateFileW on Universal Windows Platform builds
...
It cannot be called:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew
There is CreateFile2 which is very similar:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfile2
2022-09-20 11:51:05 +02:00
Steve Lhomme
020f5c3805
disable console using on Universal Windows Platform builds
...
There's no support for the console. These functions cannot be used
* GetStdHandle(): https://learn.microsoft.com/en-us/windows/console/getstdhandle
* GetConsoleScreenBufferInfo(): https://learn.microsoft.com/en-us/windows/console/getconsolescreenbufferinfo
* WriteConsoleW(): https://learn.microsoft.com/en-us/windows/console/writeconsole
Instead send logs to the debug output
2022-09-20 11:51:05 +02:00
Martijn van Beurden
71e23ab6b8
Remove added empty line
2022-09-20 08:19:31 +02:00
Ozkan Sezer
eadf2a6471
stream_decoder.c: move sys/stat.h include after sys/types.h.
2022-09-20 08:19:31 +02:00
Johannes Kauffmann
e603c26db2
getopt: avoid K&R function definitions
...
This avoids warnings on clang-16 such as:
getopt/getopt.c:315:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
exchange (argv)
^
2022-09-20 08:19:18 +02:00
Martijn van Beurden
b175971f80
Include api dir in distribution
...
Also, don't create empty Doxygen tag and api directory
2022-09-18 20:09:48 +02:00
Martijn van Beurden
de058537cf
Update .travis.yml
...
Similar to commit 1839370
2022-09-18 18:50:44 +02:00
Martijn van Beurden
71c3c55dba
Do not make empty man pages, use either pandoc or prebuild ( #440 )
...
* Do not make empty man pages, use either pandoc or prebuild
A check is added to configure whether flac.1 and metaflac.1
are already build when pandoc is not available. This is the
case in for example dist packages
* Fix typo in new automake conditional
2022-09-18 10:11:47 +02:00