summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/tech/libavc-options.txt29
-rw-r--r--libmpcodecs/ve_lavc.c7
2 files changed, 36 insertions, 0 deletions
diff --git a/DOCS/tech/libavc-options.txt b/DOCS/tech/libavc-options.txt
index 23a42f6b48..a5c70f9679 100644
--- a/DOCS/tech/libavc-options.txt
+++ b/DOCS/tech/libavc-options.txt
@@ -72,6 +72,7 @@ vpass
1 first pass
2 second pass
(only need to specify if two-pass encoding is used)
+ Tip: u can try to use constant quantizer mode for pass1 (vqscale=<quantizer>)
vbitrate (kbits per second) for pass1/2
800 is default
@@ -202,6 +203,34 @@ vfdct (0-99) dct algorithm
3 mmx
4 mlib
+lumi_mask (0.0-1.0) luminance masking
+ 0.0 disabled (default)
+ 0.0-0.5 should be a sane range
+ warning: be carefull, too large values can cause disasterous things
+ warning2: large values might look good on some monitors but may look horrible
+ on other monitors
+
+dark_mask (0.0-1.0) darkness masking
+ 0.0 disabled (default)
+ 0.0-0.3 should be a sane range
+ warning: be carefull, too large values can cause disasterous things
+ warning2: large values might look good on some monitors but may look horrible
+ on other monitors / TV / TFT
+
+tcplx_mask (0.0-1.0) temporal complexity masking
+ 0.0 disabled (default)
+
+scplx_mask (0.0-1.0) spatial complexity masking
+ 0.0 disabled (default)
+ 0.0-0.5 should be a sane range
+ larger values help against blockiness, if no deblocking filter is used
+ for decoding
+ Tip: crop any black borders completly away as they will reduce the quality
+ of the MBs there, this is true if scplx_mask isnt used at all too
+
+naq normalize adaptive quantization
+ experimental
+
lavdopts: (decoder options)
---------------------------
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index d707554991..b4a03c8d78 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -90,6 +90,7 @@ static int lavc_param_fdct=0;
static float lavc_param_aspect=0.0;
#endif
static float lavc_param_lumi_masking= 0.0;
+static float lavc_param_dark_masking= 0.0;
static float lavc_param_temporal_cplx_masking= 0.0;
static float lavc_param_spatial_cplx_masking= 0.0;
static float lavc_param_p_masking= 0.0;
@@ -160,6 +161,9 @@ struct config lavcopts_conf[]={
{"p_mask", &lavc_param_p_masking, CONF_TYPE_FLOAT, CONF_RANGE, -1.0, 1.0, NULL},
{"naq", &lavc_param_normalize_aqp, CONF_TYPE_FLAG, 0, 0, 1, NULL},
#endif
+#if LIBAVCODEC_BUILD >= 4626
+ {"dark_mask", &lavc_param_dark_masking, CONF_TYPE_FLOAT, CONF_RANGE, -1.0, 1.0, NULL},
+#endif
{NULL, NULL, 0, 0, 0, 0, NULL}
};
#endif
@@ -269,6 +273,9 @@ static int config(struct vf_instance_s* vf,
lavc_venc_context->spatial_cplx_masking= lavc_param_spatial_cplx_masking;
lavc_venc_context->p_masking= lavc_param_p_masking;
#endif
+#if LIBAVCODEC_BUILD >= 4626
+ lavc_venc_context->dark_masking= lavc_param_dark_masking;
+#endif
#if LIBAVCODEC_BUILD >= 4623
if (lavc_param_aspect != 0.0)