[MPlayer-dev-eng] [PATCH 3/3] vo_vdpau: fix border-pos interaction with EOSD.
Nicolas George
george at nsup.org
Sat Jan 10 13:37:27 CET 2015
The current version causes very visible distortions
when pos is far from 0.5.
---
libvo/vo_vdpau.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c
index 9bd529d..8203a31 100644
--- a/libvo/vo_vdpau.c
+++ b/libvo/vo_vdpau.c
@@ -172,7 +172,7 @@ static int decoder_max_refs;
static VdpRect src_rect_vid;
static VdpRect out_rect_vid;
-static int border_x, border_y;
+static int border_l, border_r, border_t, border_b;
static struct vdpau_render_state surface_render[MAX_VIDEO_SURFACES];
static int surface_num;
@@ -299,8 +299,10 @@ static void resize(void)
src_rect_vid.x1 = src_rect.right;
src_rect_vid.y0 = flip ? src_rect.bottom : src_rect.top;
src_rect_vid.y1 = flip ? src_rect.top : src_rect.bottom;
- border_x = borders.left;
- border_y = borders.top;
+ border_l = borders.left;
+ border_t = borders.top;
+ border_r = borders.right;
+ border_b = borders.bottom;
#ifdef CONFIG_FREETYPE
// adjust font size to display size
force_load_font = 1;
@@ -999,7 +1001,7 @@ static void draw_osd(void)
if (handle_preemption() < 0)
return;
- vo_draw_text_ext(vo_dwidth, vo_dheight, border_x, border_y, border_x, border_y,
+ vo_draw_text_ext(vo_dwidth, vo_dheight, border_l, border_t, border_r, border_b,
vid_width, vid_height, draw_osd_I8A8);
}
@@ -1431,8 +1433,10 @@ static int control(uint32_t request, void *data)
if (vo_fs) {
r->w = vo_screenwidth;
r->h = vo_screenheight;
- r->ml = r->mr = border_x;
- r->mt = r->mb = border_y;
+ r->ml = border_l;
+ r->mr = border_r;
+ r->mt = border_t;
+ r->mb = border_b;
} else {
r->w = vo_dwidth;
r->h = vo_dheight;
--
2.1.4
More information about the MPlayer-dev-eng
mailing list