Author Topic: New Optimized Mplayer For Pxa25x-based Zaurus Mode  (Read 19546 times)

anrp

  • Newbie
  • *
  • Posts: 16
    • View Profile
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« on: January 29, 2005, 10:42:01 pm »
(This is sort of out-of-date now. Try looking at page two for more information...)

I'd like to present my contribution to these forums: a PXA25x-optimized mplayer build
(Meaning 5600, C700, C760, C860. Sorry C3000 users  since I don't have a C3000, I can't test on one. Now, if someone wants to give me one, I'll gladly compile an optimized binary.  )

It can be found at:
http://web.mit.edu/~anrp/www/zaurus/mplayer/

(Edit: Forgot to say this is commandline only, maybe the Kino2 author wants to stick it into their program?)
(Edit2: Updated the binary with mp3lib disabled (so only libmad now) as well as enabling tremor decoding)

The contents of the readme are pasted below:

---
The files mplayer-static-softvfp-ipp and mplayer-static-softvfp-ipp-nofastmath
are specially compiled and optimized binaries for the Zaurus series of
handheld computers. As far as I know, they are the fastest mplayers built
for the PXA25x-based Zaurus models.

It was compiled using gcc-3.4.3, options were as such:
-mcpu=xscale -mtune=xscale -Wa,-mfpu=softvfp -O4 -pipe -ffast-math \
   -fomit-frame-pointer
(The -nofastmath one doesn't have -ffast-math..slows it down for some
bizzare reason on the C860. o_O)

There are two binaries here, one works a bit better on the PXA255, and the
other one works better on the PXA250 (5600):
  - mplayer-static-softvfp-ipp-nofastmath works better on the Cx60/PXA255
  - mplayer-static-softvip-ipp works better on the 5600/PXA250

These binaries should work on any PXA25x series processor, regardless of
the ROM you have installed or any possible modifications that may have been
made, due to the fact that it is statically linked! :-)

Vorbis is enabled, through the tremor integer decoder library. Also, on
the Cx60 series, you may have to rotate the video stream during playback.

You can do that with -vop rotate=1 (for it to be correct when the Zaurus
is in the micro-laptop configuration.)

These binaries includes the W100 driver for the Cx60 model PDAs, as well as
an fbdev driver for the 5x00 series.

The file 5600-benchmarks.txt contains some benchmarks of tmm-11.avi using
a Zaurus 5600, fbdev driver. The file C860-benchmarks.txt contains
benchmarks using the w100 output driver. (Both were overclocked during
the test.)

I would like to point out that I am using atty.jp's sources, many thanks
to AGAWA Koji for his optimizations and writing the W100 driver!

The test file used for the benchmarking was the file tmm-11.avi in this
directory, a 320x240 encode of a fansub of an anime series called Tokyo
Mew Mew (episode 11.) Video bitrate is ~374kbps MPEG4, audio bitrate is
160 using the MP2 codec. The file is 1460 seconds long.

~anrp
« Last Edit: February 01, 2005, 06:05:32 pm by anrp »

maslovsky

  • Hero Member
  • *****
  • Posts: 1426
    • View Profile
    • http://my-zaurus.narod.ru
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #1 on: January 30, 2005, 06:11:16 am »
Quote
maybe the Kino2 author wants to stick it into their program, maybe?)

I'd be glad to, but I can't even get to your page...

Code: [Select]
Forbidden
You don't have permission to access /~anrp/www/zaurus/mplayer/ on this server.


--------------------------------------------------------------------------------

MIT Web Server Apache/1.3.26 Mark/1.4 Server at web.mit.edu Port 80
« Last Edit: January 30, 2005, 06:13:27 am by maslovsky »

maslovsky

  • Hero Member
  • *****
  • Posts: 1426
    • View Profile
    • http://my-zaurus.narod.ru
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #2 on: January 30, 2005, 08:45:31 am »
OK, I finaly got the files.

maslovsky

  • Hero Member
  • *****
  • Posts: 1426
    • View Profile
    • http://my-zaurus.narod.ru
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #3 on: January 30, 2005, 08:48:21 am »
Quote
Also, vorbis is enabled, but through the
FPU-emulated libvorbis (didn't get tremor working for some reason. If
there's enough interest I'll try to rebuild with tremor enabled...)

