diff options
-rw-r--r-- | cfg-mplayer.h | 3 | ||||
-rw-r--r-- | libvo/video_out.c | 1 | ||||
-rw-r--r-- | libvo/video_out.h | 1 | ||||
-rw-r--r-- | libvo/vo_vesa.c | 8 |
4 files changed, 9 insertions, 4 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h index c547639ffb..67aa5cf7fb 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -37,6 +37,7 @@ extern char *lirc_configfile; #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 @@ static config_t mplayer_opts[]={ {"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}, diff --git a/libvo/video_out.c b/libvo/video_out.c index 1235c37321..a7835d2e5f 100644 --- a/libvo/video_out.c +++ b/libvo/video_out.c @@ -41,6 +41,7 @@ int vo_dwidth=0; 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 diff --git a/libvo/video_out.h b/libvo/video_out.h index 0a44c99d4d..ef3ff24b6e 100644 --- a/libvo/video_out.h +++ b/libvo/video_out.h @@ -177,6 +177,7 @@ extern int vo_dheight; extern int vo_dbpp; extern int vo_doublebuffering; +extern int vo_vsync; extern int vo_fsmode; extern int vo_pts; diff --git a/libvo/vo_vesa.c b/libvo/vo_vesa.c index 836e4f3919..f659fc5b94 100644 --- a/libvo/vo_vesa.c +++ b/libvo/vo_vesa.c @@ -114,7 +114,7 @@ static char * vbeErrToStr(int err) 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 @@ static void flip_page(void) 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 @@ static void flip_page(void) 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]; } */ } |