summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-02-02 14:19:55 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-02-02 14:19:55 +0000
commiteb1a176e5b83896815a4bfc523709804cb03bb89 (patch)
tree0b4947462d638f4c3d875efc76ac79df2639053e
parent55dfba195f04c33b120262f99b8bed00bfdefd67 (diff)
downloadmpv-eb1a176e5b83896815a4bfc523709804cb03bb89.tar.bz2
mpv-eb1a176e5b83896815a4bfc523709804cb03bb89.tar.xz
quantizer noise shaping
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11911 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--DOCS/man/en/mplayer.116
-rw-r--r--libmpcodecs/ve_lavc.c5
2 files changed, 21 insertions, 0 deletions
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=<comma separated 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