summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-28 19:36:10 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-28 19:36:10 +0000
commit65919f8c39e7a40e13061cf15c3b434d6d373863 (patch)
treeee81c62025cd41f54933fd09be265626a4afa810
parente15d0921d91aa0bdec977827f8c90b8c0ac4a133 (diff)
downloadmpv-65919f8c39e7a40e13061cf15c3b434d6d373863.tar.bz2
mpv-65919f8c39e7a40e13061cf15c3b434d6d373863.tar.xz
scenechange_threshold command line option patch by (Balatoni Denes <pnis at coder dot hu>)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11700 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--DOCS/man/en/mplayer.17
-rw-r--r--libmpcodecs/ve_lavc.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 050f3c0a26..e59e6375f9 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -3859,6 +3859,13 @@ decoder, encoder and luck.
For a strict MPEG1/\:2/\:4 compliance this would have to be <=132.
(default: 250 or one key frame every ten seconds in a 25fps movie)
.TP
+.B sc_threshold=<-1000000\-1000000>
+Threshold for scene change detection.
+Libavcodec inserts a keyframe when it detects a scene change.
+You can specify the sensitivity of the detection with this option.
+-1000000 means there is a scene change detected at every frame, 1000000 means
+no scene changes are detected (default 0).
+.TP
.B vb_strategy=<0\-1>
strategy to choose between I/\:P/\:B frames (pass\ 2):
.RSs
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index 16875db7ba..914915cd89 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -139,6 +139,7 @@ static int lavc_param_mv0= 0;
static int lavc_param_noise_reduction= 0;
static int lavc_param_qp_rd= 0;
static int lavc_param_inter_threshold= 0;
+static int lavc_param_sc_threshold= 0;
static int lavc_param_ss= 0;
static int lavc_param_top= -1;
@@ -269,6 +270,7 @@ m_option_t lavcopts_conf[]={
{"ss", &lavc_param_ss, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_SLICE_STRUCT, NULL},
#endif
{"inter_threshold", &lavc_param_inter_threshold, CONF_TYPE_INT, CONF_RANGE, -1000000, 1000000, NULL},
+ {"sc_threshold", &lavc_param_sc_threshold, CONF_TYPE_INT, CONF_RANGE, -1000000, 1000000, NULL},
{"top", &lavc_param_top, CONF_TYPE_INT, CONF_RANGE, -1, 1, NULL},
{NULL, NULL, 0, 0, 0, 0, NULL}
};
@@ -380,6 +382,9 @@ static int config(struct vf_instance_s* vf,
lavc_venc_context->coder_type= lavc_param_coder;
lavc_venc_context->context_model= lavc_param_context;
#endif
+#if LIBAVCODEC_BUILD >= 4680
+ lavc_venc_context->scenechange_threshold= lavc_param_sc_threshold;
+#endif
#if LIBAVCODEC_BUILD >= 4690
lavc_venc_context->noise_reduction= lavc_param_noise_reduction;
#endif