From: Deb Mukherjee Date: Tue, 4 Sep 2012 19:09:05 +0000 (-0700) Subject: Adjusting thresholds in mfqe post-processing X-Git-Tag: v1.2.0~88 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c6fd0a5dd65f0723dbabed2f17f12c87b37aab7a;p=libvpx Adjusting thresholds in mfqe post-processing Adjusts some of the qualification thresholds in mfqe to eliminate artifacts due to wrong decisions. Besides, a new qualification criteria is used to disable mfqe if the quality of the previous frame is itself not too good. Change-Id: I4097c20b7fd4fcc60cc3003c1e33e8faae2ff066 --- diff --git a/vp8/common/mfqe.c b/vp8/common/mfqe.c index 3fe5bca3d..3dff1505b 100644 --- a/vp8/common/mfqe.c +++ b/vp8/common/mfqe.c @@ -185,8 +185,8 @@ static void multiframe_quality_enhance_block actrisk = (actd > act * 5); - /* thr = qdiff/8 + log2(act) + log4(qprev) */ - thr = (qdiff >> 3); + /* thr = qdiff/16 + log2(act) + log4(qprev) */ + thr = (qdiff >> 4); while (actd >>= 1) thr++; while (qprev >>= 2) thr++; diff --git a/vp8/common/postproc.c b/vp8/common/postproc.c index a7509ff4e..444898784 100644 --- a/vp8/common/postproc.c +++ b/vp8/common/postproc.c @@ -742,7 +742,8 @@ int vp8_post_proc_frame(VP8_COMMON *oci, YV12_BUFFER_CONFIG *dest, vp8_ppflags_t if ((flags & VP8D_MFQE) && oci->postproc_state.last_frame_valid && oci->current_video_frame >= 2 && - oci->base_qindex - oci->postproc_state.last_base_qindex >= 10) + oci->postproc_state.last_base_qindex < 60 && + oci->base_qindex - oci->postproc_state.last_base_qindex >= 20) { vp8_multiframe_quality_enhance(oci); if (((flags & VP8D_DEBLOCK) || (flags & VP8D_DEMACROBLOCK)) &&