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
This commit is contained in:
michael 2003-12-28 19:36:10 +00:00
parent e15d0921d9
commit 65919f8c39
2 changed files with 12 additions and 0 deletions

View File

@ -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

View File

@ -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