Commit Graph

157 Commits

Author SHA1 Message Date
Erik de Castro Lopo
8fe2c23e31 Add SSE4.1/SSE4.2 detection.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2013-09-25 23:05:17 +10:00
Erik de Castro Lopo
ae4d720417 Fix/re-enable SSE/SSE2 lpc optimisations. 2013-09-17 06:14:50 +10:00
Erik de Castro Lopo
bd9770ffd1 Only allow SSE2 intrinsics for x86_64. 2013-09-15 19:37:53 +10:00
Erik de Castro Lopo
5e5ee2720c Adds SSE-accelerated lpc functions.
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>
2013-09-15 10:29:19 +10:00
Erik de Castro Lopo
84c3e3d52c Add CPU features (sse3, ssse3) detection code for x86-64.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2013-09-15 09:46:20 +10:00
Erik de Castro Lopo
d11c66ffce bitmath.h : Minor improvements.
This is part of a larger patch from lvqcl.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2013-09-08 12:15:57 +10:00
Erik de Castro Lopo
deb209906c Add ASM function FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16.
For the 32 bit x86 ASM functions there were already versions of this
function for lags (N = 4, 8, 12). They require lpc_order less than N.
The best compression preset (flac -8) uses lpc_order up to 12; it
means that during encoding FLAC also uses unaccelerated C function.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-08-31 13:53:37 +10:00
Erik de Castro Lopo
b1982fbc5f Set version to 1.3.0 and update coyprights throughout. 2013-05-26 19:17:53 +10:00
Ulrich Klauer
d672efaa05 Fix gcc version check for private macros
Use Benjamin Stiglitz' MIN macros from gcc 4.3 (according to the
changelog, __COUNTER__ was introduced in this version). Previously,
the macros weren't used on any existing gcc version; the first one
would have been 5.5.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-26 08:26:45 +10:00
Robert Kausch
bb79a59a9f Fix mistyped variable name
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-26 07:42:19 +10:00
Erik de Castro Lopo
fc21768d44 Fix compile when compiling with FLAC__INTEGER_ONLY_LIBRARY.
Problem reported by Martijn van Beurden <mvanb1@gmail.com>.
2013-04-21 19:51:56 +10:00
Erik de Castro Lopo
2de567fb11 src/libFLAC/include/private/macros.h : Add default MIN/MAX macros. 2013-04-07 20:21:24 +10:00
Erik de Castro Lopo
03a9e6064d src/libFLAC/include/private/macros.h : Check GNUC version for MIN macro. 2013-04-07 20:15:09 +10:00
Erik de Castro Lopo
0a2b901e99 src/libFLAC/include/private/macros.h : Fix flac_min.
The existing flac_min macro was generating -Wshadow compiler warnings
when nested.
2013-03-11 06:06:34 +11:00
Erik de Castro Lopo
a4c321e492 Large patch from Ben Allison fixing the MSVC build.
Patch tweaked a little to fix Linux build and clean up minor problems.
2013-03-06 22:17:51 +11:00
Timothy B. Terriberry
0920bc1ffb Fix a copy & paste error in a comment. 2012-12-09 13:13:12 +11:00
Miroslav Lichvar
7b37472a2f Add new clz function which works with input 0.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-08-28 21:17:15 +10:00
Miroslav Lichvar
d69e807e10 Make FLAC__clz_soft_uint32 static.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-08-28 21:17:12 +10:00
Erik de Castro Lopo
8749dc278d Fix building when configured with --disable-shared.
The problem was that the function safe_malloc_mul_2op_() was originally
defined as static inline in inclide/share/alloc.h but had to be moved
because GCC was refusing to inline it. Once moved however, static linking
would fail when building the flac executable because the function ended
up beiong linked twice.
2012-06-22 14:23:56 +10:00
Cristian Rodríguez
387b72731d bitmath: Finish up optimizations
This patch adds support for other compilers and systems
including MSVC, Intel C compiler etc..

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-06-08 19:58:29 +10:00
Cristian Rodríguez
9b7cb22f84 Update and improve autotools build
- INCLUDES is deprecated, and CPPFLAGS is an user-defined
  variable, use the proper AM_CPPFLAGS instead

- Remove FLAC__INLINE definition, providing proper
  replacement for MSVC compilers.