Yes, that would be nice, as it would allow to encode and playback OGM video files, possibly with better performance with integer-only tremor audio codec.

anrp

  • Newbie
  • *
  • Posts: 16
    • View Profile
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #4 on: January 30, 2005, 10:48:01 am »
maslovsky: Guess that was enough interest for me   Anyway, updated the binaries on that site, now they have mp3lib disabled and tremor enabled (and changed the top post to reflect that.)

ev1l

  • Hero Member
  • *****
  • Posts: 608
    • View Profile
    • http://bbshuffle.blogspot.com/
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #5 on: January 30, 2005, 10:56:07 am »
I thought the build kino2 used already had w100 hardware support, the absence of wich negated any other kind of optimization. Someone please enlighten me

anrp

  • Newbie
  • *
  • Posts: 16
    • View Profile
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #6 on: January 30, 2005, 11:02:04 am »
Well, the reason I built this is that it is built with the latest release compiler (gcc-3.4.3), and built statically (works on X11 and Qt ROMs - only has fbdev and w100 video output drivers, though.) Video decoding is about 8% faster than the mplayer included with Kino2.

Oh, and because I could.

anrp

  • Newbie
  • *
  • Posts: 16
    • View Profile
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #7 on: January 30, 2005, 11:43:49 am »
I just ran another benchmarking run, and it may be that the the fast-math-enabled binary is slightly faster on the C860... which is strange, because it wasn't before. o.O The difference is minimal (1%) but is is there.. I may run some more benchmarks to confirm that.

