diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 3f0a1e7e80..43d76888ee 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -4892,6 +4892,22 @@ Tip: a more positive bias (-32 \- -16 instead of -64) seems to improve the PSNR .B nr=<0\-100000> noise reduction, 0 is disabled .TP +.B qns=<0\-3> +quantizer noise shaping, reduces ringing artefacts, larger values are slower +but may not result in better quality +.PD 0 +.RSs +.IPs 0 +disabled (default) +.IPs 1 +only lower the absolute value of coefficients +.IPs 2 +only change coefficients before the last non zero coefficient + 1 +.IPs 3 +try all +.RE +.PD 1 +.TP .B inter_matrix= Use custom inter matrix. It needs a comma separated string of 64 integers. .TP diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c index 9a81428b45..57cb7b9a51 100644 --- a/libmpcodecs/ve_lavc.c +++ b/libmpcodecs/ve_lavc.c @@ -140,6 +140,7 @@ static char *lavc_param_inter_matrix = NULL; static int lavc_param_cbp= 0; static int lavc_param_mv0= 0; static int lavc_param_noise_reduction= 0; +static int lavc_param_qns= 0; static int lavc_param_qp_rd= 0; static int lavc_param_inter_threshold= 0; static int lavc_param_sc_threshold= 0; @@ -286,6 +287,7 @@ m_option_t lavcopts_conf[]={ {"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}, + {"qns", &lavc_param_qns, CONF_TYPE_INT, CONF_RANGE, 0, 1000000, NULL}, {NULL, NULL, 0, 0, 0, 0, NULL} }; #endif @@ -402,6 +404,9 @@ static int config(struct vf_instance_s* vf, #if LIBAVCODEC_BUILD >= 4690 lavc_venc_context->noise_reduction= lavc_param_noise_reduction; #endif +#if LIBAVCODEC_BUILD >= 4700 + lavc_venc_context->quantizer_noise_shaping= lavc_param_qns; +#endif #if LIBAVCODEC_BUILD >= 4693 lavc_venc_context->inter_threshold= lavc_param_inter_threshold; #endif