[MPlayer-dev-eng] [PATCH] Direct3D libvo driver

Georgi Petrov gogothebee at gmail.com
Tue Nov 18 16:39:10 CET 2008


> I previously gave you a command line that will use slices.

I know about -slices / -noslices. I don't know when draw_slices() is
called when the user doesn't specify anything on the command line. I
mean - what's the default policy? And when do we have video that use
the CALLBACK and when directly draw_slices()? What's the point of
slices design as a whole??? I know about trying to stay in L2 cache,
but I think the overhead of going through so much code every 16 lines
is... it's not my business anyways.

>
>> So in conclusion - I the two StretchRects - the one from draw_slice()
>> and from D3DRender() - to flip_page() just before Present, right?
>
> No. That will result in bad timing. The StretchRects in D3DRender is
> right, just the on in draw_slice must go. That's exactly what the
> CALLBACK mpi is there for, to do any post-processing after all slices
> have been processed.
>

I'm lost. Completely. How is this supposed to happen? If I remove
StretchRect() from draw_slice() and don't move it to flip_page() (I
understand why it will result in bad timing), when is supposed
StretchRect to take place? Do you mean that after all direct
draw_slice() calls, finally the libvo CALLBACK is used??? If this is
so, my code will copy the whole mpi->stride[1,2,3] on this final call
anyway, so what's the point of each small direct draw_slice()? I hope
I made myself clear.

>> > You may notice that all function (and variables) in mplayer are in lowercase, with "_" separator between words. It would be welcome if you follow that style too.
>>
>> Is this REALLY the coding style in the whole MPlayer? If so, I'll
>> change mines as well, no problem.
>
> MPlayer is already a mess in that respect, that's why I did not bother
> with it. But it is the more common C coding-style outside Windows-World.
> Given the naming mess you have due to the style used by the Window
> headers I don't consider this particularly important.
>

Ivan, if you really want, I'll change all variables and functions...

>> > Also, I don't like the use of gVariable, I would recommend you to make single struct containing all local to the driver variables and use it like this
>> >   priv->SrcWidth; priv->DesktopFmt; //or like this:
>> >   priv->src_width; priv->desktop_fmt;
>>
>> Funny - it was just like that when Diego wanted from me to drop
>> gConfig struct, which was a container for all globals. I did it. Now
>> you want me to introduce globals  container again. Please - you both
>> decide which is preferable, because I will do it only once again.
>
> Note that the important part is that "priv" is a pointer, not a global
> struct, so it is not exactly going back to what you had originally.

Ok, I'll do it.



More information about the MPlayer-dev-eng mailing list