Mercurial > mplayer.hg
changeset 4667:95fa3901cafc
add vsync support for doublebuffering to vo_vesa
author | atmos4 |
---|---|
date | Tue, 12 Feb 2002 15:06:04 +0000 |
parents | a093bb34b723 |
children | d20978449650 |
files | cfg-mplayer.h libvo/video_out.c libvo/video_out.h libvo/vo_vesa.c |
diffstat | 4 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/cfg-mplayer.h Tue Feb 12 10:36:43 2002 +0000 +++ b/cfg-mplayer.h Tue Feb 12 15:06:04 2002 +0000 @@ -37,6 +37,7 @@ #ifndef USE_LIBVO2 extern int vo_doublebuffering; +extern int vo_vsync; extern int vo_fsmode; extern int vo_dbpp; /* gamma correction */ @@ -248,6 +249,8 @@ {"fsmode", &vo_fsmode, CONF_TYPE_INT, CONF_RANGE, 0, 15, NULL}, {"double", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"nodouble", &vo_doublebuffering, CONF_TYPE_FLAG, 0, 1, 0, NULL}, + {"vsync", &vo_vsync, CONF_TYPE_FLAG, 0, 0, 1, NULL}, + {"novsync", &vo_vsync, CONF_TYPE_FLAG, 0, 1, 0, NULL}, {"brightness",&vo_gamma_brightness, CONF_TYPE_INT, CONF_RANGE, -1000, 1000, NULL}, {"saturation",&vo_gamma_saturation, CONF_TYPE_INT, CONF_RANGE, -1000, 1000, NULL}, {"contrast",&vo_gamma_contrast, CONF_TYPE_INT, CONF_RANGE, -1000, 1000, NULL},
--- a/libvo/video_out.c Tue Feb 12 10:36:43 2002 +0000 +++ b/libvo/video_out.c Tue Feb 12 15:06:04 2002 +0000 @@ -41,6 +41,7 @@ int vo_dheight=0; int vo_dbpp=0; int vo_doublebuffering = 0; +int vo_vsync = 0; int vo_fsmode = 0; int vo_pts=0; // for hw decoding
--- a/libvo/video_out.h Tue Feb 12 10:36:43 2002 +0000 +++ b/libvo/video_out.h Tue Feb 12 15:06:04 2002 +0000 @@ -177,6 +177,7 @@ extern int vo_dbpp; extern int vo_doublebuffering; +extern int vo_vsync; extern int vo_fsmode; extern int vo_pts;
--- a/libvo/vo_vesa.c Tue Feb 12 10:36:43 2002 +0000 +++ b/libvo/vo_vesa.c Tue Feb 12 15:06:04 2002 +0000 @@ -114,7 +114,7 @@ static char sbuff[80]; if((err & VBE_VESA_ERROR_MASK) == VBE_VESA_ERROR_MASK) { - sprintf(sbuff,"VESA failed = 0x4f%x",(err & VBE_VESA_ERRCODE_MASK)>>8); + sprintf(sbuff,"VESA failed = 0x4f%02x",(err & VBE_VESA_ERRCODE_MASK)>>8); retval = sbuff; } else @@ -361,7 +361,7 @@ if(vo_doublebuffering && multi_size > 1) { int err; - if((err=vbeSetDisplayStart(multi_buff[multi_idx],1)) != VBE_OK) + if((err=vbeSetDisplayStart(multi_buff[multi_idx],vo_vsync)) != VBE_OK) { vesa_term(); PRINT_VBE_ERR("vbeSetDisplayStart",err); @@ -375,10 +375,10 @@ else if(tripple_buffering) { - vbeSetScheduledDisplayStart(multi_buffer[multi_idx],1); + vbeSetScheduledDisplayStart(multi_buff[multi_idx],vo_vsync); multi_idx++; if(multi_idx > 2) multi_idx = 0; - win.ptr = dga_buffer = video_base + multi_buffer[multi_idx]; + win.ptr = dga_buffer = video_base + multi_buff[multi_idx]; } */ }