[FFmpeg-devel] av_resample_init() optimization

Michael Niedermayer michaelni
Wed Jan 6 23:43:55 CET 2010


On Wed, Jan 06, 2010 at 07:34:42PM +0100, Olivier Guilyardi wrote:
> Hi,
> 
> 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
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100106/77b375e4/attachment.pgp>



More information about the ffmpeg-devel mailing list