shithub: libsamplerate

ref: ee297c7f1c777c6c5a1e93a6357e6419a5c40b0b
dir: /ChangeLog/

View raw version
2007-01-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Refactor checking of supplied src ratio against min and max.

    * configure.ac
    Remove -pendantic from CFLAGS and add -std=gnu99.

    * tests/callback_hang_test.c tests/Makefile.am
    Add new test program and hook it into build.

    * src/src_linear.c src/src_sinc.c src/src_zoh.c
    Fix a bug where the src_callback_read () function would hang under varying
    src_ratio.

2007-01-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/api.html doc/api_callback.html doc/api_misc.html
    Update docs to make handling of interleaved data more explicit.

2006-07-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Fix bug arising from last change.

    * configure.ac
    Add -Wpointer-arith to CFLAGS.

2006-07-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Be more explicit about setting the audio output format.

2006-06-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c src/src_linear.c src/src_sinc.c
    Fix MSVC compiler warnings.

2006-05-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/calc_snr.c
    Fix minor bug in analysis routines.

    * tests/varispeed_test.c tests/snr_bw_test.c
    Fix knock on effects of above change.

2006-05-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/Makefile.am
    Update check-asm rule to check src_linear.c and src_zoh.c.

    * src/src_linear.c
    Remove all uses of floor() function.

2006-04-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.[ch] src/Version_script.in
    Add functions src_int_to_float_array and src_float_to_int_array.

    * tests/float_short_test.c
    Update test to including testing of above.

    * doc/api_misc.html
    Update docs for the above addition.

2006-03-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h src/src_*.c src/samplerate.c
    Add slots for vari_process and const_process functions.

    * tests/varispeed_test.c tests/Makefile.am
    Add new test and hook into build.

    * tests/util.[ch]
    Add new function reverse_data.

2005-12-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Exit if SRC ratio is 1.0. Suggested by Bram de Jong.

2005-11-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/timewarp-file.c
    New file.

2005-09-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/float_cast.h
    Update to include Cygwin specific fixes.

    * doc/api_callback.html
    Complete the documentation of the callback API.

2005-08-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/termination_test.c
    Rename term_test() to init_term_test() and add extra test functionality
    to sanity test the first sample output after reset.

    * src/src_zoh.c src/src_linear.c
    Fix bug found by new test. Thanks Stas Sergeev for bringint this to my
    attention.

2005-08-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/Makefile.am
    Fix a bug preventing the inclusion of the html API docs in the tarball.

    * src/src_zoh.c src/src_linear.c
    Improve calculation of input_index.
    Fix updating of input_index (thanks to Stas Sergeev).

    * tests/calc_snr.c
    Fix a compile problem when FFTW is not present (thanks to Stas Sergeev).

2005-04-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac src/Makefile.am
    Fix minor problems with generation of shared library version number.

2005-02-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/faq.html
    Add a question about the use of src_simple().

    * src/api_simple.html
    Fix defintion of src_ratio.

