[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