[MPlayer-dev-eng] [PATCH] Optimized libmpeg2 routines for ARM/Xscale

Siarhei Siamashka siarhei.siamashka at gmail.com
Tue May 8 00:08:38 CEST 2007


On Monday 07 May 2007 22:53, Siarhei Siamashka wrote:
> On Monday 07 May 2007 15:17, Guillaume POIRIER wrote:
> > On 5/5/07, Guillaume POIRIER <poirierg at gmail.com> wrote:
> > > Hi there,
> > >
> > > Attached patch features $SUBJ. It's just a re post of a patch posted
> > > by David Bateman while I was on hollidays, but never made it to SVN.
> > > It was advised to send these changes to libmpeg2 team directly, but
> > > since this project hasn't even acknowledged the message, I plan to
> > > apply attached patch in a few days.
> >
> > No objection? I'll apply it tonite unless there's ojection since then.
>
> This patch breaks compilation:
>
> motion_comp.c: In function `mpeg2_mc_init':
> motion_comp.c:71: error: `MPEG2_ACCEL_ARM' undeclared (first use in this
> function)
> motion_comp.c:71: error: (Each undeclared identifier is reported only once
> motion_comp.c:71: error: for each function it appears in.)
>
> These MPEG2_ACCEL_ARM and MPEG2_ACCEL_ARM_IWMMXT are not
> defined anywhere.

Hmm, you were too fast to commit this broken code, while I was still testing
it and typing a reply :) Could you please CC me next time when planning ARM
related changes and wait for at least a few days before commiting them?

Anyway, here is some fix to solve compilation problems attached. But would you
prefer libmpeg2-style runtime cpu capabilities detection by setting signal
handler and catching exception?

I also have run a test for some short mpeg1 video clip with '-vo md5sum', it
did not detect any problems, result is the same as with old code. 

Benchmark on Nokia N800:

Older revision 23253:
BENCHMARKs: VC: 124.349s VO:   0.126s A:   0.000s Sys:   4.716s =  129.191s

Latest revision with ARM (actually ARMv5 because of PLD) optimized motion 
compensation code:
BENCHMARKs: VC: 114.727s VO:   0.123s A:   0.000s Sys:   5.102s =  119.951s


So not everything is bad. And it is not surprising, I have been using the
same libmpeg2 ARM optimized motion compensation code written by 
AGAWA Koji for more than half a year in MPlayer build for Nokia 770.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libmpeg2_arm_fix.diff
Type: text/x-diff
Size: 1073 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20070508/b0c1fc10/attachment.diff>


More information about the MPlayer-dev-eng mailing list