mplayer-vdpau: The “Error 23″ issue

There are some .mkv files, that refuses to play with the latest mplayer-vdpau (nvidia-180.18 + mplayer-vdpau-3263604. The error code, they return is:

Error 23 at libvo/vo_vdpau.c:724

Some recommend at the nvidia forum to change line 94 in libvo/vo_vdpau, and set up the value below up to anything higher:

NUM_VIDEO_SURFACE_H264 = 17

I’ve tried a view different values, but the behavior remained the same.

But I’ve changed line 704 in libvo/vo_vdpau.c afterwards

max_references = ((12 * 1024 * 1024) / surf_size) + 11;

to 11.
I’ve tested this constellation with approximately 20 1080p movies, and found only one which keeps giving me the “Error 23” thing.

The solution above is a dirty hack, since the allocation of the memory isn’t calculated, but guessed, and this on a by far too high basis.
Gfx cards with less than 512MB memory and running additional X applications and also using Compiz may run into trouble again.

Well – I’m going it to use it this way, knowing it’s a workaround and waiting for the next version of mplayer-vdpau.

[UPDATE]the changes below and additionally running Gnome (metacity) and not KDE4.1 (KWin) made all Matroska (.mkv) videos seems to work for me pretty well.
I’ve noticed this, the moment I went back to the KDE4.1 Plasma desktop, and ran the last tested video again. It gave me again the “Error 23″. I went back to Gnome and it was fine, back again to KDE resulted in “Error 23″. So it was reproducible every time.
I wasn’t using either in Gnome nor in KDE compositing (no Gnome’s built-in, not the one of KWin and not Compiz)

It seems KWin preallocate (wild ass guess) too much video memory, so mplayer-vdpau can’t do the same anymore.

With the solution described below, and using Gnome I’ve been able to play all of my Matroska x264 encoded videos flawlessly.
I still had tearing, and turning on TwinView resulted also under Gnome in an “Error 23″ again.

2 thoughts on “mplayer-vdpau: The “Error 23″ issue

  1. seenxu

    The Error 23 is really annoying, sometimes even with the modification on vo_vdpau.c still won’t solve the problem, instead, have to restart X, which is somehow unconvinient, but better than nothing.

    thx for your share. :)

  2. acmelab68 Post author

    @seenxu
    Yes, I was investigating this bug, and found a working solution. I’m going to write it down in an extra article.
    Basically it’s about avoiding any window manager at all, especially the ones which uses OpenGL.
    Running no desktop manager and also no window manager e.g. gnome/metacity or kde4/kwin seems to work for all files without an exception for me.
    The combination with kde3.5 seams to work a bit too.
    Compiz is in all cases a no-goer

Comments are closed.