changeset 11565:0d24c99199e2

Some more vidix crap - vidix equalizer passthrough. Patch by Oleg I. Vdovikin <vdovikin@jscc.ru>
author alex
date Sun, 07 Dec 2003 15:08:20 +0000
parents 95dd5eb117f0
children a9448dd2430c
files libvo/vo_svga.c libvo/vo_vesa.c
diffstat 2 files changed, 62 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_svga.c	Sun Dec 07 14:54:39 2003 +0000
+++ b/libvo/vo_svga.c	Sun Dec 07 15:08:20 2003 +0000
@@ -361,6 +361,37 @@
     case VOCTRL_GET_IMAGE:
       return get_image(data);
   }
+
+#ifdef CONFIG_VIDIX
+  if (vidix_name) {
+    switch (request) {
+    case VOCTRL_SET_EQUALIZER:
+    {
+      va_list ap;
+      int value;
+    
+      va_start(ap, data);
+      value = va_arg(ap, int);
+      va_end(ap);
+
+      return vidix_control(request, data, (int *)value);
+    }
+    case VOCTRL_GET_EQUALIZER:
+    {
+      va_list ap;
+      int *value;
+    
+      va_start(ap, data);
+      value = va_arg(ap, int*);
+      va_end(ap);
+
+      return vidix_control(request, data, value);
+    }
+    }
+    return vidix_control(request, data);
+  }
+#endif
+
   return VO_NOTIMPL;
 }
 
--- a/libvo/vo_vesa.c	Sun Dec 07 14:54:39 2003 +0000
+++ b/libvo/vo_vesa.c	Sun Dec 07 15:08:20 2003 +0000
@@ -1065,5 +1065,36 @@
   case VOCTRL_QUERY_FORMAT:
     return query_format(*((uint32_t*)data));
   }
+
+#ifdef CONFIG_VIDIX
+  if (vidix_name) {
+    switch (request) {
+    case VOCTRL_SET_EQUALIZER:
+    {
+      va_list ap;
+      int value;
+    
+      va_start(ap, data);
+      value = va_arg(ap, int);
+      va_end(ap);
+
+      return vidix_control(request, data, (int *)value);
+    }
+    case VOCTRL_GET_EQUALIZER:
+    {
+      va_list ap;
+      int *value;
+    
+      va_start(ap, data);
+      value = va_arg(ap, int*);
+      va_end(ap);
+
+      return vidix_control(request, data, value);
+    }
+    }
+    return vidix_control(request, data);
+  }
+#endif
+
   return VO_NOTIMPL;
 }