summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2012-05-01 17:55:35 +0000
committerjstebbins <[email protected]>2012-05-01 17:55:35 +0000
commitaaf1930fc6a5d5b945eef579099ad50572fc2b22 (patch)
tree1a4e500f0292cd837a1029a8febae39b847ccbca
parent3c2c830d58e7777d19b793fc7a6e08a921f0d12b (diff)
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
-rw-r--r--gtk/src/presets.c2
-rw-r--r--libhb/decomb.c14
2 files changed, 15 insertions, 1 deletions
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