ffmpeg/libswresample
Muhammad Faiz b8c6e5a661 swresample: add exact_rational option
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>
2016-06-13 12:36:01 +07:00
..
aarch64
arm swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
x86 swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
audioconvert.c
audioconvert.h all: Make header guard names consistent 2016-01-31 15:44:11 -08:00
dither_template.c swresample/dither_template: Add missing license header 2015-09-27 13:09:10 +02:00
dither.c
libswresample.v
log2_tab.c
Makefile
noise_shaping_data.c
options.c swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
rematrix_template.c swresample/rematrix: Use clipping s16 rematrixing if overflows are possible 2016-05-15 22:25:34 +02:00
rematrix.c swresample/rematrix: Use clipping s16 rematrixing if overflows are possible 2016-05-15 22:25:34 +02:00
resample_dsp.c swresample/arm: add ff_resample_common_apply_filter_{x4,x8}_{float,s16}_neon 2016-05-13 21:13:46 +02:00
resample_template.c swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
resample.c swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
resample.h swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
soxr_resample.c swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
swresample_frame.c
swresample_internal.h swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
swresample-test.c all: add const-correctness to qsort comparators 2015-10-25 10:07:20 -04:00
swresample.c swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
swresample.h doc/resampler, swresample/options: use proper capitalization 2015-10-10 20:49:54 +02:00
swresampleres.rc
version.h swresample: add exact_rational option 2016-06-13 12:36:01 +07:00