maslovsky

  • Hero Member
  • *****
  • Posts: 1426
    • View Profile
    • http://my-zaurus.narod.ru
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #8 on: January 30, 2005, 01:22:40 pm »
Quote
maslovsky: Guess that was enough interest for me   Anyway, updated the binaries on that site, now they have mp3lib disabled and tremor enabled (and ch

This is very good!  I'm going to do some tests tomorrow wirh my movies encoded from DVD. I'm hoping that OGM videos (DivX + OGG) along with this version of mplayer will alow me to smothly play 640x352 500 Kb/s video.

I'm also hoping that you'll keep producing mplayer builds form atty.jp current SVN trunk whenever new coll functionality is checked in

maslovsky

  • Hero Member
  • *****
  • Posts: 1426
    • View Profile
    • http://my-zaurus.narod.ru
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #9 on: January 30, 2005, 01:32:19 pm »
Quote
I thought the build kino2 used already had w100 hardware support, the absence of wich negated any other kind of optimization. Someone please enlighten me
[div align=\"right\"][a href=\"index.php?act=findpost&pid=64559\"][{POST_SNAPBACK}][/a][/div]

The was a lot of development done in the optimised mplayer since its last release, but new version only existed in SVN source tree. There are also some bug fixes, like MP3 VBR length calculation, OSD rotation, updated version of Intel optimization liibrary etc. Also new version of GCC compiler, linking with softfload will definitely improve performance.

I was hoping to setup a build environment myself some day, but now I'm glad that anrp rid me of doing that

maslovsky

  • Hero Member
  • *****
  • Posts: 1426
    • View Profile
    • http://my-zaurus.narod.ru
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #10 on: January 30, 2005, 02:23:24 pm »
One preliminary result is that this version of mplayer can now play WMA files properly, although I had to overclock my Zaurus. Processor load is still very high - 60-70%, but prevsous versions couldn't do even that.

kfetisov

  • Newbie
  • *
  • Posts: 18
    • View Profile
    • http://
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #11 on: January 31, 2005, 03:43:18 am »
Quote
One preliminary result is that this version of mplayer can now play WMA files properly, although I had to overclock my Zaurus. Processor load is still very high - 60-70%, but prevsous versions couldn't do even that.
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]
Atty has released today new version of Mplayer for Zaurus 1.0. This version is about 10% faster than version from this topic.
Link:
Zaurus C7xx,8xx series [a href=\"http://atty.jp/?plugin=attach&refer=Zaurus%2Fmplayer&openfile=mplayer-w100_1.0.0-1_arm.ipk]http://atty.jp/?plugin=attach&refer=Zaurus...1.0.0-1_arm.ipk[/url]
Zaurus C3000 series
http://atty.jp/?plugin=attach&refer=Zaurus...1.0.0-1_arm.ipk
+ driver
http://atty.jp/?plugin=attach&refer=Zaurus...0.1.0-1_arm.ipk

Best regards,

Konstantin

Sniffer

  • Newbie
  • *
  • Posts: 34
    • View Profile
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #12 on: January 31, 2005, 06:21:51 am »
kfetisov
Is that new Mplayer 1.0 release available on the 5500?

anrp
How would one go about installing this? As it isnt a package in .ipk format?

Thankyou

anrp

  • Newbie
  • *
  • Posts: 16
    • View Profile
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #13 on: January 31, 2005, 07:20:44 am »
Quote
Quote
One preliminary result is that this version of mplayer can now play WMA files properly, although I had to overclock my Zaurus. Processor load is still very high - 60-70%, but prevsous versions couldn't do even that.
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]
Atty has released today new version of Mplayer for Zaurus 1.0. This version is about 10% faster than version from this topic.
Link:
Zaurus C7xx,8xx series [a href=\"http://atty.jp/?plugin=attach&refer=Zaurus%2Fmplayer&openfile=mplayer-w100_1.0.0-1_arm.ipk]http://atty.jp/?plugin=attach&refer=Zaurus...1.0.0-1_arm.ipk[/url]
Zaurus C3000 series
http://atty.jp/?plugin=attach&refer=Zaurus...1.0.0-1_arm.ipk
+ driver
http://atty.jp/?plugin=attach&refer=Zaurus...0.1.0-1_arm.ipk

Best regards,

Konstantin
[div align=\"right\"][a href=\"index.php?act=findpost&pid=64634\"][{POST_SNAPBACK}][/a][/div]

OK, I just tested it. It is about 3% faster than my version (not 10%) but a new source release is out, thanks for pointing me to it. Maybe I can get it faster :-)

(benchmarks below)

Code: [Select]
mplayer-static-softvfp-ipp:

BENCHMARKs: VC: 446.442s VO:   2.349s A:   0.000s Sys: 111.881s =  560.673s
BENCHMARK%: VC: 79.6261% VO:  0.4190% A:  0.0000% Sys: 19.9548% = 100.0000%

---
mplayer-atty:

BENCHMARKs: VC: 474.755s VO:   2.605s A:   0.000s Sys: 124.336s =  601.697s
BENCHMARK%: VC: 78.9027% VO:  0.4330% A:  0.0000% Sys: 20.6643% = 100.0000%

---
mplayer-static-softvfp-ipp-nofastmath (same as top minus -ffast-math)

BENCHMARKs: VC: 451.735s VO:   2.251s A:   0.000s Sys: 112.733s =  566.719s
BENCHMARK%: VC: 79.7106% VO:  0.3972% A:  0.0000% Sys: 19.8922% = 100.0000%

---
mplayer-atty-01-31-2005

BENCHMARKs: VC: 433.065s VO:   2.282s A:   0.000s Sys: 115.162s =  550.508s
BENCHMARK%: VC: 78.6663% VO:  0.4145% A:  0.0000% Sys: 20.9192% = 100.0000%

maslovsky

  • Hero Member
  • *****
  • Posts: 1426
    • View Profile
    • http://my-zaurus.narod.ru
New Optimized Mplayer For Pxa25x-based Zaurus Mode
« Reply #14 on: January 31, 2005, 07:59:02 am »
One problem with the 1.0 version - don't play some VBR MP3 file at all...

Code: [Select]
$ mplayer vbr2.mp3
MPlayer dev-CVS--3.4.2 (C) 2000-2005 MPlayer Team
CPU: ARM

73 audio & 180 video codecs
Failed to open /dev/rtc: Device or resource busy (it should be readable by the user.)
Playing vbr2.mp3.
TiVo file format detected.
MPEG: No audio stream found -> no sound.
MPEG: FATAL: EOF while searching for sequence header.
Video: Cannot read properties.
No stream found.


Exiting... (End of file)

anrp, your version works fine  It would be great if you build new mplayer from most recent sources, but VBR MP3s still play properly.
« Last Edit: January 31, 2005, 08:03:41 am by maslovsky »