changeset 5566:e01c664def74

VFCAP added
author arpi
date Thu, 11 Apr 2002 21:07:00 +0000
parents 0b301fec999a
children cfa4a2c0366e
files libvo/mga_common.c libvo/video_out_internal.h libvo/vo_mpegpes.c libvo/vo_vesa.c libvo/vo_x11.c libvo/vo_xv.c libvo/vosub_vidix.c
diffstat 7 files changed, 17 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/mga_common.c	Thu Apr 11 20:56:17 2002 +0000
+++ b/libvo/mga_common.c	Thu Apr 11 21:07:00 2002 +0000
@@ -223,7 +223,7 @@
     case IMGFMT_UYVY:
 //    case IMGFMT_RGB|24:
 //    case IMGFMT_BGR|24:
-        return 1;
+        return 3 | VFCAP_OSD|VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN;
     }
     return 0;
 }
--- a/libvo/video_out_internal.h	Thu Apr 11 20:56:17 2002 +0000
+++ b/libvo/video_out_internal.h	Thu Apr 11 21:07:00 2002 +0000
@@ -21,6 +21,8 @@
  *
  */
 
+#include "../libmpcodecs/vfcap.h"
+
 static uint32_t control(uint32_t request, void *data, ...);
 static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
 		     uint32_t d_height, uint32_t fullscreen, char *title,
--- a/libvo/vo_mpegpes.c	Thu Apr 11 20:56:17 2002 +0000
+++ b/libvo/vo_mpegpes.c	Thu Apr 11 21:07:00 2002 +0000
@@ -496,9 +496,9 @@
 static uint32_t
 query_format(uint32_t format)
 {
-    if(format==IMGFMT_MPEGPES) return 1|256;
+    if(format==IMGFMT_MPEGPES) return 3|VFCAP_TIMER;
 #ifdef USE_LIBFAME
-    if(format==IMGFMT_YV12) return 1|256;
+    if(format==IMGFMT_YV12) return 1|VFCAP_TIMER|VFCAP_OSD;
 #endif
     return 0;
 }
--- a/libvo/vo_vesa.c	Thu Apr 11 20:56:17 2002 +0000
+++ b/libvo/vo_vesa.c	Thu Apr 11 21:07:00 2002 +0000
@@ -445,7 +445,7 @@
 {
     if(verbose > 2)
         printf("vo_vesa: query_format was called: %x (%s)\n",format,vo_format_name(format));
-    return 1; /* due new SwScale code */
+    return 1 | VFCAP_OSD | VFCAP_SWSCALE; /* due new SwScale code */
 }
 
 static void paintBkGnd( void )
--- a/libvo/vo_x11.c	Thu Apr 11 20:56:17 2002 +0000
+++ b/libvo/vo_x11.c	Thu Apr 11 21:07:00 2002 +0000
@@ -569,9 +569,9 @@
     if (IMGFMT_IS_BGR(format))
     {
 	if (IMGFMT_BGR_DEPTH(format) == vo_depthonscreen)
-	    return 0x1|0x2|0x4;
+	    return 3|VFCAP_OSD|VFCAP_SWSCALE|VFCAP_FLIP;
 	else
-	    return 0x1|0x4;
+	    return 1|VFCAP_OSD|VFCAP_SWSCALE|VFCAP_FLIP;
     }
 
  switch( format )
@@ -585,7 +585,7 @@
    case IMGFMT_I420:
    case IMGFMT_IYUV:
    case IMGFMT_YV12:
-    return 0x1|0x4;
+    return 1|VFCAP_OSD|VFCAP_SWSCALE;
   }
  return 0;
 }
--- a/libvo/vo_xv.c	Thu Apr 11 20:56:17 2002 +0000
+++ b/libvo/vo_xv.c	Thu Apr 11 21:07:00 2002 +0000
@@ -707,13 +707,11 @@
     return VO_FALSE;
 }
 
-
 static uint32_t query_format(uint32_t format)
 {
-    int flag=1;
+    int flag=3|VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN|VFCAP_OSD; // FIXME! check for DOWN
    /* check image formats */
-     fo = XvListImageFormats(mDisplay, xv_port, (int*)&formats);
-     if(format==IMGFMT_BGR24){ format=IMGFMT_YV12;flag|=2;} // conversion!
+     if(format==IMGFMT_BGR24){ format=IMGFMT_YV12;flag&=~2;flag|=VFCAP_FLIP;} // conversion!
      for(i = 0; i < formats; i++){
 //       printf("Xvideo image format: 0x%x (%4.4s) %s\n", fo[i].id,(char*)&fo[i].id, (fo[i].format == XvPacked) ? "packed" : "planar");
        if (fo[i].id == format) return flag; //xv_format = fo[i].id;
@@ -792,6 +790,8 @@
 	return -1;
     }
 
+    fo = XvListImageFormats(mDisplay, xv_port, (int*)&formats);
+
     return 0;
 }
 
--- a/libvo/vosub_vidix.c	Thu Apr 11 20:56:17 2002 +0000
+++ b/libvo/vosub_vidix.c	Thu Apr 11 21:07:00 2002 +0000
@@ -31,6 +31,7 @@
 #include "video_out.h"
 #include "../mp_image.h"
 
+#include "../libmpcodecs/vfcap.h"
 
 #define NUM_FRAMES VID_PLAY_MAXFRAMES /* Temporary: driver will overwrite it */
 #define UNUSED(x) ((void)(x)) /* Removes warning about unused arguments */
@@ -361,12 +362,12 @@
 	    vo_server->draw_slice = vidix_draw_slice_swYV12;
 	    forced_fourcc=IMGFMT_YUY2;
 	    printf("vosub_vidix: WARNING!!! Using YV12 to YUY2 SW convertion\n");
-	    return 0x02;
+	    return VFCAP_CSP_SUPPORTED|VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN;
 	}
     }
-    return 0 ;
+    return 0;
   }
-  return 0x2; /* hw support without conversion */
+  return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW|VFCAP_HWSCALE_UP|VFCAP_HWSCALE_DOWN;
 }
 
 int vidix_grkey_support(void)