Mesa (master): st/xorg: fix a silly offset bug in xv
Zack Rusin
zack at kemper.freedesktop.org
Wed Feb 10 14:27:25 UTC 2010
Module: Mesa
Branch: master
Commit: f88b43e8d09bf359e7d5770b133cb433b25f9848
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f88b43e8d09bf359e7d5770b133cb433b25f9848
Author: Zack Rusin <zackr at vmware.com>
Date: Tue Feb 9 21:12:57 2010 -0500
st/xorg: fix a silly offset bug in xv
we were multiplying the difference in the wrong direction.
---
src/gallium/state_trackers/xorg/xorg_xv.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/xorg/xorg_xv.c b/src/gallium/state_trackers/xorg/xorg_xv.c
index 3dcef22..e37a1c3 100644
--- a/src/gallium/state_trackers/xorg/xorg_xv.c
+++ b/src/gallium/state_trackers/xorg/xorg_xv.c
@@ -388,6 +388,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,
@@ -489,6 +492,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);
@@ -539,8 +545,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++;
More information about the mesa-commit
mailing list