Commit Graph

17 Commits

Author SHA1 Message Date
Janne Grunau a24a252709 aarch64: NEON optimized FIR audio resampling
Optimized for the default filter length 16.

30% faster opus silk decoding.
2014-04-24 18:28:26 +02:00
Janne Grunau cae8df7875 lavr: define ResampleContext in resample.h
Required for arch optimized resampling.
2014-04-24 18:28:26 +02:00
Anton Khirnov 21d8f4da91 resample: remove an unneeded context variable 2014-04-17 20:08:19 +02:00
Anton Khirnov f7c5fd8151 resample: implement flushing 2014-04-13 11:15:45 +02:00
Anton Khirnov 254c95cdd1 resample: split linear into its own function 2014-04-11 16:34:02 +02:00
Anton Khirnov be394968c8 resample: add initial padding explicitly
This simplifies the code, since we do not have to deal with a possibly
negative source index anymore.
2014-04-11 16:33:46 +02:00
Anton Khirnov f20892eb67 resample: split the nearest neighbour path into a separate function pointer 2014-04-11 16:26:36 +02:00
Anton Khirnov b9dea23766 resample: fix avresample_get_delay() return value
The correct "next" input sample is not the first sample of the
resampling buffer, but the center sample of the filter_length-sized
block at the beginning.

CC:libav-stable@libav.org
2014-04-11 16:21:25 +02:00
Justin Ruggles 4d68269d58 lavr: typedef internal structs in internal.h
Simplifies header dependencies by not including all other internal headers
in internal.h.
2013-01-07 21:49:05 -05:00
Justin Ruggles f1c2915ce1 lavr: remove automatic context close/open for resampling compensation
It adds unnecessary complication for insignificant usability improvement.
The user really should know if they'll need resampling compensation before
opening the context.

Note that only the documentation has changed. The current functionality will
still work until the next major bump.
2012-12-16 19:26:17 -05:00
Justin Ruggles f322b20735 lavr: only save/restore the mixing matrix if mixing is being done 2012-12-16 19:26:17 -05:00
Justin Ruggles 1d86aa8b0f lavr: do not pass consumed samples as a parameter to ff_audio_resample()
Since the resampler handles buffering of unconsumed samples internally, the
caller does not need this information.
2012-11-27 16:49:19 -05:00
Martin Storsjö 1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Diego Biurrun 3aa696e883 avresample: De-doxygenize some comments where Doxygen is not appropriate 2012-08-11 20:22:01 +02:00
Justin Ruggles 6410397600 lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
Based partially on implementation by Michael Niedermayer <michaelni@gmx.at> in
libswresample in FFmpeg. See commits:
7f1ae79d38
24ab1abfb6
2012-07-08 15:22:11 -04:00
Justin Ruggles 372647aed0 lavr: resampling: add filter type and Kaiser window beta to AVOptions 2012-07-08 15:22:11 -04:00
Justin Ruggles c8af852b97 Add libavresample
This is a new library for audio sample format, channel layout, and sample rate
conversion.
2012-04-24 21:28:27 -04:00