From 65919f8c39e7a40e13061cf15c3b434d6d373863 Mon Sep 17 00:00:00 2001 From: michael Date: Sun, 28 Dec 2003 19:36:10 +0000 Subject: scenechange_threshold command line option patch by (Balatoni Denes ) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11700 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 7 +++++++ libmpcodecs/ve_lavc.c | 5 +++++ 2 files changed, 12 insertions(+) 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 -- cgit v1.2.3