changeset 4379:7a4837091398

provide full vaa interface
author nick
date Sun, 27 Jan 2002 16:43:52 +0000
parents 9cf9516e74cb
children ae5e4cc0e52d
files libvo/vosub_vidix.c
diffstat 1 files changed, 51 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vosub_vidix.c	Sun Jan 27 14:35:48 2002 +0000
+++ b/libvo/vosub_vidix.c	Sun Jan 27 16:43:52 2002 +0000
@@ -1,4 +1,3 @@
-
 /*
  *  vosub_vidix.c
  *
@@ -45,11 +44,23 @@
 static vidix_fourcc_t	  vidix_fourcc;
 
 static int  vidix_get_bes_da(bes_da_t *);
+static int  vidix_get_video_eq(vidix_video_eq_t *info);
+static int  vidix_set_video_eq(const vidix_video_eq_t *info);
+static int  vidix_get_num_fx(unsigned *info);
+static int  vidix_get_oem_fx(vidix_oem_fx_t *info);
+static int  vidix_set_oem_fx(const vidix_oem_fx_t *info);
+static int  vidix_set_deint(const vidix_deinterlace_t *info);
 
 static void vidix_query_vaa(vo_vaa_t *vaa)
 {
   memset(vaa,0,sizeof(vo_vaa_t));
   vaa->query_bes_da=vidix_get_bes_da;
+  vaa->get_video_eq=vidix_get_video_eq;
+  vaa->set_video_eq=vidix_set_video_eq;
+  vaa->get_num_fx=vidix_get_num_fx;
+  vaa->get_oem_fx=vidix_get_oem_fx;
+  vaa->set_oem_fx=vidix_set_oem_fx;
+  vaa->set_deint=vidix_set_deint;
 }
 
 int vidix_preinit(const char *drvname,void *server)
@@ -192,7 +203,7 @@
 	printf("vosub_vidix: Can't start playback: %s\n",strerror(err));
 	return -1;
     }
-
+    video_on=1;
     if (vidix_cap.flags & FLAG_EQUALIZER)
     {
 	if(verbose > 1)
@@ -213,7 +224,7 @@
 	       ,vo_gamma_blue_intensity);
 	}
         /* To use full set of vid_eq.cap */
-	if(vdlPlaybackGetEq(vidix_handler,&vid_eq) == 0)
+	if(vidix_get_video_eq(&vid_eq) == 0)
 	{
 		vid_eq.brightness = vo_gamma_brightness;
 		vid_eq.saturation = vo_gamma_saturation;
@@ -223,10 +234,9 @@
 		vid_eq.green_intensity = vo_gamma_green_intensity;
 		vid_eq.blue_intensity = vo_gamma_blue_intensity;
 		vid_eq.flags = VEQ_FLG_ITU_R_BT_601;
-		vdlPlaybackSetEq(vidix_handler,&vid_eq);
+		vidix_set_video_eq(&vid_eq);
 	}
     }
-    video_on=1;
     return 0;
 }
 
@@ -448,3 +458,39 @@
   info->dga_addr = vidix_play.dga_addr;
   return 0;
 }
+
+static int  vidix_get_video_eq(vidix_video_eq_t *info)
+{
+  if(!video_on) return EPERM;
+  return vdlPlaybackGetEq(vidix_handler, info);
+}
+
+static int  vidix_set_video_eq(const vidix_video_eq_t *info)
+{
+  if(!video_on) return EPERM;
+  return vdlPlaybackSetEq(vidix_handler, info);
+}
+
+static int  vidix_get_num_fx(unsigned *info)
+{
+  if(!video_on) return EPERM;
+  return vdlQueryNumOemEffects(vidix_handler, info);
+}
+
+static int  vidix_get_oem_fx(vidix_oem_fx_t *info)
+{
+  if(!video_on) return EPERM;
+  return vdlGetOemEffect(vidix_handler, info);
+}
+
+static int  vidix_set_oem_fx(const vidix_oem_fx_t *info)
+{
+  if(!video_on) return EPERM;
+  return vdlSetOemEffect(vidix_handler, info);
+}
+
+static int  vidix_set_deint(const vidix_deinterlace_t *info)
+{
+  if(!video_on) return EPERM;
+  return vdlPlaybackSetDeint(vidix_handler, info);
+}