[Ffmpeg-devel] [PATCH] fix mpegaudiodec on ARM and benchmark

Aurelien Jacobs aurel
Thu Aug 24 23:37:45 CEST 2006


On Thu, 24 Aug 2006 02:16:25 +0300
Siarhei Siamashka <siarhei.siamashka at gmail.com> wrote:

> On Thursday 24 August 2006 01:16, Aurelien Jacobs wrote:
> 
> > > I also have a simple patch for MULS/MACS macro, it provides quite a
> > > noticeable performance improvement (with
> > > --disable-libavcodec_mpegaudio_hp option at least), but requires armv5
> > > edsp instructions support which is not available on some machines (but
> > > intel xscale should have them). If you are interested to try it, I can
> > > post it here, though it is quite trivial.
> >
> > Yes please, post it.
> > Also it would probably be enough to add a --enable-edsp switch to
> > the configure to enable those optimisations.
> 
> The patch is attached. This code will only be used 
> with --disable-libavcodec_mpegaudio_hp. 
> 
> ARCH_ARM5E should be defined for this code to be used. Right now I 
> assume that if cpu supports IWMMX instructions, it should also support 
> armv5 (don't know if it is always true). It should be probably really added 
> as an additional configure option.
> 
> Please test if this patch improves performance for you.

Here are some new benchmark with latest changes from Michael and then
adding your patch.
I will provide an improved version of your patch (with a new configure
option) later.

r6058
BENCHMARKs: VC:   0.000s VO:   0.000s A:  70.552s Sys:   0.361s =   70.913s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4909% Sys:  0.5091% = 100.0000%

r6059
BENCHMARKs: VC:   0.000s VO:   0.000s A:  69.286s Sys:   0.355s =   69.641s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4901% Sys:  0.5099% = 100.0000%

r6060
BENCHMARKs: VC:   0.000s VO:   0.000s A:  69.026s Sys:   0.354s =   69.380s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4892% Sys:  0.5108% = 100.0000%

r6061
BENCHMARKs: VC:   0.000s VO:   0.000s A:  68.849s Sys:   0.359s =   69.207s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4818% Sys:  0.5182% = 100.0000%

r6062
segfault => reverted

r6067
BENCHMARKs: VC:   0.000s VO:   0.000s A:  69.134s Sys:   0.359s =   69.493s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4833% Sys:  0.5167% = 100.0000%

r6068
BENCHMARKs: VC:   0.000s VO:   0.000s A:  68.914s Sys:   0.355s =   69.269s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4870% Sys:  0.5130% = 100.0000%

r6074
BENCHMARKs: VC:   0.000s VO:   0.000s A:  68.909s Sys:   0.354s =   69.264s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4882% Sys:  0.5118% = 100.0000%

r6074 (patched with armv5 patch from Siarhei)
BENCHMARKs: VC:   0.000s VO:   0.000s A:  66.940s Sys:   0.360s =   67.300s
BENCHMARK%: VC:  0.0000% VO:  0.0000% A: 99.4658% Sys:  0.5342% = 100.0000%

Aurel




More information about the ffmpeg-devel mailing list