Page 1 of 1

MPlayer 1.0rc2 compiled, but not packaged

Posted: Sun 02 Dec 2007, 15:56
by tempestuous
Now that Barry has provided an Xorg package for Puppy 4, I have compiled the latest MPlayer 1.0rc2 with "extra" features.
Since several of these features depend on certain Xorg libraries, I now need to wait and see how Barry packages the different Xorg components before preparing the new MPlayer dotpet.

But thinking about it, since Puppy 4 already contains a version of MPlayer, maybe it's better just to give feedback to improve the standard release.
Since there is revived interest in Puppy 2.16, maybe I should recompile this version in 2.16?
Anyway, for the next compilation of MPlayer for Puppy4, these are the extra configuration options I would suggest:

--enable-xv
This enables the all-important xv video output setting, compatible with virtually all Xorg drivers.

--enable-xvmc
This enables video output setting for accelerated MPEG2 decoding under Xorg with nVidia/i810/Unichrome 3D drivers.

--enable-tv --enable-tv-v4l1 --enable-tv-v4l2 --enable-v4l2
This adds support for analogue TV tuner cards.
The configuration script looks for the presence of V4L/V4L2 device nodes to enable this feature. These can be created with the attached script V4L-makedevices.sh
Support for digital TV tuner cards is already enabled.

The MPlayer version that I compiled has quite a few more features, but these may be considered somewhat more specialised. The extra features are:
- limited DVD menu support
- IVTV ("PVR") tuner support
- Infrared remote control support
- External Linux codec support for Theora
- External Linux codec support for libamr (3gp audio codec)
- mencoder (encoding utility) with extra encoding libraries; faac, xvid, x264 and libamr.

And with all these extra features enabled the binaries are large: 9MB for mplayer and 9MB for mencoder.
I tried to compile mplayer against the shared ffmpeg libraries already in Puppy 4, but this failed. I even upgraded ffmpeg, but the compilation still failed.
Anyway, the MPlayer documentation says that MPlayer's performance suffers when compiled against a shared ffmpeg library, and certain functions are also lost. And I'm wondering why Puppy 4 has the (large) ffmpeg libraries. Is it just for PBcdripper?

Posted: Sun 02 Dec 2007, 17:24
by BarryK
T2 also did not compile against the external ffmpeg, but I added these configure options to fix that:
--disable-libavcodec_a --disable-libavformat_a --disable-libavutil_a --disable-libpostproc_a

Doesn't my MPlayer have 'xv' output enabled? I just looked at my gmplayer preferences, and video output has choice of 'x11' or 'xvidix' -- I presume the first is the X11 shared memory system that Xvesa supports, and the second is xv.

Posted: Sun 02 Dec 2007, 17:28
by BarryK
There are other apps that need ffmpeg ...let's see... grafburn, pupdvdtool ...that I can think of.

Posted: Mon 03 Dec 2007, 00:47
by tempestuous
The vidix and cvidix video outputs are very specialised. They are compatible only with a limited range of graphics chips, and require a certain amount of setup.
http://www.mplayerhq.hu/DOCS/HTML/en/vidix.html

MPlayer is famous for its extensive range of video output options, and it's sometimes possible to compile and use a video output which is unique to your particular graphics device.
Generally, the optimum video output option for Xorg is xv.
http://www.mplayerhq.hu/DOCS/HTML/en/xv.html

I also enabled the "gl" video output, because MU says that xv won't work with ATi 3D drivers. I think someone else reported that xv fails to work with VIA Unichrome 3D, too.
As I browse through the MPlayer documentation, I suspect that these problems could probably be fixed by adding some extra setting to xorg.conf, for example

Code: Select all

Option "OverlayMem" ...
or

Code: Select all

Option "LinearAlloc" ...

Posted: Mon 03 Dec 2007, 09:44
by BarryK
Ah, so I guess the absence of the Xorg libxv librariy in Puppy caused the configure phase of mplayer to leave out the xv output. The minimal Xorg that will be in alpha3 will have that library, but not opengl.