[VDPAU-related] SD contents
#1
Hi all,

lately, I've been working on trying to let the VDPAU decoder render SD contents flawlessly, including DVD menus and subtitles. I first made some tries with letting VDPAU render subtitle overlays (a work much similar to the one recently proposed by Kirov for Ass subtitles). I had some results with this approach, but decided this was not the way to go.
Then I noticed the work done by elupus to let all overlays be opengl rendered when possible: by re-enabling the vdpau decoder for sd contents, this work showed some problems with the dvd menus overlays (but it was properly working for subtitles).

My last idea, and this is my current approach, has been to deploy two different decoders, according to the context which the player is in: if IsInMenu(), then deploy a libmpeg2 decoder, if not a ffmpeg-vdpau one.

Here the problems come: the dvd correctly starts with menus, then correctly switches to the movie. But if you, then, want to come back to the menu, it gets stuck. After a deep debugging I isolated the problem in the sequence:

Code:
if ((result = glIsTexture(fields[f][p].id)))
        {
          glDeleteTextures(1, &fields[f][p].id);
          CLog::Log(LOGDEBUG, "GL: Deleting texture field %d plane %d", f+1, p+1);
        }

in the context of CLinuxRendererGL::DeleteYV12Texture().
It seems that the code gets stuck in the glDeleteTextures call.

This code is accessed when switching the context from the vdpau decoder to the libmpeg2 one (movie -> menu). If I comment out the deleteTexture, the switch gets correctly done (although, I cannot come back again to the movie, yet).

Any idea why that call should behave as a blocking one? (the glIsTexture correctly returns true).

I'm getting lost, here, for lack of experience in the graphics field, I guess.

Any help would be much appreciated.
Reply
#2
Could somebody tell me what is wrong with the overlay support for dvd's that is currently in svn?? you keep saying you are working on it.. But in my book it has been working for atleast a month..
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#3
elupus Wrote:Could somebody tell me what is wrong with the overlay support for dvd's that is currently in svn?? you keep saying you are working on it.. But in my book it has been working for atleast a month..

elupus,

I never said it's a problem of your code, I would rather bet on a bad interaction with the vdpau-stuff.

Btw, you told me you had not a vdpau-compliant GPU. If you had it, and if you enabled the vdpau decoder for standard contents (in DVDFactoryCodec.cpp), you would notice that things do not correctly work (at least, as far as menus are concerned... as I said subtitles work perfectly).
Reply
#4
So, eleupus asks for a description of the problem, and you tell him to go buy a card and see for himslef?

Yeah, that's a good way to get the dev to look at the issue.

With a proper description, there is a fair chance that the 'bad interaction with the vdpau-stuff' could be fixed without him having to spend money on hardware.
Reply
#5
elupus Wrote:Could somebody tell me what is wrong with the overlay support for dvd's that is currently in svn?? you keep saying you are working on it.. But in my book it has been working for atleast a month..

elupus,

one last thing: as I told you - in order to make things clear for other people that might be reading this discussion - in our PM discussion I am NOT speaking of the normal "overlay support for dvd's that is currently in svn": that works perfectly!
The problems I have happen when I enable the VDPAU decoder for standard definition contents: this requires a very simple modification in the code, which motd2k decided not to commit yet, since he noticed there were still some problems with that. So current svn code is NOT exposing the problem.

Thanks!
Reply
#6
IMO, this is the main issue when it comes to performance on the ION platform that is becoming so popular.

Right now, with VDPAU as the render (for HD content), the lack of SD scaling / deinterlacing and the resulting feathering / combing on interlaced SD content makes some DVDs unwatchable.


Instead of forcing VDPAU on for SD content, with the current SVN builds, can separate software deinterlacing be used on SD content (concurrently with VDPAU being used on the HD stuff) until the issue with the VDPAU overlay (for DVD) is fixed? You would think that for the dual core Atom there should be enough grunt for a software approach (with ffmpeg or something) for SD content, and with VDPAU for HD (until a viable all VDPAU solution is worked out).
Reply
#7
problem is all the sw deinterlacers implemented in ffmpeg / xbmc lick goat balls.
Reply
#8
Do you think Michael Niedermayer would be willing to take a look at this again?

I was just reading his blog posts from a couple of years ago:

http://guru.multimedia.cx/deinterlacing-filters/
Reply
#9
ffmpeg is in a bit of a limbo. nobody wants to add new filters before the new avfilter class is done :/
Reply

Logout Mark Read Team Forum Stats Members Help
[VDPAU-related] SD contents0