From b7cacf9165290067b66b160b108790b89c080a3e Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 14 Dec 2012 12:59:05 +0100 Subject: video/out: replace VFCAP_TIMER with vo->untimed, fix vo_image and vo_lavc VFCAP_TIMER disables any additional waiting done by mpv in the playloop. Remove VFCAP_TIMER, but re-use the idea for vo_image and vo_lavc. This means --untimed doesn't have to be passed when using --vo=image. --- video/out/vo.h | 2 ++ video/out/vo_image.c | 1 + video/out/vo_lavc.c | 1 + video/vfcap.h | 2 -- 4 files changed, 4 insertions(+), 2 deletions(-) (limited to 'video') diff --git a/video/out/vo.h b/video/out/vo.h index e883293326..6ea2f930e8 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -228,6 +228,8 @@ struct vo { int config_count; // Total number of successful config calls int default_caps; // query_format() result for configured video format + bool untimed; // non-interactive, don't do sleep calls in playloop + bool frame_loaded; // Is there a next frame the VO could flip to? struct mp_image *waiting_mpi; double next_pts; // pts value of the next frame if any diff --git a/video/out/vo_image.c b/video/out/vo_image.c index 12bd18862a..2c9c6f3acf 100644 --- a/video/out/vo_image.c +++ b/video/out/vo_image.c @@ -137,6 +137,7 @@ static void uninit(struct vo *vo) static int preinit(struct vo *vo, const char *arg) { + vo->untimed = true; return 0; } diff --git a/video/out/vo_lavc.c b/video/out/vo_lavc.c index 7d846da92d..a9cb0624ac 100644 --- a/video/out/vo_lavc.c +++ b/video/out/vo_lavc.c @@ -71,6 +71,7 @@ static int preinit(struct vo *vo, const char *arg) vc = vo->priv; vc->harddup = vo->encode_lavc_ctx->options->harddup; vc->colorspace = (struct mp_csp_details) MP_CSP_DETAILS_DEFAULTS; + vo->untimed = true; return 0; } diff --git a/video/vfcap.h b/video/vfcap.h index 670faa596a..8758e30ada 100644 --- a/video/vfcap.h +++ b/video/vfcap.h @@ -29,8 +29,6 @@ // driver/filter can do vertical flip (upside-down) #define VFCAP_FLIP 0x80 -// driver/hardware handles timing (blocking) -#define VFCAP_TIMER 0x100 // filter does postprocessing (so you shouldn't scale/filter image before it) #define VFCAP_POSTPROC 0x800 -- cgit v1.2.3