Commit Graph

3914 Commits

Author SHA1 Message Date
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
Anton Blanchard
8e1796b91a Add runtime detection of POWER8 and POWER9
Use getauxval() to determine if we are on POWER8 or POWER9 or newer.
POWER8 is represented by version 2.07 and POWER9 by version 3.00.

Signed-off-by: Anton Blanchard <anton@ozlabs.org>
2018-08-20 18:16:34 +10:00
Amitay Isaacs
c0215fc149 Check if compiler supports target attribute on ppc64
Check if the compiler supports __attribute__((target("cpu=power8")))
and __attribute__((target("cpu=power9")))

Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
2018-08-20 18:16:34 +10:00
Amitay Isaacs
08d9d985da Add m4 macro to check for C __attribute__ features
Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
2018-08-20 18:16:34 +10:00
Anton Blanchard
f301518c52 configure.ac: Fix FLAC__CPU_PPC on little endian, and add FLAC__CPU_PPC64
FLAC__CPU_PPC wasn't catching powerpcle or powerpc64le. Fix that and
add a new define for FLAC__CPU_PPC64.

Signed-off-by: Anton Blanchard <anton@ozlabs.org>
2018-08-20 18:16:34 +10:00
Anton Blanchard
5e0d4187a2 configure.ac: Add VSX enable/disable
We want to create functions with PowerPC VSX instructions, so add
a configure check.

Signed-off-by: Anton Blanchard <anton@ozlabs.org>
2018-08-20 18:16:34 +10:00
Anton Blanchard
595ac14023 configure.ac: Remove SPE detection code
We don't have any SPE code, so there's no need to detect it
at configure time.

Signed-off-by: Anton Blanchard <anton@ozlabs.org>
2018-08-20 18:16:34 +10:00
lvqcl
9fa2b5edba move CreateFile function outside of libFLAC 2018-08-19 15:12:26 +10:00
Erik de Castro Lopo
a8e9857e38 windows_unicode_filenames.c: Fix a missing return statement 2018-08-18 09:44:24 +10:00
evpobr
6892e7c8a2 Improve SIMD detection with Visual Studio
Visual Studio can use GCC (for Android) and Clang (supported toolset) so they must be checked before native compiler.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2018-06-13 06:21:54 +10:00
orbea
452a447778 Add output-prefix tests
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2018-06-11 09:57:21 +10:00
orbea
5dff53c0cc Fix --output-prefix with input-files in sub-directories
And make sure to reserve the whole file path when not using --output-prefix.

Fixes https://sourceforge.net/p/flac/bugs/463/
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2018-06-11 09:57:09 +10:00
luz.paz
01eb19708c Fix miscellaneous typos.
Found via `codespell -q 3`
2018-05-24 07:20:19 +10:00
Robert Kausch
0db0e878b8 .travis.yml: Simplify file structure and add libogg dependency. 2018-05-21 10:51:20 +10:00
Robert Kausch
c2673dafb1 Add unit tests for word-wise CRC16 functions
Update FLAC__BitReader structure in unit test.
2018-05-21 10:19:28 +10:00
Robert Kausch
65c2796402 Fix CRC calculation for small blocks. 2018-05-21 10:19:03 +10:00
Robert Kausch
8874ecc082 Update CRC16 for larger data blocks when decoding. 2018-05-21 10:19:03 +10:00
Robert Kausch
5579f2922f Implement slicing-by-8 CRC16 algorithm. 2018-05-21 10:19:03 +10:00
Robert Kausch
fed5ad42b3 .travis.yml: Run --enable-64-bit-words test in separate job. 2018-05-20 10:29:48 +10:00
Robert Kausch
1aff2348cd Add bitreader unit test. 2018-05-20 10:29:48 +10:00
Robert Kausch
f01a3aa77a Minor fixes for bitwriter unit test. 2018-05-20 10:29:48 +10:00
Robert Kausch
096a63d36a Add unit tests for CRC calculation. 2018-05-20 10:29:48 +10:00
Robert Kausch
fcec829b2e Remove unused CRC8 functions. 2018-05-20 10:29:48 +10:00
Erik de Castro Lopo
85fca3c9ec Fix more GCC warnings about case fall-through
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2018-05-06 15:40:07 +10:00
Erik de Castro Lopo
aaaaa0deb9 More generic version of MSVC bug workaround
This is an updtate to the fix for an MSVC 2015 bug in 94a61241b0.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2018-05-06 15:25:14 +10:00
Erik de Castro Lopo
2817eca6d8 .travis.yml: Test --enable-64-bit-words as well 2018-05-01 05:58:25 +10:00
Jeffrey Espiritu
98deaf1d46 replaygain_synthesis.c: Fix compile issue in MSVS
The `inline` keyword is only available in C++ so include `share/compat.h`.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2018-04-09 07:42:12 +10:00
Erik de Castro Lopo
45f7d41a8a Fix for missing WINAPI_FAMILY_PARTITION
This is macro identifier is not defined, define it to `0`.
2018-02-10 13:37:55 +11:00
Christophe DUMONT
a0027fadfa libFLAC : new function returns client_data from decoder
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2018-01-08 19:23:20 +11:00
Alberto Fustinoni
972454edf8 UWP build fix
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2018-01-06 17:49:14 +11:00
Erik de Castro Lopo
20a2100d7d replaygain_synthesis.c: Fix a cppcheck warning
Cppcheck was incorrectly warning that `doubletmp` was being used
un-initialized. This was due to the fact that it was being used
and initialized in a pre-processor macro. Chaning the macro to
an inline function stops cppcheck from raising a warning.
2017-07-21 07:10:13 +10:00
Erik de Castro Lopo
f7cd466c24 Revert "Add Clang support for FLAC__SSE_TARGET"
This reverts commit b52fa0ec6d.