- Detect if we have C99 's lround and provide a replacement
  for windows...
2012-04-08 09:03:03 +10:00
Cristian Rodríguez
f13ad37519 Fix make distcheck 2012-04-07 08:36:27 +10:00
Erik de Castro Lopo
425d39b5f8 src/libFLAC/include/private/macros.h : Add copyright header. 2012-04-06 09:58:23 +10:00
Cristian Rodríguez
f029625591 V2: Use a single definition of MIN and MAX in sources 2012-04-06 09:52:06 +10:00
Erik de Castro Lopo
5c44cd7d0c Add GCC specific optimisation for log base 2 operations.
Based on a patch from Cristian Rodríguez.
2012-03-30 21:55:08 +11:00
Erik de Castro Lopo
b48909780b Fix a couple 'inlining failed' warning messages. 2012-02-26 20:00:36 +11:00
Erik de Castro Lopo
587e118bfc Fix a bunch of -Wtype-limits warnings. 2012-02-17 17:52:12 +11:00
Josh Coalson
dea0f5a044 add 2009 copyright 2009-01-07 07:31:28 +00:00
Josh Coalson
f7df1154ce const-ify FLAC__crc16_table[] 2008-02-29 01:57:22 +00:00
Josh Coalson
82b128050e update copyright for 2008 2008-02-28 05:34:21 +00:00
Josh Coalson
0f008d2e9e extra checking on memory allocation sizes to prevent a class of overflow attacks 2007-09-11 04:49:56 +00:00
Josh Coalson
b592b49140 minor comments 2007-07-11 04:14:43 +00:00
Josh Coalson
00da5ae8ec add internal FLAC__stream_encoder_set/get_do_md5() 2007-06-14 05:19:46 +00:00
Josh Coalson
4a040f6b8a window the integer_signal instead of real_signal, remove unused real_signal from datapath 2007-04-04 00:59:28 +00:00
Josh Coalson
49cb34a543 better alignment in md5 structure elements 2007-03-23 04:48:36 +00:00
Josh Coalson
ddddff6a56 add FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap() 2007-03-22 03:22:27 +00:00
Josh Coalson
099a2893da minor tweaks to private md5 interface 2007-03-14 07:58:19 +00:00
Josh Coalson
37a4f27c2b pass cpu info into bitreader 2007-03-13 16:13:52 +00:00
Josh Coalson
f2f328bdbf improve ia-32 checks to include cpuid, bswap, sse3 and ssse3 support 2007-03-13 06:35:55 +00:00
Josh Coalson
0c78700da5 remove obsolete FLAC__cpu_info_sse_test_asm_ia32() 2007-03-02 16:02:55 +00:00
Josh Coalson
ad663fa46a minor comments 2007-02-07 17:38:37 +00:00
Josh Coalson
e74bd9516c add 2007 copyright 2007-02-02 06:58:19 +00:00
Josh Coalson
e3ec2ad59e convert C prototypes for functions with no args from () to (void) 2007-01-31 03:53:22 +00:00
Josh Coalson
423f804d50 several speed improvements: completely rewritten bitbuffer which uses native machine word size instead of bytes; much faster rice partition size estimation; crc16 calculation in machine word size 2007-01-28 17:40:26 +00:00
Josh Coalson
08f582e35b add FLAC__bitbuffer_get_input_bits_unconsumed() 2007-01-09 02:01:54 +00:00
Josh Coalson
32b9baedb4 quick fix for SF#1601812 where an error of exactly 0 (very rare) in FLAC__lpc_compute_lp_coefficients() could cause an infinite loop later in FLAC__lpc_quantize_coefficients() 2006-11-27 16:27:41 +00:00
Josh Coalson
f1ac7d9bde make "#if FLAC__HAS_OGG" checking consistent 2006-11-16 07:20:09 +00:00
Josh Coalson
acd4a4345e fix compiler warnings 2006-11-11 22:43:25 +00:00
Josh Coalson
49f2f1699c add overreading in the stream encoder process calls to be able to reliably detect when we are at the last block; also fixes a problem with EOS packet flag setting in Ogg FLAC 2006-11-09 16:54:52 +00:00
Josh Coalson
e9b6183bde some more unsigned->size_t fixes 2006-11-06 17:06:19 +00:00