Home of the Squeezebox™ & Transporter® network music players.

Go Back   Squeezebox : Community : Forums > User Forums > 3rd Party Plugins
User Name
Password

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 2007-04-04, 06:00
bpa bpa is offline
Senior Member
 
Join Date: Oct 2005
Location: Ireland
Posts: 9,230
bpa is on a distinguished road
Default AlienBBC on ARM based NAS

Recently a user has posted patches for mplayer so that ARM processors can play RealAudio fast enough to listen to live streams. This means it is now possible for ARM based NAS such as NSLU2, FSG3, DS-101, Linkstation Pro and Thecus N2100 to support AlienBBC plugin.

The patches have not been included in the mplayer SVN codebase yet. The changed files are attached - they replace all the "cook" files in the libavcodec directory.

The patches use fixed point rather than floating point. As a benchmark- mplayer streaming a WAV Live Radio 1 to null device gave a 25% loading on my FSG3 (266MHz IXP425). I was able to play live BBC stream using Slimserver 6.3.1 on FSG3 using WAV to SB3 - CPU loading was very high 85% but they may be due to large buffering by mplayer.

The patches have no ARM specific code so they are applicable to any processor. It is expected that some ARM specific code will appear in the future which will reduce the load further.

To build you must use a recent mplayer codebase either a source snapshot (http://www.mplayerhq.hu/design7/dload.html ) or an svn.

Not all snapshot will compile cleanly for the ARM and I had to use the following to get a clean compile.
--disable-dvdnav
--disable-dvdread
--disable-dvdread-internal
--disable-libdvdcss-internal

A side benefit is that mplayer already has fixed point decoders for a number of other formats such as AACplus so it can be used for other format streams or files. I believe the author of the patches is looking producing similar patches for the WMA decoder of mplayer.

With all the default compile options mplayer is very large so memory may become an issue.
Attached Files
File Type: gz Fixptcook.tar.gz (25.3 KB, 317 views)
Reply With Quote
  #2  
Old 2007-05-18, 06:35
flipflip's Avatar
flipflip flipflip is offline
Senior Member
 
Join Date: Apr 2006
Location: Shameland
Posts: 1,373
flipflip is on a distinguished road
Default

Hi bpa,

many thanks for the patch. However, I am still stuck at libavcodec:

Code:
root@ds107p /ssods/build/mplayer-export-2007-05-18/libavcodec $ make 
cc -I/volume1/SSODS/include -I../libswscale -I../libavcodec  -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I.. -I.. -I../libavutil -Wdeclaration-after-statement -I. -I.. -I../libavutil -I/volume1/SSODS/include -D_REENTRANT -I/volume1/SSODS/include   -c -o armv4l/dsputil_arm_s.o armv4l/dsputil_arm_s.S
armv4l/dsputil_arm_s.S: Assembler messages:
armv4l/dsputil_arm_s.S:79: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:90: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:100: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:111: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:122: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:141: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:152: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:162: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:173: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:184: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:203: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:215: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:228: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:241: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:253: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:272: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:284: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:297: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:310: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:322: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:343: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:357: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:363: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:374: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:378: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:385: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:397: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:401: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:408: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:420: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:424: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:431: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:452: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:466: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:472: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:483: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:487: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:494: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:506: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:510: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:517: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:529: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:533: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:540: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:629: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:637: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:637: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:641: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:641: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:645: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:645: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:649: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:649: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:666: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:674: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:674: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:678: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:678: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:682: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:682: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:686: Error: selected processor does not support `pld [r1]'
armv4l/dsputil_arm_s.S:686: Error: selected processor does not support `pld [r1]'
make: *** [armv4l/dsputil_arm_s.o] Error 1
The DS-107+ has an Marvell 88F5281 which is
arm5tejl as far as I understand.

Do you know anything I could do about the above error?

Regards,
flip
__________________
Check out flipflip's Squeezebox Server On (some) DiskStation (SSODS) and on (some) TurboStations (SSOTS) and some other devices! Please do NOT file SSODS bugs in (SD's) bugzilla. Use the forums. And only the forums. Thanks.
Reply With Quote
  #3  
