- Feb 25, 2017
-
-
Carl Eugen Hoyos authored
Fixes undefined behaviour and a gcc warning: libswresample/rematrix.c:376:47: warning: iteration 64 invokes undefined behavior
-
- Feb 16, 2017
-
-
Matthieu Bouron authored
-
- Jan 13, 2017
-
-
Matthieu Bouron authored
-
Matthieu Bouron authored
-
- Dec 13, 2016
-
-
Muhammad Faiz authored
integrate it inside multiple_resample allow some calculations to be performed outside loop Suggested-by:
Michael Niedermayer <michael@niedermayer.cc> Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
Muhammad Faiz authored
This should fix Ticket6012 Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
- Dec 10, 2016
-
-
Michael Niedermayer authored
This is faster 2871 -> 2189 cycles for int16 matrixbench -> 23456hz Fixes a integer overflow in a artificial corner case Fixes part of 668007-media Found-by:
Matt Wolenetz <wolenetz@google.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Fixes undefined operation Fixes part of 668007-media Found-by:
Matt Wolenetz <wolenetz@google.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- Dec 03, 2016
-
-
Muhammad Faiz authored
Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
- Nov 25, 2016
-
-
Muhammad Faiz authored
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>
-
- Nov 24, 2016
-
-
Muhammad Faiz authored
separate dsp.resample to dsp.resample_common and dsp.resample_linear and choose to call faster resample_common even when linear_interp=on when c->frac and c->dst_incr_mod are both zero speed up resampling when exact_rational and linear_interp are both enabled because exact_rational force c->frac and c->dst_incr_mod to be zero when soft compensation does not happen benchmark on exact_rational=on:linear_interp=on old new real 8.432s 5.097s user 7.679s 4.989s sys 0.125s 0.107s Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
- Oct 26, 2016
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Vodyannikov Aleksandr authored
Fixes Ticket #5897. Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- Oct 18, 2016
-
-
Muhammad Faiz authored
return AVERROR code on error Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
- Sep 27, 2016
-
-
Michael Niedermayer authored
Found-by:
James Almer <jamrial@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
API and Doxy documentation is taken from avresample_build_matrix() Fixes: Ticket5780 Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- Aug 18, 2016
-
-
Paul B Mahol authored
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- Aug 03, 2016
-
-
Timothy Gu authored
-
- Jun 22, 2016
-
-
Clément Bœsch authored
-
- Jun 20, 2016
-
-
Muhammad Faiz authored
phase_shift and phase_mask is removed generally exact_rational=on is faster than exact_rational=off Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
- Jun 17, 2016
-
-
Muhammad Faiz authored
high phase_count is only useful when dst_incr_mod is non zero in other word, it is only useful on soft compensation on init, it will build filter with low phase_count but when soft compensation is enabled, rebuild filter with high phase_count this approach saves lots of memory Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
Muhammad Faiz authored
because exact_rational does not guarantee that phase_count is even Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Muhammad Faiz <mfcc64@gmail.com>
-
- Jun 13, 2016
-
-
Muhammad Faiz authored
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>
-
- May 16, 2016
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- May 15, 2016
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
This fixes the sum of the integer coefficients ending up summing to a value larger than the value representing unity. This issue occurs with qN0.dts when converting to stereo Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- May 13, 2016
-
-
Matthieu Bouron authored
-
- Mar 22, 2016
-
-
Michael Niedermayer authored
Found-by: wm4 Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- Feb 14, 2016
-
-
James Almer authored
Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
James Almer <jamrial@gmail.com>
-
- Jan 31, 2016
-
-
Timothy Gu authored
-
- Dec 24, 2015
-
-
Ganesh Ajjanagadde authored
Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com>
-
- Dec 04, 2015
-
-
Clément Bœsch authored
-
- Nov 15, 2015
-
-
Ganesh Ajjanagadde authored
It is inherently double precision, and 1.0 is perfectly represented anyway. Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com>
-
- Nov 11, 2015
-
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- Nov 09, 2015
-
-
Ganesh Ajjanagadde authored
This may be a slightly surprising optimization, but is actually based on an understanding of how math libraries compute trigonometric functions. Explanation is given here so that future development uses libm more effectively across the codebase. All libm's essentially compute transcendental functions via some kind of polynomial approximation, be it Taylor-Maclaurin or Chebyshev. Correction terms are added via polynomial correction factors when needed to squeeze out the last bits of accuracy. Lookup tables are also inserted strategically. In the case of trigonometric functions, periodicity is exploited via first doing a range reduction to an interval around zero, and then using some polynomial approximation. This range reduction is the most natural way of doing things - else one would need polynomials for ranges in different periods which makes no sense whatsoever. To avoid the need for the range reduction, it is helpful to feed in arguments as close to the origin as possible for the trigonometric functions. In fact, this also makes sense from an accuracy point of view: IEEE floating point has far more resolution for small numbers than big ones. This patch does this for the Blackman-Nuttall filter, and yields a non-negligible speedup. Sample benchmark (x86-64, Haswell, GNU/Linux) test: fate-swr-resample-dblp-2626-44100 old: 18893514 decicycles in build_filter (loop 1000), 256 runs, 0 skips 18599863 decicycles in build_filter (loop 1000), 512 runs, 0 skips 18445574 decicycles in build_filter (loop 1000), 1000 runs, 24 skips new: 16290697 decicycles in build_filter (loop 1000), 256 runs, 0 skips 16267172 decicycles in build_filter (loop 1000), 512 runs, 0 skips 16251105 decicycles in build_filter (loop 1000), 1000 runs, 24 skips Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com>
-