summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Set version to 1.3.1pre1.1.3.1pre1Erik de Castro Lopo2014-11-2511-20/+20
|
* Add file Scripts/cross-build-win-binaries.mk.Erik de Castro Lopo2014-11-251-0/+117
|
* Makefile.am : EXTRA_DIST should contain FLAC-vs2005.sln.Erik de Castro Lopo2014-11-251-1/+1
|
* Update copyright years to include 2014.Erik de Castro Lopo2014-11-25259-261/+261
|
* src/libFACL/stream_decoder.c : Fail safely to avoid a heap overflow.Erik de Castro Lopo2014-11-251-1/+2
| | | | | | | | | | | A file provided by the reporters caused the stream decoder to write to un-allocated heap space resulting in a segfault. The solution is to error out (by returning false from read_residual_partitioned_rice_()) instead of trying to continue to decode. Fixes: CVE-2014-9028 Reported-by: Michele Spagnuolo, Google Security Team <mikispag@google.com>
* doc/html/changelog.html : Add attributions and fix a typo.Erik de Castro Lopo2014-11-241-7/+7
|
* doc/html/changelog.html : Update for 1.3.1 release.Erik de Castro Lopo2014-11-241-0/+88
|
* Rename Visual Studio solution files.Erik de Castro Lopo2014-11-242-266/+266
| | | | | * FLAC-vs2010.sln -> FLAC.sln * FLAC.sln -> FLAC-vs2005.sln
* examples/c/decode/file/main.c : Add extra error handling.Erik de Castro Lopo2014-11-201-0/+12
| | | | | | | | | | | Michele Spagnuolo provided a file that initially had frames with two channels but then had a frame with a single channel. This example program only supports exactly two channels and previously had insufficient validation. Closes: https://sourceforge.net/p/flac/bugs/418/ Reported-by: Michele Spagnuolo, Google Security Team <mikispag@google.com>
* src/libFLAC/stream_decoder.c : Fix buffer read overflow.Erik de Castro Lopo2014-11-201-1/+5
| | | | | | | This is CVE-2014-8962. Reported-by: Michele Spagnuolo, Google Security Team <mikispag@google.com>
* libFLAC: fix more problems with new window functionsMartijn van Beurden2014-11-161-4/+4
| | | | | | | This fixes two problems with handling of out-of-bounds arguments for the window functions, one of which involving an infinite loop Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Improve description of encoding preset equivalents.Erik de Castro Lopo2014-11-153-6/+12
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* metadata_iterators.c : Set status when metadata itereator is not writable.Erik de Castro Lopo2014-11-141-1/+3
| | | | | | The status should be FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT. Closes: http://sourceforge.net/p/flac/patches/50/
* libFLAC : Add more checks to partial_tukey and punchout_tukey windows.Martijn van Beurden2014-11-131-35/+39
| | | | Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* include/share/endswap.h : Fix usage of HAVE_BSWAP16.Erik de Castro Lopo2014-11-121-1/+1
| | | | | The code was incorrectly using #ifndef on a value that was always defined to a value of either 0 or 1.
* Update documentation for new compression presetsMartijn van Beurden2014-11-113-34/+34
| | | | Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Make test_compression a little more forgivingMartijn van Beurden2014-11-111-1/+1
| | | | | | | | | | | | | | The retune of compression levels makes this test fail. This is due to a few approximations used in the encoder that determine which LP coefficient should result in the smallest file. Differences are usually very small, but in my case this resulted in compression level 6 giving a 3 byte bigger file. This patch lets the compression test pass even if the a compression level results in a file that is up to 10 byte larger than the previous level Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Retune FLAC compression levelsMartijn van Beurden2014-11-111-3/+3
| | | | | | | | | | | This patch changes a the settings associated with compression levels 6, 7 and 8. With this patch, -e is no longer used, but instead apodization functions are added. This should improve compression with at least 95% of all material while not changing the speed much. Decoding ways, 6 and 8 stay the same, and 7 is slowed a bit, which makes it as fast as 8. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Fix indenting on the bswap32 autoconf macro.Ralph Giles2014-11-041-12/+12
| | | | | | We generally prefer spaces to tabs. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Clean up bswap32 autoconf macro.Ralph Giles2014-11-041-4/+4
| | | | | | Improve 'checking' message and don't hog the cache namespace. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Use a configure check for bswap16 instead of gcc version #ifdefs.Ralph Giles2014-11-042-1/+2
| | | | | | Fixes a build problem on apple clang. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Add autoconf macro to check for the bswap16 intrinsic.Ralph Giles2014-11-041-1/+28
| | | | Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* stream_encoder.c : Add apodization field to CompressionLevels struct.Erik de Castro Lopo2014-10-161-12/+13
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* autogen.sh : Use long names for options to autoreconf.Erik de Castro Lopo2014-10-161-1/+1
|
* libFLAC/fixed_intrin_sse2.c : Fix comments.Erik de Castro Lopo2014-10-071-2/+2
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* Add AVX2 CPU support stream encoder.Erik de Castro Lopo2014-10-0411-0/+1334
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* Add AVX/AVX2/FMA support to CPU detection code.Erik de Castro Lopo2014-10-042-22/+154
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* libFLAC/stream_encoder.c : Reduce about of hackery.Erik de Castro Lopo2014-10-041-31/+31
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* Refactoring and simplifying of CPU detection.Erik de Castro Lopo2014-10-043-51/+47
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* Remove support for AMD's 3Dnow.Erik de Castro Lopo2014-10-0412-192/+9
| | | | | | AMD stopped release new chips withe 3DNow in 2010. Patch-from: lvqcl <lvqcl.mail@gmail.com>
* src/libFLAC/window.c : Add 'f' to float literals to avoid compiler warnings.Erik de Castro Lopo2014-10-031-2/+2
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* src/flac/decode.c : Decoder buffering improvements on Windows.Erik de Castro Lopo2014-10-031-0/+43
| | | | | | | | On Windows, decoding flac files is also prone to producing fragmented files. Avoid fragmentation on NTFS by using Windows specific functions to tell Windows the size of the file beforehand. Patch-from: Janne Hyvärinen <cse@sci.fi>
* stream_encoder.c : Only set 10MB output buffer on _WIN32.Erik de Castro Lopo2014-09-291-2/+7
| | | | | Commig 6a6207b52a set the size of the encoder output buffer to 10MB but this fix is really only needed on Windows, so wrap it in an #ifdef.
* Improve malformed vorbiscomment handling.Erik de Castro Lopo2014-09-272-48/+106
| | | | | | A few minor tweaks on a patch from Janne Hyvärinen <cse@sci.fi>. fixup
* metaflac : Fix typo in error message.Erik de Castro Lopo2014-09-261-1/+1
| | | | Patch-from: Janne Hyvärinen <cse@sci.fi>
* libFLAC/cpu.c : Refactor for readability.Erik de Castro Lopo2014-09-241-108/+110
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* stream_encoder.c : Give the encoder a larger stdio buffer.Erik de Castro Lopo2014-09-241-0/+2
| | | | | | | | | | | Windows in particular can experience slow encoding speeds on highly fragmented disks. Using setvbuf to increase the size of the buffer to 10Meg. This is probably not needed on Linux/Unix, but is very unlikely to to cause any negative effects. Patch-from: Janne Hyvärinen <cse@sci.fi>
* flac : Add help output for --ignore-chunk-sizes option.Erik de Castro Lopo2014-09-241-4/+0
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* libFLAC/window.c : Whitespace.Erik de Castro Lopo2014-09-231-0/+1
|
* Windows specific vsnprintf fixes.Erik de Castro Lopo2014-09-225-18/+68
| | | | | | | | | | | | | * 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>
* win_utf8_io.c : Comment only.Erik de Castro Lopo2014-09-221-0/+1
| | | | | | Explains why flac is currently incompatible with extended-length paths. Patch-from: lvqcl <lvqcl.mail@gmail.com>
* Add partial_tukey and punchout_tukey apodization functionsMartijn van Beurden2014-09-228-12/+152
| | | | | | | | | | | | | | | | | | | | 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>
* flac/utils.c : Fix calculation of a tag length.Erik de Castro Lopo2014-09-211-1/+1
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* lpc_intrin_sse41.c : Optimize decoding 24 bit files on 32 bit platforms.Erik de Castro Lopo2014-09-212-466/+289
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* lpc_intrin* : Remove unused code.Erik de Castro Lopo2014-09-214-1907/+110
| | | | | | | Which in turn simplifies FLAC__lpc_restore_signal_16_intrin_sse2() function. Patch-from: lvqcl <lvqcl.mail@gmail.com>
* fixed_intrin_sse[23].c : Add new, simpler SSE code.Erik de Castro Lopo2014-09-212-4/+24
| | | | | | | It's simpler but not faster so it is disabled by default. Maybe it will be faster on newer CPUs though.. Patch-from: lvqcl <lvqcl.mail@gmail.com>
* stream_encoder_intrin_sse[23].c : Optimize of int32 -> uint64 conversion.Erik de Castro Lopo2014-09-212-2/+2
| | | | | | | Optimizes int32 -> uint64 conversion by doing zero extension (int32 -> uint32 -> uint64) instead of sign extension (int32 -> int64 -> uint64). Patch-from: lvqcl <lvqcl.mail@gmail.com>
* win_utf8_io.c: Use fputws instead of fwprintf.Yuta NAKAI2014-09-211-1/+1
| | | | Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Minor clean up of win_utf8_io.Erik de Castro Lopo2014-09-212-3/+3
| | | | Patch-from: lvqcl <lvqcl.mail@gmail.com>
* vorbiscomment.c : Do not write empty vorbiscomment fields.Erik de Castro Lopo2014-09-191-1/+1
| | | | | | That is, only write vorbis comment fields if they are non-empty. Patch-from: Janne Hyvärinen <cse@sci.fi>