[MPlayer-cvslog] CVS: main/libvo vo_xv.c,1.168,1.169

Jindrich Makovicka CVS syncmail at mplayerhq.hu
Tue Aug 23 21:37:41 CEST 2005


CVS change done by Jindrich Makovicka CVS

Update of /cvsroot/mplayer/main/libvo
In directory mail:/var2/tmp/cvs-serv16225

Modified Files:
	vo_xv.c 
Log Message:
disable DR when rendering OSD elements

Index: vo_xv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_xv.c,v
retrieving revision 1.168
retrieving revision 1.169
diff -u -r1.168 -r1.169
--- vo_xv.c	5 Aug 2005 01:24:37 -0000	1.168
+++ vo_xv.c	23 Aug 2005 19:37:39 -0000	1.169
@@ -90,6 +90,8 @@
 static uint32_t drwX, drwY, drwBorderWidth, drwDepth;
 static uint32_t dwidth, dheight;
 
+static int osd_drawn = 0;
+
 static void (*draw_alpha_fnc) (int x0, int y0, int w, int h,
                                unsigned char *src, unsigned char *srca,
                                int stride);
@@ -98,6 +100,7 @@
                             unsigned char *src, unsigned char *srca,
                             int stride)
 {
+    osd_drawn = 1;
     x0 += image_width * (vo_panscan_x >> 1) / (vo_dwidth + vo_panscan_x);
     vo_draw_alpha_yv12(w, h, src, srca, stride,
                        xvimage[current_buf]->data +
@@ -110,6 +113,7 @@
                             unsigned char *src, unsigned char *srca,
                             int stride)
 {
+    osd_drawn = 1;
     x0 += image_width * (vo_panscan_x >> 1) / (vo_dwidth + vo_panscan_x);
     vo_draw_alpha_yuy2(w, h, src, srca, stride,
                        xvimage[current_buf]->data +
@@ -122,6 +126,7 @@
                             unsigned char *src, unsigned char *srca,
                             int stride)
 {
+    osd_drawn = 1;
     x0 += image_width * (vo_panscan_x >> 1) / (vo_dwidth + vo_panscan_x);
     vo_draw_alpha_yuy2(w, h, src, srca, stride,
                        xvimage[current_buf]->data +
@@ -721,8 +726,8 @@
         return VO_FALSE;        //buffer to small
     if (mpi->width * (mpi->bpp / 8) > xvimage[buf]->pitches[0])
         return VO_FALSE;        //buffer to small
-    if ((mpi->flags & (MP_IMGFLAG_ACCEPT_STRIDE | MP_IMGFLAG_ACCEPT_WIDTH))
-        || (mpi->width * (mpi->bpp / 8) == xvimage[buf]->pitches[0]))
+    if (((mpi->flags & (MP_IMGFLAG_ACCEPT_STRIDE | MP_IMGFLAG_ACCEPT_WIDTH))
+	 || (mpi->width * (mpi->bpp / 8) == xvimage[buf]->pitches[0])) && !osd_drawn)
     {
         current_buf = buf;
         mpi->planes[0] =




More information about the MPlayer-cvslog mailing list