mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
st/xorg: fix a silly offset bug in xv
we were multiplying the difference in the wrong direction.
This commit is contained in:
parent
3470d821ba
commit
2d3262d47d
1 changed files with 9 additions and 2 deletions
|
|
@ -389,6 +389,9 @@ draw_yuv(struct xorg_xv_port_priv *port,
|
|||
{
|
||||
struct pipe_texture **textures = port->yuv[port->current_set];
|
||||
|
||||
/*debug_printf(" draw_yuv([%d, %d, %d ,%d], [%d, %d, %d, %d])\n",
|
||||
src_x, src_y, src_w, src_h,
|
||||
dst_x, dst_y, dst_w, dst_h);*/
|
||||
renderer_draw_yuv(port->r,
|
||||
src_x, src_y, src_w, src_h,
|
||||
dst_x, dst_y, dst_w, dst_h,
|
||||
|
|
@ -490,6 +493,9 @@ display_video(ScrnInfoPtr pScrn, struct xorg_xv_port_priv *pPriv, int id,
|
|||
exaMoveInPixmap(pPixmap);
|
||||
dst = exaGetPixmapDriverPrivate(pPixmap);
|
||||
|
||||
/*debug_printf("display_video([%d, %d, %d, %d], [%d, %d, %d, %d])\n",
|
||||
src_x, src_y, src_w, src_h, dstX, dstY, dst_w, dst_h);*/
|
||||
|
||||
if (dst && !dst->tex) {
|
||||
xorg_exa_set_shared_usage(pPixmap);
|
||||
pScrn->pScreen->ModifyPixmapHeader(pPixmap, 0, 0, 0, 0, 0, NULL);
|
||||
|
|
@ -540,8 +546,9 @@ display_video(ScrnInfoPtr pScrn, struct xorg_xv_port_priv *pPriv, int id,
|
|||
offset_w = dst_w - w;
|
||||
offset_h = dst_h - h;
|
||||
|
||||
draw_yuv(pPriv, src_x + offset_x*diff_x, src_y + offset_y*diff_y,
|
||||
src_w - offset_w*diff_x, src_h - offset_h*diff_x,
|
||||
draw_yuv(pPriv,
|
||||
src_x + offset_x*diff_x, src_y + offset_y*diff_y,
|
||||
src_w - offset_w*diff_x, src_h - offset_h*diff_y,
|
||||
x, y, w, h);
|
||||
|
||||
pbox++;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue