diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-04 18:06:31 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-04 18:06:31 +0000 |
commit | 78ab9a9f1dc36d4bffbb88e3fadac1700f3865fa (patch) | |
tree | a8894f632a90977d0059eb0b80f54115e0515d67 /linux | |
parent | 4db20c913deefb4129d6edc00144b7fad0db5741 (diff) | |
download | mpv-78ab9a9f1dc36d4bffbb88e3fadac1700f3865fa.tar.bz2 mpv-78ab9a9f1dc36d4bffbb88e3fadac1700f3865fa.tar.xz |
triple buffering interface
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2694 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'linux')
-rw-r--r-- | linux/vbelib.c | 19 | ||||
-rw-r--r-- | linux/vbelib.h | 1 |
2 files changed, 19 insertions, 1 deletions
diff --git a/linux/vbelib.c b/linux/vbelib.c index 9f177cd111..1600a53749 100644 --- a/linux/vbelib.c +++ b/linux/vbelib.c @@ -554,7 +554,7 @@ int vbeSetDisplayStart(unsigned long offset, int vsync) 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; @@ -566,6 +566,23 @@ int vbeSetDisplayStart(unsigned long offset, int vsync) 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; +} + struct realVesaProtModeInterface { unsigned short SetWindowCall; diff --git a/linux/vbelib.h b/linux/vbelib.h index 2e45475d3e..957c2fb550 100644 --- a/linux/vbelib.h +++ b/linux/vbelib.h @@ -209,6 +209,7 @@ extern int vbeSetScanLineLength(unsigned num_pixels); 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. |