| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
The code was incorrectly using #ifndef on a value that was always defined
to a value of either 0 or 1.
|
|
|
|
| |
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
|
|
|
|
|
|
| |
Fixes a build problem on apple clang.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Changes flac_snprintf (in src/share/grabbag/snprintf.c) and its copy
local_snprintf (src/libFLAC/metadata_iterators.c) to be almost sane.
* Adds flac_vsnprintf (src/share/grabbag/snprintf.c) and its copy
local_vsnprintf (src/share/win_utf8_io/win_utf8_io.c).
* Changes stats_print_info in src/flac/utils.c so it uses flac_vsnprintf
instead of vsnprintf. This makes return value checking unnecessary.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds two new apodization functions that seem to perform better than
the apodization functions currently in the codebase and fixes three
existing windows as well.
Its important to note that this patch only affects the encoder stage
that evaluates various possible predictors. Audio encoded with these
new windows will still decode with existing legacy decoders.
= Theory =
These functions are used to window the audio data at the predictor
stage. These news functions enable the use of only part of the signal
to generate a predictor. This helps because short transients can
introduce noise into the predictor. The predictor becomes very good
at prediciting one part of the signal, instead of mediocre for the
whole block.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
|
|
|
|
| |
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
| |
According to patch author GCC can optimize expressions like
"(a<<8)|(a>>8)", but has problems with "(a<<8)+(a>>8)".
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
| |
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Versions of GCC prior to 4.8 didn't provide an implementation
of __builtin_bswap16 on x86_64. Detect those versions and
supply a fallback implementation. A cleaner fix would be
to detect bswap16 independently of bswap32 in configure
and handle them separately.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
|
| |
|
|
|
|
|
| |
Also add macros H2LE_16 and H2LE_32, which do host to little-endian
swapping of 16 and 32 bit values respectively.
|
|
|
|
|
|
|
|
|
| |
* Replace _declspec with __declspec.
* Replace __wgetmainargs_ with __wgetmainargs_t and __wgetmainargs
with wgetmainargs because identifiers with leading underscores are
reserved for the compiler.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
| |
Sourceforge.net links updated as nedeed with some of them
being changed to point to xiph.org/flac.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
| |
There were a number of reports that float_t clashed with a type
defined in Linux system header files.
|
| |
|
|
|
|
|
|
| |
Was previously hard coded as 2 when it should be FLAC__MAX_CHANNELS.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
| |
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
|
| |
These were most arising from -Wenum-conversion where an enum of
one type was being assigned to a variable on another.
Originally reported by Lenny Maiorani <lenny@colorado.edu> on the
flac-dev mailing list.
|
|
|
|
|
|
| |
Should be '#ifdef HAVE_CONFIG_H'.
Closes: https://sourceforge.net/p/flac/bugs/410/
|
|
|
|
| |
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
| |
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
| |
* Allow compiling using GCC GCC w/o SSE support.
* Allow SSE4.1 intrinsic functions to be enabled.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
| |
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restrict works very poorly in Visual Studio (much slower than without)
so defined flac_restrict in share/compat.h and use that in:
lpc_compute_residual...()
lpc_restore_signal...()
As a result, FLAC__lpc_compute_residual_from_qlp_coefficients_wide_intrin_sse41()
offers no advantage for 64-bit compiles and was removed from x86-64 part
of stream_encoder.c
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Splits lpc_x86intrin.c to lpc_intrin_sse.c and lpc_intrin_sse2.c
* Add FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2()
function to lpc_intrin_sse2.c
* Add lpc_intrin_sse41.c with two ..._wide_intrin_sse41() functions
(useful for 24-bit en-/decoding)
* Add precompute_partition_info_sums_intrin_sse2() / ...ssse3() and
disables precompute_partition_info_sums_32bit_asm_ia32_().
SSE2 version uses 4 SSE2 instructions instead of 1 SSSE3 instruction
PABSD so it is slightly slower.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
| |
Patch-from: lvqcl <lvqcl.mail@gmail.com>
|
| |
|
| |
|
|
|
|
|
|
|
| |
Wasn't being used anywhere in the code and clashes with a symbol in
MSVC.
Suggested-by: lvqcl <lvqcl.mail@gmail.com>
|
|
|
|
| |
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
|
| |
|
|
|
|
|
|
| |
This fixes a wrong link (dead anchor) in the Doxygen api documentation
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
|
|
|
|
| |
Patch from Janne Hyvärinen <cse@sci.fi>.
|
| |
|
|
|
|
| |
Patch from Janne Hyvärinen <cse@sci.fi>.
|
|
|
|
|
| |
Problem reported by Ulrich Klauer <ulrich@chirlu.de>.
Patch from Janne Hyvärinen <cse@sci.fi>.
|
| |
|
|
|
|
| |
Thanks to LRN <lrn1986@gmail.com>.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Patch from Janne Hyvärinen <cse@sci.fi>.
|
| |
|
|
|
|
|
| |
New functions safe_strncat() and safe_strncpy() which always return
a NUL terminated string and do not overflow the destination buffer.
|
|
|
|
| |
Patch from Janne Hyvärinen <cse@sci.fi>.
|
|
|
|
|
|
| |
Define function flac_snprintf() which has ISO C99 snprintf() behavior
even when compiling with Microsoft Visual Studio, by wrapping the
MSVS snprintf_s() function.
|