Old 2007-05-18, 06:43
bpa bpa is offline
Senior Member
 
Join Date: Oct 2005
Location: Ireland
Posts: 9,230
bpa is on a distinguished road
Default

Some possibilities.

1. Compiler has been built for wrong ARM processor.
2. Configure has detected the wrong processor - can you post config.mak. Override confgure to select arm4 processor not an arm5te.
3. I haven't looked at codebase recently but there have been incremental additional arm specific code since my post. It is possible 18/5 snapshot may have added some invalid ARM code - if so try the 1.0rc1 with and replace all "cook*" files with my "cook" file.
Reply With Quote
  #4  
Old 2007-05-18, 07:08
bpa bpa is offline
Senior Member
 
Join Date: Oct 2005
Location: Ireland
Posts: 9,230
bpa is on a distinguished road
Default

Try the solution suggested below and pretend you have an ARM4
see
http://lists.mplayerhq.hu/pipermail/...il/027446.html

Edit:
Did a little more looking.

It looks like a compiler message possibly because compiler built for wrong processor or wrongly selected during compilation.
For selection make sure the compiler arch is set as follows '-march=armv5te'

Last edited by bpa; 2007-05-18 at 07:14.
Reply With Quote
  #5  
Old 2007-05-18, 07:45
flipflip's Avatar
flipflip flipflip is offline
Senior Member
 
Join Date: Apr 2006
Location: Shameland
Posts: 1,373
flipflip is on a distinguished road
Default

Quote:
Originally Posted by bpa View Post
T
Edit:
Did a little more looking.

It looks like a compiler message possibly because compiler built for wrong processor or wrongly selected during compilation.
For selection make sure the compiler arch is set as follows '-march=armv5te'
Thanks for your help. I came to the same point in the meantime. Now I'm using mplayer-export-2007-05-18 and

CGLAGS="-I/volume1/SSODS/include -march=armv5te" ./configure --target=armv5tel-linux-gnu --enable-armv5te --prefix=/volume1/SSODS --disable-mencoder --language=en,de,fr --disable-jpeg --disable-gif --disable-tga --disable-liblzo --disable-tv --disable-dvb --disable-sdl --disable-pnm --disable-xvid --disable-toolame --disable-mad --disable-png --disable-vm --enable-md5sum --disable-menu --charset=US-ASCII --disable-dvdread --mandir=/volume1/SSODS/man --disable-tv --disable-bitmap-font --disable-freetype --disable-fontconfig

and that seems to work. I just have issues with termcap or so:

