[MPlayer-dev-eng] vo_gl PBO patch ..
Reimar Döffinger
Reimar.Doeffinger at stud.uni-karlsruhe.de
Tue May 6 21:53:59 CEST 2008
On Tue, May 06, 2008 at 11:11:24PM +0400, Vladimir Mosgalin wrote:
> On 2008.05.06 at 08:53:21 +0200, Reimar Döffinger wrote next:
> > Oh, sorry, you are using a buggy version anyway.
> > Try attached patch, I don't know if it will help though.
>
> No, it doesn't. I applied it to the older version, though, not fresh
> svn. (well svn has no changes in vo_gl).
That's bad because I can not reproduce the problem so far.
> > Also note that in latest SVN -vo gl supports -dr for B-frames (in
> > MPEG2/4), which might help quite a bit if you have videos in that
> > format.
>
> Hmm.. Dunno why anybody would want -dr, I doubt it does anything useful
> anyway. I used it when I had P1-166, but always turned it off since
> that - the effect wasn't noticeable, the only thing I remember about -dr
> is that it could make osd flicker under some conditions.
The flicker is due to xv not handling it right.
For gl, -dr basically does exactly what force-pbo does, just without the
additional memcpy - which in turn means it does not work for H.264 and
reference frames for the other formats.
> Also, wasn't it making gl output much slower (and producing some big fat
> warning when used with gl vo? Don't observe it now though..)?
It produced that warning when the card did not support PBO, and in that
case it did fall back to the same behaviour as without -dr, so -dr
certainly did never slow anything down (well, except for during some buggy
revisions of vo_gl).
> > + if (force_pbo && !(mpi->flags & MP_IMGFLAG_DIRECT) && !gl_bufferptr[0] && get_image(&mpi2) == VO_TRUE) {
>
> I assume you meant gl_bufferptr, since you can't dereference a void* ?
Yes, that was left over from some experiments. Unfortunately at least
nVidia still can not provide PBOs that can be read efficiently,
otherwise we might have been able to avoid all this messy force-pbo and
go with a proper and faster -dr solution...
More information about the MPlayer-dev-eng
mailing list