See: b52fa0ec6d
2017-07-19 19:41:24 +10:00
C.W. Betts
b52fa0ec6d Add Clang support for FLAC__SSE_TARGET
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2017-07-15 08:41:24 +10:00
Thomas Zander
68c5886db9 Correct flattop window coefficients
The window amplitude is now  normalised to 1.0.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2017-07-01 15:43:46 +10:00
Erik de Castro Lopo
1b5c09e4c6 Fix GCC 7 case fall through warnings
GCC 7 warns about `case` statements which are not separated by a
`break` statement. This warning can be fixed by adding a comment.
2017-06-26 19:22:31 +10:00
Shark64
ed84746dca Update lpc_intrin_sse.c
Remove redundant assignment before broadcasting into xmm registers.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2017-06-26 18:32:40 +10:00
Thomas Zander
7d3f9baedf FLAC++: Add missing prototype for construct_block
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2017-06-23 19:42:49 +10:00
Thomas Zander
8f4dffe875 Silence -finline-functions warning
This warning flag is gcc-specfic.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2017-06-23 19:39:18 +10:00
Ruud van Asseldonk
1ab8a51c24 doc: Add notes about subframe sample size 2017-06-12 20:09:03 +10:00
Erik de Castro Lopo
bb75073428 flac: Use WAVEFORMATEXTENSIBLE when bps != (8|16)
When decoding to WAV, the legacy wFormatTag of WAVE_FORMAT_PCM should
only be used if the bitwidth is 8 or 16. For all other bitwidths,
use WAVEFORMATEXTENSIBLE.

Two of the test programs/scripts also needed updating.
2017-05-27 17:22:19 +10:00
Erik de Castro Lopo
b762a20ace Fix missing SIZE_MAX definition on Android 2017-05-03 18:37:12 +10:00
Erik de Castro Lopo
64f47c2d71 libFLAC: Fix default flac_max/min
There were a number of specialized versions, but the default case
defined `MAX` and `MIN` instead of `flac_max` and `flac_min`.
2017-04-19 18:14:39 +10:00
Erik de Castro Lopo
59bedcf228 flac: Fix usage message
Patch-from: "Michael W. Bombardieri" <mb@ii.net>
2017-04-17 07:31:13 +10:00
Erik de Castro Lopo
952c93b2d7 metaflac: Fix a memory leak 2017-04-09 15:17:06 +10:00
Erik de Castro Lopo
4f47b63e9c stream_decoder.c: Fix a memory leak
Leak reported by Secunia Research.
2017-04-08 19:15:37 +10:00
Erik de Castro Lopo
25b2d82fe4 Fix typos in header files
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2017-03-21 05:39:29 +11:00
Keegan Drake H.P
5121d22e80 stream_decoder.h: Fix Reference to Non-Existent Functions
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Closes: https://github.com/xiph/flac/pull/31
2017-03-16 20:29:30 +11:00
Keegan Drake H.P
d249bce935 stream_decoder.h: Fix References to ``stdout''
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2017-03-16 20:28:39 +11:00
Erik de Castro Lopo
f7f2164725 cpu.c: Fix LLVM compile
Switch from `asm` to `__asm__` which is better supported.

Patch-from: Olivier Tristan <o.tristan@uvi.net>
2017-03-02 06:40:28 +11:00