summaryrefslogtreecommitdiff
path: root/libswresample/soxr_resample.c
Commit message (Collapse)AuthorAgeFilesLines
* swresample/soxr: fix invalid use of linear_interpMuhammad Faiz2016-11-261-1/+1
| | | | | | | | | | | | give very bad quality for soxr resampler. linear_interp is intended for using linear interpolation between filter bank so quality will be better. i guess this is misunderstood as 'do not use filter bank, but directly interpolate linearly between samples'. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample: add exact_rational optionMuhammad Faiz2016-06-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | give high quality resampling as good as with linear_interp=on as fast as without linear_interp=on tested visually with ffplay ffplay -f lavfi "aevalsrc='sin(10000*t*t)', aresample=osr=48000, showcqt=gamma=5" ffplay -f lavfi "aevalsrc='sin(10000*t*t)', aresample=osr=48000:linear_interp=on, showcqt=gamma=5" ffplay -f lavfi "aevalsrc='sin(10000*t*t)', aresample=osr=48000:exact_rational=on, showcqt=gamma=5" slightly speed improvement for fair comparison with -cpuflags 0 audio.wav is ~ 1 hour 44100 stereo 16bit wav file ffmpeg -i audio.wav -af aresample=osr=48000 -f null - old new real 13.498s 13.121s user 13.364s 12.987s sys 0.131s 0.129s linear_interp=on old new real 23.035s 23.050s user 22.907s 22.917s sys 0.119s 0.125s exact_rational=on real 12.418s user 12.298s sys 0.114s possibility to decrease memory usage if soft compensation is ignored Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* swresample: allow double precision beta value for the Kaiser windowGanesh Ajjanagadde2015-11-081-1/+1
| | | | | | | | | | | | | Kaiser windows inherently don't require beta to be an integer. This was an arbitrary restriction. Moreover, soxr does not require it, and in fact often estimates beta to a non-integral value. Thus, this patch allows greater flexibility for swresample clients. Micro version is updated. Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* swresample: soxr implementation for swr_get_out_samples()Rob Sykes2015-06-211-4/+30
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample: Add prefix to soxr_resamplerMichael Niedermayer2015-02-271-1/+1
| | | | | | also move declaration to header Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swresample/soxr_resample: fix error handlingRob Sykes2014-12-131-2/+6
| | | | | | Fixes CID1257659 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: handle initial negative sample index outside DSP function.Ronald S. Bultje2014-06-141-0/+7
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* soxr: libsoxr 0.1.1 supportRob Sykes2013-03-011-0/+4
| | | | | | | Libsoxr 0.1.1 will be out very soon; no changes planned beyond what's currently in git. It includes a couple of fixes (not affecting FFmpeg's current usage) and a minor API change (but remains ABI compatible). Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* soxr_resample: soxr API parameter renameRob Sykes2012-12-271-1/+1
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* soxr_resample: Correct email addressRob Sykes2012-12-271-1/+1
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* swr: Add SOX resampler supportRob Sykes2012-12-111-0/+89
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>