- 31 Jan, 2014 1 commit
-
-
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
-
-
Gustavo Zacarias authored
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
-
-
Martijn van Beurden authored
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.
-
Martijn van Beurden authored
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>
-
Martijn van Beurden authored
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 3 commits
-
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
-
- 15 Sep, 2013 8 commits
-
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
Also rearrange CFLAGS somewhat.
-
Erik de Castro Lopo authored
-
Erik de Castro Lopo authored
Include <config.h> before trying to use values defined in that file. Fix compiler warnings.
-
Erik de Castro Lopo authored
New functions are: FLAC__lpc_compute_autocorrelation_intrin_sse_lag_4() FLAC__lpc_compute_autocorrelation_intrin_sse_lag_8() FLAC__lpc_compute_autocorrelation_intrin_sse_lag_12() FLAC__lpc_compute_autocorrelation_intrin_sse_lag_16() FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2() Patch-from: lvqcl <lvqcl.mail@gmail.com>
-