Building recent Mplayer SVN + CoreAVC For Linux

As Michael points out there’s a slight problem with the CoreAVC For Linux patchset that enable Mplayer to take advantage of CoreCodec’s h.264 decoder — with recent changes in the sourcecode the old build_patch.pl script doesn’t produce usable output anymore.

There still is a way to compile Mplayer with the modification, though: Mithun Diwakar altered a patch to work against current subversion checkouts. How long this one will hold… we don’t know. But I think it would be preferable to fix up the patchbuilder. Maybe I’ll hack around on it during the weekend (no promise 🙂 ).

CoreAVC 1.7 + Mplayer

It took me about a week to sort out some issues with my setup but now CoreAVC 1.7 is running fine in my SVN version of Mplayer thanks to the revamped patches from the CoreAVC-for-Linux project (yay, no more old builds!).

Some notes:

  • If you’re using the correct-pts option in your ~/.mplayer/config you should set it to “no” to get a huge performance boost. I dearly hope this is a new thing… otherwise I’d have to redo all my benchmarks 😉 .

CoreAVC for Mplayer dead, reborn, punching bad boys to a pulp

It’s a real shame: A while ago I blogged about a very nice set of patches to make CoreAVC work on Mplayer. Now it seems that a DMCA note was filed and Google has kicked the project from it’s Code page.

Don’t fret, though! CoreCodec is a little torn apart on this issue but is apparently helping Alan, creator of this great patchset, to make the patches ready for CoreAVC 1.7 (the most recent one, you had to use 1.5.* before):

Regardless of the cause, CoreCodec and I have resolved the conflict, and CoreAVC-for-Linux should be back online soon.  In addition, the patches for 1.7.0 are ready to go, and Linux users should see a nice performance improvement on Dual-core machines (compared to 1.5.0) once it is available.

Geez people, don’t scare us like that!

Mplayer + CoreAVC

Windows, despite all it’s flaws, is nice for a few things. First of all, there’s a buttload of cool, gory games. And second there’s a really nice multimedia support; many companies/individuals write highly optimized software for video splitting, decoding, muxing, output etc.

Now, three cool programs are Haali’s Media Splitter (comes with Haali’s Media Renderer), CoreCodec’s CoreAVC and nVidia’s PureVideo. Combining these leads to a boost in performance, allowing my 2GHz notebook to play 1080p content steadily without hard framedrops.

Linux on the other hand is a little cornered. Yes, we do have XvMC for hardware MPEG-2 decoding but this doesn’t really help with HD content at this point. So until there’s a counterpart to PureVideo Linux will always be slower.

As you may know I only recommend Mplayer and Xine on Linux. They’re the greatest, the best and if you think otherwise you must be stupid 😉 .

Mplayer can be patched to use CoreAVC for a little performance boost (we all need a little boost, do we?). This is great stuff. The patch will fail a chunk against loader/Makefile, but it’s no problem to add the missing lines by hand. Also, please note that you’ve to run ./configure –disable-mencoder before applying the patch.

So, how much does it give us in terms of raw performance? Not too much, unfortunately, but for my system 5-12% already make a big difference.

Most of the performance loss is still being caused by the lack of hardware MPEG-4 decoding and the use of the old Overlay mixer.

Nevertheless, if you have bought CoreAVC you owe it to yourself to give it a try.

Workaround for nVidia Linux driver TV-out scaling problem

If you’re using a GeForce 8×00 graphics card and the binary blob from nVidia you’ll may notice that the picture on your TV is slightly larger than the area the TV can display; a part of your desktop will be invisible.

That is pretty annoying, especially when watching movies with subtitles and half of the subtitle is unreadable just because of that.

Now, the following is a little something that works fine at least for Mplayer…

Mplayer provides the command line switches -screenh and -screenw which you can use to rescale the movie on the TV a little bit. For me, the following command line works out pretty fine:

mplayer -screenh 725 filename.mkv

Give it a try, play with the values and let’s hope nVidia will fix this nasty issue one day…