[MPlayer-G2-dev] libvo2 documentation and pre22 iz out

Sascha Sommer saschasommer at freenet.de
Wed May 14 15:45:02 CEST 2003


> Hi,
>
> > Hi,
> > just small comment to interface
> > -frame_start,frame_done.... should return VO_XXXX depending on
> > succes/fail
> >
> > Another question is about plane pointers in buffer structure. Are they
> > considered valid all the time? This will not be true for some vo
> > drivers. For example directfb - valid pointers are supplied only between
> > frame_start and frame_done when surface/buffer is locked. All the rest
> > of the time buffers can be moved without any notification.
>
> huh.
> i've expected that they are constant since the config() call, but the code
> doesn't expect it, so it should work.
> actually the buffers are read/write only between frame_start/frame_done,
> so otherwise the pointers aren't used. it's better to set them NULL at
> config and frame_done, for easier bug hunting :)
>
> maybe it requires changes in vf_vo2's get_image(), as the stride is
required
> for DR1 decisions, and afair it's done before frame_start.
>

Hm will stride change in directfb? According to msdn for directx only
the memory pointers will become invalid when the buffer gets unlocked.
The stuff described above works at least for me. Only if scale gets
autoinseted
things go mad (calling frame_done twice, one time with buffer == 0x0 and
accessing
planes[1] for RGB etc.).
I guess those are known issues.

Another question is about VOCTRL_RESIZE_DEST and VOCTRL_RESIZE_SRC.
What should I do, If I can't handle it, for example if my driver requires
some minimum stretch factor.
Do you have a solution for this? If not, would it be possible to set vo->x
,y w and h to valid ones and return VO_FALSE?
Other limitations would be that card can only size down to a fixed height or
some alignment
restriction etc.

Sascha




More information about the MPlayer-G2-dev mailing list