[FFmpeg-devel] av_resample_init() optimization
Wed Jan 6 23:43:55 CET 2010
On Wed, Jan 06, 2010 at 07:34:42PM +0100, Olivier Guilyardi wrote:
> I'm using libavcodec resampling on an Android ARM (Qualcomm MSM7200A 528 MHz)
> device, without FPU support. The fact that it's integer-based is really great
> for performances (this is for a closed source application, but I plan full LGPL
> compliance with dynamic linking).
> Nevertheless, there is an overhead upon initialization, when calling:
> av_resample_init(44100, 48000, 16, 10, 0, 0.8).
> This comes from av_build_filter() which takes about 6.9 *seconds* to build the
> polyphase filterbank.
uhm 7 seconds
> About 300ms (4%) can be saved by applying resample-xfactor.1.patch to r21036. It
> caches some constant factor, and prevent bessel() and sqrt() from being called
> when unnecessary. I'm not sure whether the cached factor affects accuracy.
dont use kaiser windows if you have no FPU or optimize the code properly
its surely possibly to do this faster with table and cubic interpolation
also i think your float/double emulation might be trash because even without
FPU 7sec appears quite extreem, it just calculates ~16k samples of a function
on a ~500mhz cpu in 7sec thats 200k cpu cycles for a single value
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Dictatorship naturally arises out of democracy, and the most aggravated
form of tyranny and slavery out of the most extreme liberty. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel