[MPlayer-dev-eng] [PATCH] panscan for vo_direct3d

Georgi Petrov gogothebee at gmail.com
Thu Nov 20 22:54:10 CET 2008


I'm ok - I found my way.

The patch is ok, apply it :)

The only thing that bothers me just a little is that we always pass
src/dest RECTs to StretchRect, even when we need to uset the whole
src/dst RECTs. Is it possible that this is slower? I mean - is it
possible that StretchRect is faster when we pass NULL instead of RECT
with the whole surface anyway? That's why I had checks and if we can,
we pass NULL. Anyways - apply the patch - I'll check if there's
performance penalty someday later.

The black border - it's fixed easy. In static void calc_fs_rect(void)
add the following line after "if (!vo_fs) return;":

IDirect3DDevice9_Clear (priv->d3d_device, 0, NULL, D3DCLEAR_TARGET, 0, 0, 0);

It's purpose is to clear the back buffer in case we're going to give
new fullscreen rect. There's no need to clear if the new rect is
larger, but if it's smaller, the next StretchRect will update only
subrect of the current one. Since this clear happens only on
reconfigure_d3d, we can afford a blind Clear here.

Great work!



More information about the MPlayer-dev-eng mailing list