Code:
cc -o mplayer mplayer.o m_property.o mp_fifo.o mp_msg.o mixer.o parser-mpcmd.o subopt-helper.o command.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o unrarlib.o libvo/libvo.a libao2/libao2.a input/libinput.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a mp3lib/libmp3.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisidec.a dvdread/libdvdread.a libdvdcss/libdvdcss.a osdep/libosdep.a  -Wl,-z,noexecstack  -L/volume1/SSODS/lib   -lncurses -lz -lspeex -lmpcdec -lpthread -ldl -rdynamic  -lm   
mplayer.o: In function `main':
mplayer.c:(.text+0x7250): undefined reference to `load_termcap'
mp_msg.o: In function `mp_msg_init':
mp_msg.c:(.text+0x248): undefined reference to `get_term_charset'
command.o: In function `mp_property_sub':
command.c:(.text+0x4624): undefined reference to `ass_enabled'
command.o: In function `run_command':
command.c:(.text+0x5f38): undefined reference to `ass_step_sub'
mpcommon.o: In function `update_subtitles':
mpcommon.c:(.text+0x8d0): undefined reference to `ass_enabled'
mpcommon.c:(.text+0x8d4): undefined reference to `ass_library'
mpcommon.c:(.text+0x980): undefined reference to `ass_default_track'
mpcommon.c:(.text+0xadc): undefined reference to `ass_process_subtitle'
collect2: ld returned 1 exit status
make: *** [mplayer] Error 1
Still trying.. :-)
__________________
Check out flipflip's Squeezebox Server On (some) DiskStation (SSODS) and on (some) TurboStations (SSOTS) and some other devices! Please do NOT file SSODS bugs in (SD's) bugzilla. Use the forums. And only the forums. Thanks.
Reply With Quote
  #6  
Old 2007-05-18, 07:46
flipflip's Avatar
flipflip flipflip is offline
Senior Member
 
Join Date: Apr 2006
Location: Shameland
Posts: 1,373
flipflip is on a distinguished road
Default

(and with your patch and with my stdout-patch..)

I'll do a make distclean and try again while I'm out a while buying food :-)
__________________
Check out flipflip's Squeezebox Server On (some) DiskStation (SSODS) and on (some) TurboStations (SSOTS) and some other devices! Please do NOT file SSODS bugs in (SD's) bugzilla. Use the forums. And only the forums. Thanks.
Reply With Quote
  #7  
Old 2007-05-18, 07:48
flipflip's Avatar
flipflip flipflip is offline
Senior Member
 
Join Date: Apr 2006
Location: Shameland
Posts: 1,373
flipflip is on a distinguished road
Default

(and I do have CFLAGS and not CGLAGS.. wrong copy&paste :-)
__________________
Check out flipflip's Squeezebox Server On (some) DiskStation (SSODS) and on (some) TurboStations (SSOTS) and some other devices! Please do NOT file SSODS bugs in (SD's) bugzilla. Use the forums. And only the forums. Thanks.
Reply With Quote
  #8  
Old 2007-05-18, 08:55
flipflip's Avatar
flipflip flipflip is offline
Senior Member
 
Join Date: Apr 2006
Location: Shameland
Posts: 1,373
flipflip is on a distinguished road
Default Success!

Bpa, that worked now!

There was one _s.S file in libmpeg2/ (or so) where -march=.. was not passed to gcc.

But mplayer-stdout now also works on th DS-107+ :-)

Here are some stats (very rough, 30'' averages):

mp3 stream http:// or mms://: 55% CPU, 2.3% MEM (of 128MB)

rtsp, FFmpeg COOK audio decoder:

Stram rtsp://a1532.l2377450225.c23774.e.lr.akamaistream.net/live/D/1532/23774/v0001/reflector:50225
--> 100% CPU and mplayer aborts after ca. 20 seconds with "end of stream", wav output playable

rtsp://a1355.l784539966.c7845.e.lr.akamaistream.net/live/D/1355/7845/v0001/reflector:39966

--> 49% CPU, 0.9% RAM, wav output o.k.

Thanks again,

flip
w
__________________
Check out flipflip's Squeezebox Server On (some) DiskStation (SSODS) and on (some) TurboStations (SSOTS) and some other devices! Please do NOT file SSODS bugs in (SD's) bugzilla. Use the forums. And only the forums. Thanks.
Reply With Quote
  #9  
Old 2007-05-18, 08:59
flipflip's Avatar
flipflip flipflip is offline
Senior Member
 
Join Date: Apr 2006
Location: Shameland
Posts: 1,373
flipflip is on a distinguished road
Default

I correct: that was mplayer without the fixpt patch!
Compiling now..
__________________
Check out flipflip's Squeezebox Server On (some) DiskStation (SSODS) and on (some) TurboStations (SSOTS) and some other devices! Please do NOT file SSODS bugs in (SD's) bugzilla. Use the forums. And only the forums. Thanks.
Reply With Quote
  #10  
Old 2007-05-18, 09:36
flipflip's Avatar
flipflip flipflip is offline
Senior Member
 
Join Date: Apr 2006
Location: Shameland
Posts: 1,373
flipflip is on a distinguished road
Default

OK, that didn't change anything in the above results. Maybe it was with the fixpt patch before (I'm pretty sure that I applied it in the second run..).

Anyway, that's enough for now.
__________________
Check out flipflip's Squeezebox Server On (some) DiskStation (SSODS) and on (some) TurboStations (SSOTS) and some other devices! Please do NOT file SSODS bugs in (SD's) bugzilla. Use the forums. And only the forums. Thanks.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 20:42.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.