From aaf1930fc6a5d5b945eef579099ad50572fc2b22 Mon Sep 17 00:00:00 2001 From: jstebbins Date: Tue, 1 May 2012 17:55:35 +0000 Subject: [PATCH] don't do combing check twice per frame when bobbing and fix saving bob setting in LinGui presets git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4626 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- gtk/src/presets.c | 2 ++ libhb/decomb.c | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/gtk/src/presets.c b/gtk/src/presets.c index cc2f23e8a..d1eb0333f 100644 --- a/gtk/src/presets.c +++ b/gtk/src/presets.c @@ -2084,6 +2084,7 @@ value_map_t deint_xlat[] = {"2", "fast"}, {"3", "slow"}, {"4", "slower"}, + {"5", "bob"}, {NULL, NULL} }; @@ -2111,6 +2112,7 @@ value_map_t decomb_xlat[] = {"1", "custom"}, {"2", "default"}, {"3", "fast"}, + {"4", "bob"}, {NULL, NULL} }; diff --git a/libhb/decomb.c b/libhb/decomb.c index 74f0a7b35..166d72f16 100644 --- a/libhb/decomb.c +++ b/libhb/decomb.c @@ -2519,7 +2519,19 @@ static int hb_decomb_work( hb_filter_object_t * filter, And when it's not, it's a progressive frame, so mcdeint should be skipped... */ - yadif_filter( pv->pic_out.data, parity, tff, pv ); + if ( duplicate ) + { + // Don't perform comb detection again + // during bob duplicate processing + int spatial_metric_sav = pv->spatial_metric; + pv->spatial_metric = -1; + yadif_filter( pv->pic_out.data, parity, tff, pv ); + pv->spatial_metric = spatial_metric_sav; + } + else + { + yadif_filter( pv->pic_out.data, parity, tff, pv ); + } /* Commented out code in the line below would skip mcdeint on uncombed frames. Possibly a bad idea, since mcdeint -- 2.40.0