[Mesa-dev] [PATCH 7/7] st/vdpau: Implement VdpOutputSurfacePutBitsIndexed and VdpOutputSurfaceRenderOutputSurface
Christian König
deathsimple at vodafone.de
Thu Sep 1 10:55:59 PDT 2011
Am Donnerstag, den 01.09.2011, 13:28 -0400 schrieb Younes Manton:
> 2011/9/1 Christian König <deathsimple at vodafone.de>:
> > This gets mplayers menu overlay working.
>
> > + if (destination_rect) {
> > + res_tmpl.width0 = abs(destination_rect->x0-destination_rect->x1);
> > + res_tmpl.height0 = abs(destination_rect->y0-destination_rect->y1);
> > + } else {
> > + res_tmpl.width0 = vlsurface->surface->texture->width0;
> > + res_tmpl.height0 = vlsurface->surface->texture->height0;
> > + }
> ....
> > +static inline struct pipe_video_rect *
> > +RectToPipe(const VdpRect *src, struct pipe_video_rect *dst)
> > +{
> > + if (src) {
> > + dst->x = MIN2(src->x1, src->x0);
> > + dst->y = MIN2(src->y1, src->y0);
> > + dst->w = abs(src->x1 - src->x0);
> > + dst->h = abs(src->y1 - src->y0);
> > + return dst;
> > + }
> > + return NULL;
> > +}
>
> VdpRect is guaranteed to have x0 <= x1 and y0 <= y1 (i.e. 0 is
> top/left [inclusive], 1 is bottom/right [exclusive]) according to the
> reference, so we don't have to use MIN2 or abs and we can simplify
> these calculations.
Nope, according to the docs it's possible to flip the image by reversing
x0/x1 and y0/y1. I haven't implemented it, but it should be supported at
some time.
Christian.
More information about the mesa-dev
mailing list