summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-mplayer.h2
-rw-r--r--defaultopts.c1
-rw-r--r--libmpcodecs/vd_ffmpeg.c2
-rw-r--r--options.h1
4 files changed, 4 insertions, 2 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index 48f44a6fde..c0f4c91a9c 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -489,6 +489,8 @@ const m_option_t common_opts[] = {
// draw by slices or whole frame (useful with libmpeg2/libavcodec)
OPT_MAKE_FLAGS("slices", vd_use_slices, 0),
+ // use (probably completely broken) decoder direct rendering
+ OPT_MAKE_FLAGS("dr1", vd_use_dr1, 0),
{"field-dominance", &field_dominance, CONF_TYPE_INT, CONF_RANGE, -1, 1, NULL},
{"lavdopts", (void *) lavc_decode_opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
diff --git a/defaultopts.c b/defaultopts.c
index 072bf606d1..1d3abf932c 100644
--- a/defaultopts.c
+++ b/defaultopts.c
@@ -48,7 +48,6 @@ void set_default_mplayer_options(struct MPOpts *opts)
.drc_level = 1.,
.movie_aspect = -1.,
.flip = -1,
- .vd_use_slices = 1,
.sub_auto = 1,
#ifdef CONFIG_ASS
.ass_enabled = 1,
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index 21ecdfaa82..e078de4419 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -174,7 +174,7 @@ static int init(sh_video_t *sh)
&& lavc_codec->id != CODEC_ID_INTERPLAY_VIDEO
&& lavc_codec->id != CODEC_ID_ROQ && lavc_codec->id != CODEC_ID_VP8
&& lavc_codec->id != CODEC_ID_LAGARITH)
- ctx->do_dr1 = 1;
+ ctx->do_dr1 = sh->opts->vd_use_dr1;
ctx->ip_count = ctx->b_count = 0;
ctx->pic = avcodec_alloc_frame();
diff --git a/options.h b/options.h
index 11537c3ed9..ade419d74e 100644
--- a/options.h
+++ b/options.h
@@ -100,6 +100,7 @@ typedef struct MPOpts {
float screen_size_xy;
int flip;
int vd_use_slices;
+ int vd_use_dr1;
char **sub_name;
char **sub_paths;
int sub_auto;