- 24 Feb, 2014 1 commit
-
-
Erik de Castro Lopo authored
More thorough en-/decoding tests show that sometimes the functions that use intrinsics are slower (or not really faster) than old plain C functions. After this patch the encoder doesn't use these new functions when their usefulness is questionable. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 03 Feb, 2014 1 commit
-
-
Erik de Castro Lopo authored
Typo in the conditional to check the exit condition in ascii_strcasecmp. It checks for (!*s1 || !*s1) instead of (!*s1 || !*s2). The typo did not affect the result of the function as the loop is exited before changing s1 or s2 anyway. The problem was found by cppcheck which is run automatically on the Debian sources. Results here: http://cppcheck.sourceforge.net/devinfo/daca2-cppcheck1.63/daca2.html Patch-from: Robert Kausch <robert.kausch@freac.org>
-
- 01 Feb, 2014 7 commits
-
-
Erik de Castro Lopo authored
Existing version had a number of problems: 1) it didn't compile with MSVS 2) it returned correct results only when compiles with GNUC 3) it mentioned LGPL which isn't good for a BSD-licensed library LGPL -> BSD issue documented here: http://lists.xiph.org/pipermail/flac-dev/2013-September/004356.html Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
MSVS profiler shows that the encoder spends too much time inside format_input() when the input is 24-bit. Increases encoding speed: FLAC -5: from 27.1 to 24.2 seconds FLAC -8: from 76.2 to 73.1 seconds (MSVS 2010, 32-bit flac.exe, 24-bit stereo input file) For GCC compiles the encoding speed remains the same. I suspect that GCC is smart enough to use strict aliasing rule to optimize the code, and MSVS doesn't even know about it. Path-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
The new functions are analogous to FLAC__lpc_restore_signal_asm_ia32_mmx. FLAC uses them for x86-64 arch and also for ia32 if NASM is not available. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Previously the flac executable would return a non-zero exit code when the output file was bigger than the input file and this could be disabled with the --no-error-on-compression-fail option. New beaviour is to print the failure message but return a zero exit code in the above situation, and only return a non-zero exit code with the --error--on-compression-fail option. The --no-error-on-compression-fail command line option has been retained.
-
Erik de Castro Lopo authored
As suggested by Brian Willoughby this is not an "ERROR" but a "FAILURE". Also list a couple of possible causes of this failure and remove the suggestion to contact the developers.
-
Erik de Castro Lopo authored
-
- 31 Jan, 2014 2 commits
-
-
Erik de Castro Lopo authored
Encoding speed slightly increased (1...2% for FLAC -8). Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
This patch changes the code from: (FLAC__int32)(xmm.m128i_i64[0] >> lp_quantization) into: _mm_cvtsi128_si32(_mm_srli_epi64(xmm, lp_quantization)); Encoding of 24-bit .wav files with 32-bit FLAC became noticeably faster. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 30 Jan, 2014 4 commits
-
-
Erik de Castro Lopo authored
RESIDUAL16_RESULT is analogous to the existing RESIDUAL_RESULT macro and simplifies the code a little. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
The inline macro already exists in include/share/compat.h. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
* Allow compiling using GCC GCC w/o SSE support. * Allow SSE4.1 intrinsic functions to be enabled. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 17 Jan, 2014 1 commit
-
-
Erik de Castro Lopo authored
According to Agner Fog in optimizing_assembly.pdf: "... write to a partial register may result in false dependencies between instructions, so it is better to avoid it." Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 07 Jan, 2014 4 commits
-
-
Erik de Castro Lopo authored
GCC generates slow ia32 code for FLAC__lpc_restore_signal_wide() and FLAC__lpc_compute_residual_from_qlp_coefficients_wide() so 24-bit encoding/decoding is slower for GCC compile than for MSVS or ICC compile. This patch adds ia32 asm versions of these functions. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
According to Agner Fog, "...you must make sure that all calls are matched with returns. Never jump out of a subroutine without a return and never use a return as an indirect jump." (see paragraph 3.15 in microarchitecture.pdf and examples 3.5a and 3.5b in optimizing_assembly.pdf) Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Most non-static functions have FLAC__ prefix, but they were missing from the precompute_partition_info_sums_* functions. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 19 Dec, 2013 1 commit
-
-
Besides SPE (FSL e500v? cores) there are other powerpc processors that don't support altivec instructions so only enable them when it's 100% sure that the target has it. Signed-off-by:
Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com>
-
- 22 Nov, 2013 1 commit
-
-
Erik de Castro Lopo authored
Autoconf detects the Clang compiler as GNU GCC (clang sets defines like __GNUC__ etc) but Clang is *not* completely compatible. If we detect Clang we set ac_vc_c_compiler_gnu to 'no'.
-
- 15 Oct, 2013 1 commit
-
-
Erik de Castro Lopo authored
-
- 10 Oct, 2013 3 commits
-
-
Erik de Castro Lopo authored
Patch-from: vqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
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>
-
- 04 Oct, 2013 1 commit
-
-
Erik de Castro Lopo authored
rplaces OutputDirectory="..\..\..\..\objs\debug\bin" with OutputDirectory="$(SolutionDir)objs\$(ConfigurationName)\bin and so on. Rmoves OutputFile="..\..\objs\debug\lib\$(ProjectName).lib when possible. Also, in the current version "Whole program optimization" compiler option is set, but the corresponding linker option isn't. From MSDN: "If you do not explicitly specify /LTCG when you pass /GL or MSIL modules to the linker, the linker eventually detects this and restarts the link by using /LTCG. Explicitly specify /LTCG when you pass /GL and MSIL modules to the linker for the fastest possible build performance." So /LTCG option was added too. Debug build now uses libogg_static.lib from .\objs\debug\lib folder. (the dependency for both release and debug is objs\$(ConfigurationName)\lib\libogg_static.lib) Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 03 Oct, 2013 1 commit
-
-
Erik de Castro Lopo authored
* 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>
-
- 26 Sep, 2013 3 commits
-
-
Erik de Castro Lopo authored
Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 25 Sep, 2013 5 commits
-
-
For some reason all documentation lists the max rice partition order to be 16, while the maximum is 15. This fixes flac -H, the man page and the HTML source code documentation Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com>
-
Erik de Castro Lopo authored
* Add FLAC__ALIGN_MALLOC_DATA for x86_64. * Removes XIPH_ADD_CFLAGS([-msse]) as -msse2 implies -msse. * Fix typo. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
The variable its multipled by is double so there is no sense in having the literal as a float. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Before this patch it was possible to set or get data.ia32.sse3 value from x86-64 code, etc which is a potential source of errors. Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
Erik de Castro Lopo authored
Patch-from: lvqcl <lvqcl.mail@gmail.com>
-
- 17 Sep, 2013 3 commits
-
-
Erik de Castro Lopo authored
Commit 943384d7 removed two directories in the doc/ tree and those directories had to be removed from the Makefile.ams one level up.
-
This patch removes all content that is better viewed online (i.e. downloads, links etc.) and not necessary for development. Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com>
-
While developing FLAC Frontend, there where several occasions where I felt little restrained because the FLAC logo is available only in gif. I made an SVG version and rendered a new GIF version from it. Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com>
-
- 16 Sep, 2013 1 commit
-
-
Erik de Castro Lopo authored
-