[Mplayer-cvslog] CVS: main/linux vbelib.c,1.15,1.16 vbelib.h,1.9,1.10

Nick Kurshev nick at mplayer.dev.hu
Sun Nov 4 19:06:34 CET 2001


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

Modified Files:
	vbelib.c vbelib.h 
Log Message:
triple buffering interface

Index: vbelib.c
===================================================================
RCS file: /cvsroot/mplayer/main/linux/vbelib.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- vbelib.c	4 Nov 2001 16:20:58 -0000	1.15
+++ vbelib.c	4 Nov 2001 18:06:31 -0000	1.16
@@ -554,7 +554,7 @@
     pixel_num = offset%(unsigned long)curr_mode_info.BytesPerScanLine;
     if(pixel_num*(unsigned long)curr_mode_info.BytesPerScanLine!=offset) pixel_num++;
     r.eax = 0x4f07;
-    r.ebx = vsync ? 0x80 : 0;
+    r.ebx = vsync ? 0x82 : 2;
     r.ecx = pixel_num;
     r.edx = offset/(unsigned long)curr_mode_info.BytesPerScanLine;
     if(!VBE_LRMI_int(0x10,&r)) return VBE_VM86_FAIL;
@@ -563,6 +563,23 @@
 #endif
     retval = VBE_BROKEN_BIOS;
   }
+  return retval;
+}
+
+int vbeSetScheduledDisplayStart(unsigned long offset, int vsync)
+{
+  int retval;
+  struct LRMI_regs r;
+  unsigned long pixel_num;
+  memset(&r,0,sizeof(struct LRMI_regs));
+  pixel_num = offset%(unsigned long)curr_mode_info.BytesPerScanLine;
+  if(pixel_num*(unsigned long)curr_mode_info.BytesPerScanLine!=offset) pixel_num++;
+  r.eax = 0x4f07;
+  r.ebx = vsync ? 0x82 : 2;
+  r.ecx = offset;
+  if(!VBE_LRMI_int(0x10,&r)) return VBE_VM86_FAIL;
+  retval = r.eax & 0xffff;
+  if(retval == 0x4f) retval = VBE_OK;
   return retval;
 }
 

Index: vbelib.h
===================================================================
RCS file: /cvsroot/mplayer/main/linux/vbelib.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- vbelib.h	2 Nov 2001 17:34:17 -0000	1.9
+++ vbelib.h	4 Nov 2001 18:06:31 -0000	1.10
@@ -209,6 +209,7 @@
 extern int vbeSetScanLineLengthB(unsigned num_bytes);
 extern int vbeGetDisplayStart(unsigned *pixel_num,unsigned *scan_line);
 extern int vbeSetDisplayStart(unsigned long offset, int vsync);
+extern int vbeSetScheduledDisplayStart(unsigned long offset, int vsync);
 /*
    Func 0x08-0x09:
    Support of palette currently is not implemented.




More information about the MPlayer-cvslog mailing list