[Mplayer-cvslog] CVS: main mplayer.c,1.395,1.396 dec_video.c,1.104,1.105 dec_video.h,1.4,1.5

Nick Kurshev nick at mplayer.dev.hu
Sun Feb 17 13:22:03 CET 2002


Update of /cvsroot/mplayer/main
In directory mplayer:/var/tmp.root/cvs-serv27267/main

Modified Files:
	mplayer.c dec_video.c dec_video.h 
Log Message:
More correct direct rendering usage

Index: mplayer.c
===================================================================
RCS file: /cvsroot/mplayer/main/mplayer.c,v
retrieving revision 1.395
retrieving revision 1.396
diff -u -r1.395 -r1.396
--- mplayer.c	17 Feb 2002 09:25:03 -0000	1.395
+++ mplayer.c	17 Feb 2002 12:22:00 -0000	1.396
@@ -1400,7 +1400,7 @@
 	    */
 	}
    }
-   init_video_vaa();
+   init_video_vaa(sh_video->disp_w);
    fflush(stdout);
 
 //================== MAIN: ==========================

Index: dec_video.c
===================================================================
RCS file: /cvsroot/mplayer/main/dec_video.c,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -r1.104 -r1.105
--- dec_video.c	13 Feb 2002 04:06:55 -0000	1.104
+++ dec_video.c	17 Feb 2002 12:22:00 -0000	1.105
@@ -779,14 +779,15 @@
 
 extern int vaa_use_dr;
 
-static int use_dr=0;
+static int use_dr=0,use_dr_422=0;
 static bes_da_t bda;
-void init_video_vaa( void )
+void init_video_vaa( unsigned width )
 {
   memset(&bda,0,sizeof(bes_da_t));
   if(vo_vaa.query_bes_da)
     use_dr = vo_vaa.query_bes_da(&bda) ? 0 : 1;
   if(!vaa_use_dr) use_dr = 0;
+  use_dr_422 = use_dr && bda.dest.pitch.y == 16 && (width*2+15)&~15 == width*2;
 }
 
 #ifdef USE_LIBVO2
@@ -939,7 +940,7 @@
     {
 	/* FIXME: WILL WORK ONLY FOR PACKED FOURCC. BUT WHAT ABOUT PLANAR? */
         vmem = 0;
-	if(use_dr && bda.dest.pitch.y == 16)
+	if(use_dr_422)
 	{
 	    vmem = bda.dga_addr + bda.offsets[0] + bda.offset.y;
 	    if(vo_doublebuffering && bda.num_frames>1)
@@ -1054,7 +1055,7 @@
     if(!in_size) break;
 	/* FIXME: WILL WORK ONLY FOR PACKED FOURCC. BUT WHAT ABOUT PLANAR? */
         vmem = 0;
-	if(use_dr && bda.dest.pitch.y == 16)
+	if(use_dr_422)
 	{
 	    vmem = bda.dga_addr + bda.offsets[0] + bda.offset.y;
 	    if(vo_doublebuffering && bda.num_frames>1)

Index: dec_video.h
===================================================================
RCS file: /cvsroot/mplayer/main/dec_video.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- dec_video.h	3 Feb 2002 15:16:46 -0000	1.4
+++ dec_video.h	17 Feb 2002 12:22:00 -0000	1.5
@@ -3,7 +3,7 @@
 extern int video_read_properties(sh_video_t *sh_video);
 
 extern int init_video(sh_video_t *sh_video, int *pitches);
-extern void init_video_vaa( void );
+extern void init_video_vaa( unsigned width );
 void uninit_video(sh_video_t *sh_video);
 
 #ifdef USE_LIBVO2




More information about the MPlayer-cvslog mailing list