diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-02-13 03:52:51 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-02-13 03:52:51 +0200 |
commit | 738f66b1bc98073d74af7031c4454322157a15ec (patch) | |
tree | 25d69a5d92ea4440f7e08e3c82cc5bb3a1d4598e /libvo/vo_xvmc.c | |
parent | 1e869638280f962fb80f372d152234f21246c2af (diff) | |
parent | 9f8792e639fee0b706dc5ec83e9b9fa0cf432e61 (diff) | |
download | mpv-738f66b1bc98073d74af7031c4454322157a15ec.tar.bz2 mpv-738f66b1bc98073d74af7031c4454322157a15ec.tar.xz |
Merge svn changes up to r28549
Diffstat (limited to 'libvo/vo_xvmc.c')
-rw-r--r-- | libvo/vo_xvmc.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/libvo/vo_xvmc.c b/libvo/vo_xvmc.c index 58ab9610c9..93e2957bca 100644 --- a/libvo/vo_xvmc.c +++ b/libvo/vo_xvmc.c @@ -81,7 +81,6 @@ static int top_field_first; static int image_width,image_height; static int image_format; -static uint32_t drwX,drwY; #define NO_SUBPICTURE 0 #define OVERLAY_SUBPICTURE 1 @@ -676,11 +675,6 @@ skip_surface_allocation: } if ((flags & VOFLAG_FULLSCREEN) && WinID <= 0) vo_fs = 1; - vo_calc_drwXY(&drwX, &drwY); - - panscan_calc(); - - mp_msg(MSGT_VO,MSGL_V, "[xvmc] dx: %d dy: %d dw: %d dh: %d\n",drwX,drwY,vo_dwidth,vo_dheight ); //end vo_xv @@ -950,19 +944,16 @@ int status,rez; static void put_xvmc_image(struct xvmc_render_state * p_render_surface, int draw_ck){ int rez; -int clipX,clipY,clipW,clipH; +struct vo_rect src_rect, dst_rect; int i; if(p_render_surface == NULL) return; - clipX = drwX-(vo_panscan_x>>1); - clipY = drwY-(vo_panscan_y>>1); - clipW = vo_dwidth+vo_panscan_x; - clipH = vo_dheight+vo_panscan_y; + calc_src_dst_rects(image_width, image_height, &src_rect, &dst_rect, NULL); if(draw_ck) - vo_xv_draw_colorkey(clipX,clipY,clipW,clipH); + vo_xv_draw_colorkey(dst_rect.left, dst_rect.top, dst_rect.width, dst_rect.height); if(benchmark) return; @@ -971,8 +962,8 @@ int i; int field = top_field_first ? i : i ^ 3; rez = XvMCPutSurface(mDisplay, p_render_surface->p_surface, vo_window, - 0, 0, image_width, image_height, - clipX, clipY, clipW, clipH, + src_rect.left, src_rect.top, src_rect.width, src_rect.height, + dst_rect.left, dst_rect.top, dst_rect.width, dst_rect.height, bob_deinterlace ? field : 3); //p_render_surface_to_show->display_flags); if(rez != Success){ @@ -1036,8 +1027,6 @@ int e=vo_x11_check_events(mDisplay); if(e&VO_EVENT_RESIZE) { e |= VO_EVENT_EXPOSE; - - vo_calc_drwXY(&drwX, &drwY); } if ( e & VO_EVENT_EXPOSE ) { |