[Mplayer-cvslog] CVS: main/libmpcodecs vf_vo.c,1.18,1.19 vfcap.h,1.2,1.3

Arpi of Ize arpi at mplayerhq.hu
Thu Oct 10 00:32:07 CEST 2002


Update of /cvsroot/mplayer/main/libmpcodecs
In directory mail:/var/tmp.root/cvs-serv22838

Modified Files:
	vf_vo.c vfcap.h 
Log Message:
support for VFCAP_ACCEPT_STRIDE in vo drivers


Index: vf_vo.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vf_vo.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- vf_vo.c	10 Sep 2002 22:18:32 -0000	1.18
+++ vf_vo.c	9 Oct 2002 22:32:04 -0000	1.19
@@ -40,6 +40,9 @@
         mp_msg(MSGT_CPLAYER,MSGL_V,"VO: Comment: %s\n", info->comment);
   }
 
+    // save vo's stride capability for the wanted colorspace:
+    vf->default_caps=query_format(vf,outfmt) & VFCAP_ACCEPT_STRIDE;
+
     if(video_out->config(width,height,d_width,d_height,flags,"MPlayer",outfmt))
 	return 0;
     ++vo_config_count;
@@ -95,7 +98,8 @@
   // nope, fallback to old draw_frame/draw_slice:
   if(!(mpi->flags&(MP_IMGFLAG_DIRECT|MP_IMGFLAG_DRAW_CALLBACK))){
     // blit frame:
-    if(mpi->flags&MP_IMGFLAG_PLANAR)
+//    if(mpi->flags&MP_IMGFLAG_PLANAR)
+    if(vf->default_caps&VFCAP_ACCEPT_STRIDE)
         video_out->draw_slice(mpi->planes,mpi->stride,mpi->w,mpi->h,mpi->x,mpi->y);
     else
         video_out->draw_frame(mpi->planes);

Index: vfcap.h
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/vfcap.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- vfcap.h	9 Oct 2002 22:07:48 -0000	1.2
+++ vfcap.h	9 Oct 2002 22:32:04 -0000	1.3
@@ -19,10 +19,9 @@
 #define VFCAP_TIMER 0x100
 // driver _always_ flip image upside-down (for ve_vfw)
 #define VFCAP_FLIPPED 0x200
-// driver accept stride: (put_image/draw_frame)
+// vf filter: accepts stride (put_image)
+// vo driver: has draw_slice() support for the given csp
 #define VFCAP_ACCEPT_STRIDE 0x400
 // filter does postprocessing (so you shouldn't scale/filter image before it)
 #define VFCAP_POSTPROC 0x800
-// filter has draw_slice() support for this colorspace (assumed for planar YUV)
-#define VFCAP_DRAW_SLICE 0x1000
 




More information about the MPlayer-cvslog mailing list