Paul Sijben wrote:

Great work Paul, that must have been quite a job.

I have a problem with patches like this because I don't know which
mplayer.py you are taking about. There are three:
./src/tv/plugins/mplayer.py
./src/audio/plugins/mplayer.py
./src/video/plugins/mplayer.py

Would you be so kind and do a patch against the rel-1-6 and report this
as a bug. I will class this as a bug because the old code was horrible.

Duncan

> Ok you have been seeing the problem I (and others had with unichrome and
> freevo). I seem to have got the solution now.
> 
> A good compile of mplayer 1.0rc1 (for a certain definition of good) and
> the attached patch for video/plugins/mplayer.py will do the trick (the
> patch is against freevo 1.6.1). Note I am using a recent unichrome build.
> 
> Actually the attached freevo patch works for all kinds of video outputs
> that require a different vo setting for different classes of movies.
> 
> So if you have a unichrome system (possibly an EPIA board) put this in
> your local_conf.py in the mplayer section and apply the patch. It tells
> freevo to use the vo device "xvmc:deint-bob" with option "-vc
> ffmpeg12mc" when playing mpeg2 (the bob deinterlace option I found to be
> necessary, it will play with less CPU usage without it but the image
> will be flickery sometimes, so you may try simply "xvmc" if you want
> even less CPU usage). For all other movies it will use "xvidix" using a
> different kind of hardware acceleration.
> 
> MPLAYER_VO_DEV_HWACCEL = "xvmc:deint-bob"
> MPLAYER_HWACCEL_SUFFIX=["mpeg","mpg","vob"]
> MPLAYER_VO_DEV = "xvidix"
> MPLAYER_VO_DEV_OPTS_HWACCEL='-vc ffmpeg12mc'
> 
> of course as well as having "mpeg","mpg","vob" in the
> VIDEO_MPLAYER_SUFFIX list.
> 
> and put
> colorkey=0x000000
>  in your .mplayer/config (it always failed when I tried to put it on the
> command line but this works too)
> 
> and put
> libviaXvMC.so.1
> in /etc/X11/XvMCConfig
> 
> Now coming to the point of a good build of  mplayer may be simple or
> hard for you. In all cases you will need some patches. Some exchanges
> with  Davin Desborough and myself have resulted in the following recipe.
> The first three lines are relevant if you are on Ubuntu or some other
> debian derivative, of you are on another linux flavour, you need to
> resolve it in another way.
>  
> add deb-src to /etc/apt/sources.list if you don't have it
> sudo apt-get update
> sudo apt-get build-dep mplayer
> #OK so we now have all the dependencies sorted
> wget
> ftp://ftp.fu-berlin.de/unix/X11/multimedia/MPlayer/releases/MPlayer-1.0rc1.tar.bz2
> wget
> http://wiki.openchrome.org/pipermail/openchrome-users/attachments/20061023/6cdd63fd/mplayer.tar.obj
> tar xvf mplayer.tar.obj
> bunzip2 MPlayer-1.0rc1.tar.bz2
> tar xvf MPlayer-1.0rc1.tar
> cd MPlayer-1.0rc1/
> patch -p1 -i ../mplayer/MPlayer-1.0rc1-openchrome_xvmc_vld.patch
> patch -p1 -i ../mplayer/MPlayer-1.0rc1-remove_bobdeint.patch
> patch -p1 -i ../mplayer/MPlayer-1.0rc1-openchrome_bob.patch
> ./configure --prefix=/usr --enable-xvmc --with-xvmclib=XvMCW
> make
> sudo make install
> 
> OK, you now may be set, or you may be not. Try to play some audio with
> mplayer. If it sounds good, you are ready.
> If it sounds horrible you are likely on a VIA C-2 or AMD CPU. There
> appears to be a bug in mp3lib that is triggered on CPUs with MMX or some
> such speedup tech. This is fixed in the svn build of mplayer. so check
> that out in the way indicated on the mplayer site. I tried applying the
> unichrome patches manually to the svn tree but that failed, so I ended
> up configuring that tree too with the same options as I built 1.0rc1.
> When it is configured copy over the mp3lib directory to the 1.0rc1 tree
> as well as mpcommon.mak . Now build your 1.0rc1 tree again (a make clean
> before doing that make might not hurt, I guess). I found that the
> resulting mplayer works just fine.
> 
> At this point I am using just some 25% of total CPU power on my 600Mhz
> EPIA board while playing a recorded TV prog (recorded with ivtv). Using
> mplayer I can stop the show and can resume playback later. Also I found
> that mplayer is far more responsive to input from the remote control
> than xine.
> 
> So after all the hard work I am a happy camper. So I hope this will give
> you what you need to!
> BTW: Davin offered to put all of this in a more verbose version in the
> Wiki so I'll gladly let him have the honor of doing that :-)
> BTW2: I suggest this patch to be included in the main freevo tree as
> many people are running freevo on EPIA and other unichrome setups.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --- mplayer.py        2006-11-30 17:45:33.000000000 +0100
> +++ mplayer.py-orig   2006-11-28 12:46:11.000000000 +0100
> @@ -53,8 +53,7 @@
>      def __init__(self):
>          # create plugin structure
>          plugin.Plugin.__init__(self)
> -     if not hasattr(config,'MPLAYER_HWACCEL_SUFFIX'):
> -              config.MPLAYER_HWACCEL_SUFFIX=[]
> +
>          # register mplayer as the object to play video
>          plugin.register(MPlayer(), plugin.VIDEO_PLAYER, True)
>  
> @@ -110,13 +109,6 @@
>          self.item_length  = -1
>          self.item.elapsed = 0        
>  
> -     #XXX PS
> -     VODEV=config.MPLAYER_VO_DEV
> -     VODEVOPTS=config.MPLAYER_VO_DEV_OPTS
> -     if item.mimetype in config.MPLAYER_HWACCEL_SUFFIX:
> -             VODEV=config.MPLAYER_VO_DEV_HWACCEL
> -             VODEVOPTS=config.MPLAYER_VO_DEV_OPTS_HWACCEL
> -
>          if mode == 'file':
>              url = item.url[6:]
>              self.item_info = mmpython.parse(url)
> @@ -153,8 +145,6 @@
>          additional_args = []
>  
>          if mode == 'dvd':
> -         VODEV=config.MPLAYER_VO_DEV_HWACCEL
> -         VODEVOPTS=config.MPLAYER_VO_DEV_OPTS_HWACCEL
>              if config.DVD_LANG_PREF:
>                  # There are some bad mastered DVDs out there. E.g. the 
> specials on
>                  # the German Babylon 5 Season 2 disc claim they have more 
> than one
> @@ -205,9 +195,8 @@
>              mode = 'default'
>  
>          # Mplayer command and standard arguments
> -        command += [ '-v', '-vo',
> -                     VODEV]
> -     command += VODEVOPTS.split(' ')
> +        command += [ '-v', '-vo', config.MPLAYER_VO_DEV +
> +                     config.MPLAYER_VO_DEV_OPTS ]
>  
>          # mode specific args
>          command += config.MPLAYER_ARGS[mode].split(' ')
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Freevo-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freevo-users



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-users

Reply via email to