[FFmpeg-devel] av_resample_init() optimization

Michael Niedermayer michaelni
Fri Jan 8 02:56:10 CET 2010


On Thu, Jan 07, 2010 at 11:46:31PM +0100, Olivier Guilyardi wrote:
> On 01/06/2010 11:43 PM, Michael Niedermayer wrote:
> > 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
> 
> Well, I tried the cubic type by settings WINDOW_TYPE to 0, and calling
> av_resample_init() as above. Initialization was indeed much faster, but it
> sounded terrible. Any advice on the parameters?

try WINDOW_TYPE 1
0 is not intended for audio but video ...

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- 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/20100108/7c077af1/attachment.pgp>



More information about the ffmpeg-devel mailing list