2004-12-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac tests/Makefile.am tests/*.c
    Ditch detection and use of libefence. Valgrind is a far better debugging
    tool.

    * INSTALL
    Write complete libsamplerate specific install instructions.

2004-10-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/configure.ac src/makefile.am
    Finally fix the bulding of DLLs on Win32/MinGW.

    * tests/makefile.am
    Fix running of tests on Win32/MinGW.

2004-09-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac Win32/Makefile.mingw.in
    More support for compiling on Win32 using MinGW. Now uses FFTW3.

    * examples/audio_out.c
    Remove include of <mmreg.h> on win32.

2004-09-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac Win32/Makefile.mingw.in
    Add preliminary support for compiling on Win32 using MinGW.

    * configure.ac
    Bump version to 0.1.2.
    Add --enable-gcc-werror configure option.

    * examples/sndfile-resample.c tests/src-evaluate.c
    Use ISO C standard function remove instead of unlink.

    * Win32/Makefile.msvc
    Add the top level directory to the include path (for sndfile.h).

2004-09-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/util.h tests/*.c
    Move macros for ABS, MIN, MAX and ARRAY_LEN to util.h.

    * tests/reset_test.c
    Add test function callback_reset_test() to test for the problem below.

    * src/samplerate.c
    Reset SRC_PRIVATE fields saved_data and saved_frames in src_reset(). Thanks
    to Justin Drury for pointing this out.

2004-08-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Fix typos in converter name strings. Thanks to Tom Szilagyi for finding them.

2004-07-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Bump version to 0.1.1.

    * doc/*.html Win32/config.h
    Changes for new version.

    * Makefile.am src/Makefile.am
    Add "make check-asm" target which is not used by default.

2004-06-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Use fmod() to calculate input_index. This is more resitant to rounding
    errors than input_index -= floor (input_index).

2004-06-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Removed redundant field in SINC_FILTER struct.

2004-06-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Modified to restart conversion if clipping has occurred.

2004-06-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/benchmark.c
    Added benchmark program.

2004-05-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/callback_test.c
    Improve callback_test to find input/output length mismatches. This also
    catches the bug Mark Deggeller reported.

2004-05-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Fix a bug in src_callback_read() reported by Mark Deggeller. Data retreived
    but not used during one call to src_callback_read() must be saved for the
    next call.

    * src/common.h
    Add fields saved_frames and saved_data to SF_PRIVATE struct for storing
    data between sucessive calls to src_callback_read().
    Also rearange the fields of SF_PRIVATE.

2004-03-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Use AC_HELP_STRING in AC_ARG_ENABLE statements.

2004-03-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h Win32/sndfile.h
    Updates for Win32.

2004-02-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * NEWS README
    Finally got around to adding text to these.

    * doc/win32.html doc/history.html
    Minor updates.

2004-01-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h
    Changed allowed SRC ratio to range [1/256, 256].

    * configure.ac tests/snr_bw_test.c tests/src-evaluate.c tests/Makefile.am
    Use FFTW3 instead of version 2.

2003-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/api.html doc/api_misc.html
    Add documentation for conversions functions.

    * doc/faq.html
    Add Q/A about detecting presence of libsamplerate.

2003-12-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h src/samplerate.c
    Added functions for short->float and float->short conversions on arrays
    of data. This will make it a little easier for people who need the
    input or output data in shorts rather than floats.

    * configure.ac
    Added tests for CPU clipping mode which was required for the float to
    short conversion.

    * tests/float_short_test.c
    New code for testing the new functionality.

2003-10-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_zoh.c src/src_linear.c
    Fixed an off-by-one indexing issue which was causing distortion at the
    boundaries between calls to src_process().

    * tests/multi_channel_test.c
    Finally passing tests for all three access methods (simple, process and
    callback).

2003-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/calc_snr.c
    SNR calculation was being screwed up because the peak detector was
    mistaking side lobes caused by the windowded FFT as noise/aliasing peaks.
    Therefore added code to wipe out the troughs between peaks which erases
    the side lobe peaks without affecting the noise/aliasing peaks.

    * tests/multi_channel_test.c
    Added a callback_test to work on multiple channels.

2003-10-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h
    Add definitions for the callback based API (src_callback_new and
    src_callback_read).

    * doc/*.html
    Add link to faq.html.

    * doc/faq.html
    Add a new question/answer.

    * src/samplerate.c tests/callback_test.c
    Move callback functions (src_callback_new and src_callback_read) from
    callback_test.c to samplerate.c
    Add checking to make sure that an SRC_STATE object created with
    src_callback_new() is not used with src_process() etc.

    * examples/varispeed.c
    Add #include <stdlib.h> to prevent compiler warning.

    * src/samplerate.h
    Add definitions for the callback based API.

    * src/Version_script.in
    Add entries for two new public functions.

2003-10-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/callback_test.c
    More work on getting callback based API working.

    * tests/termination_test.c
    Tightened up the test pass crieria yet again. This shows up problems
    with the ZOH and Linear converters.

    * src/src_zoh.c src/src_linear.c
    Fixed problems with converters shown up by improved tests.

2003-09-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/api.html
    Be more explicit about the inclusion of <samplerate.h>.

2003-09-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c examples/audio_out.c
    Add include for <stdlib.h>.

    * configure.ac
    Check for libsndfile >= 1.0.6.

    * examples/sndfile-resample.c
    Turn on clipping of output when saving to integer PCM output formats.

2003-08-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/callback_test.c
    Start work on a callback based API. The implementation will be done
    in this test program first and when it is working, the code that does
    the work will be moved back to the library code.

2003-08-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/bugs.html
    New file detailing how to submit bug reports for SRC.

2003-08-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * libsamplerate.spec.in
    Apply corrections from Giuliano Pochini.

2003-08-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/snr_bw_test.c
    Added test for conversion ratio of 1.0 for all converters. For this
    conversion ratio, all converters have a better than 149db SNR ratio.

    * src/src_linear.c
    Changes to make this converter work more like src_zoh.c.

2003-05-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/quality.html
    Fixed a couple of broken links pointed out by Anand Kumria.

2003-05-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h
    Add URL of API documentation to the top of file.

    * doc/api_misc.html
    Clarify use of SRC_DATA struct.

2003-04-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/reset_test.c
    Add call to src_set_ratio() to test that this function has been exported.

2003-03-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * samplerate.pc.in
    Changed 'sndfile' to 'samplerate'.

2003-02-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_zoh.c
    Fixed a bug causing clicks in the output data.

2003-02-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Fixed a compiler warning.

    * tests/termination_test.c
    Tightened up the test pass crieria.

    * src/src_sinc.c
    Fixed bug showed up by new termination tests.

2003-02-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Fixed a bug which was messing up handling of multi-channel files.

    * tests/multi_channel_test.c
    Disabled all the new code.

2003-02-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/multi_channel_test.c
    Rehacking multi-channel tests to find possible problems in src_process()
    when processing multichannel data. Need to use signal to noise ratio
    measurements.

    * tests/Makefile.am
    Mods to add calc_snr.c and utils.c to build of multi_channel_test.

    * tests/util.[ch]
    Add functions for interleaving and de-interleaving data.

2003-01-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h
    Added Win32 specific #pragma to disable warnings when double precision
    constants are assigned to floats.

    * tests/calc_snr.c
    Added #include <string.h> to prevent compiler warning about use of memset()
    function.

2003-01-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.[ch]
    Added function src_set_ratio() at the suggestion of Dr William Bland.

    * doc/api_full.html
    Added docs for above function.

2003-01-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/Makefile.am tests/Makefile.am
    Fixes for Mac OSX.
    Tidy up handling addition of SNDFILE_CFLAGS

2003-01-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h
    Disabled HAVE_STDINT_H for Win32.

    * Win32/unistd.h
    Added empty header file for Win32.

    * src/audio_out.c
    Final fixes to get audio out working on Win32.

2003-01-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Phase one or refactoring. Replace use of a circular buffer to hold short
    window of data with a linear buffer.
    Linear buffer requires that data is periodically copied from the end if
    the buffer back to the beginning. However, it also means that the
    calc_output() function no longer needs to calculate the next data index
    modulo the buffer length.
    Since the data index is calculated 40 times (minimum) per output sample,
    and the copy from end of buffer to start of buffer is done every 1000 or
    so output samples, this change results in a significant speedup (up to
    about 50% improvement for SRC_SINC_FASTEST).
    Memory use has increased somewhat (max 6k per channel per converter) due
    to this fix, but that should go down again during next phase of
    refactoring.

    * examples/varispeed-play.c
    Fixed a bug where data_in and data_out buffers were overlapping.

2003-01-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/win32.html
    Completed documentation on compiling for Win32.

    * doc/*.html
    Added links to Win32 compiling information.

    * configure.ac tests/Makefile.am
    Detect libefence and link it to all the test programs if configued
    with --enable-debug.

    * tests/utils.[ch]
    New function force_efence_banner().

    * tests/*test.c
    Add a call to force_efence_banner() to force printing of the Electric Fence
    banner at start of program.

2003-01-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Added --enable-debug configuration flag.

    * tests/termination_test.c
    More modifications to catch corner cases.
    Added extra test to check for negative return values for input_frames_used
    and output_frames_gen fields of SRC_DATA.

    * src/src_zoh.c src/src_linear.c
    Fixed more bugs found using modified streaming_test.

    * src/samplerate.c
    Set input_frames and output_frames of SRC_DATA to zero if they are negative.
    Add check for overlapping SRC_DATA data_in and data_out arrays.

    * doc/api_full.html
    Document the fact that the SRC_DATA->data_in and data_out arrays may not
    overlap. Thanks to Paul Davis for pointing out this documentation oversight.

2002-12-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/termination_test.c tests/streaming_test.c
    Merged these two test programs into termination_test.c.

    * tests/Makefile.am
    Modified for above change.

    * src/src_zoh.c src/src_linear.c
    Fixed bug found using modified streaming_test.

2002-12-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c src/src_*.c
    Changed the way multichannel accounting was done.

2002-12-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/snr_bw_test.c
    Rearranged order of tests.

2002-12-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/lists.html
    Added "subscribe" HREF.

2002-12-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_zoh.c src/src_linear.c
    Fixed a bug which was causing an incorrent number of output samples to be
    generated for a given conversion ratio and number of input samples.

    * tests/streaming_test.c tests/termination_test.c
    Modified pick up the above problem if it returns.

2002-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/streaming_test.c
    Modified to mix long and short input buffers. This will help testing of
    smooth switching between standard sinc_process() and long_sinc_process().

2002-12-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    More hacking to get this working on Win32.

    * tests/src-evaluate.c
    More work.

2002-12-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.[ch] src/Version_script.in Win32/libsamplerate.def
    Added function src_get_version() to return a version string.

    * examples/sndfile-resample.c
    Add "--version" option to print out a version string.

    * tests/src-evaluate.c
    New file. This program will be used to evaluate other sample rate
    converters for comparison to the rabbit.

    * tests/calc_snr.[ch] tests/snr_bw_test.c
    Minor changes required by src-evaluate program.

2002-12-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h
    New file for Win32. When building for Win32, this file gets copied into the
    src/ directory.

    * Make.bat
    First attempt to see if this works.

    * src/*.[ch]
    Changed name of SRC_PRIVATE filed errno to error because the brain damaged
    Win32 compiler was barfing.

2002-12-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Now working on MacOSX.

    * examples/varispeed-play.c
    Add ability to choose converter.

2002-12-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Fixes for MacOSX.

    * examples/new-varispeed-play.c examples/varispeed-play.c
    The first file replaces the later.

2002-12-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/float_cast.h
    New file for lrint() and lrintf().

    * src/common.h src/src_*.c
    Add workaround for systems without <stdint.h>.
    Add #include "float_cast.h" to pick up replacement lrint() and lrintf()
    functions.

    * examples/audio_out.c
    Fixes for the case where libsndfile is not found.

    * new-varispeed-play.c
    Fixes for Solaris. Now works.

2002-11-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/high_qual_coeffs.h
    Conrad Parker found a file which produced clicking when run thru the
    SRC_SINC_BEST_QUALITY filter. Recalculated the filter with slightly less
    stringent design parameters and fixed the problem. The band with of the
    new filter is 96.6% while the old one was a little ober 97%.

2002-11-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * All files.
    libsamplerate is working. There have been a couple of private releases
    for people to test but no public release.