summaryrefslogtreecommitdiffstats
path: root/libhb
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2015-10-05 08:53:19 -0700
committerJohn Stebbins <[email protected]>2015-10-09 13:36:59 -0700
commit305d591def7d9bb32f3dd3020c511970f3363960 (patch)
tree555cdc269479feca0d816ea7d7e27d6e23eeae8e /libhb
parent7f1f6dc4ff37e1dbc194f2ffec3c706f43131292 (diff)
Make deinterlace/decomb behave similar to nlmeans/hqdn3d
I.e. use a dropdown to select between the filters instead of a radio button.
Diffstat (limited to 'libhb')
-rw-r--r--libhb/builtin_presets.h80
-rw-r--r--libhb/libhb_presets.list2
-rw-r--r--libhb/param.c2
-rw-r--r--libhb/preset.c148
-rw-r--r--libhb/preset_builtin.json72
-rw-r--r--libhb/preset_template.json6
6 files changed, 137 insertions, 173 deletions
diff --git a/libhb/builtin_presets.h b/libhb/builtin_presets.h
index 2ad9f34ec..99ab89662 100644
--- a/libhb/builtin_presets.h
+++ b/libhb/builtin_presets.h
@@ -32,11 +32,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -92,11 +90,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -152,11 +148,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -212,11 +206,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -280,11 +272,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -348,11 +338,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -416,11 +404,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"fast\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"decomb\", \n"
+" \"PictureDeinterlacePreset\": \"fast\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -476,11 +462,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -536,11 +520,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -596,11 +578,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -663,11 +643,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -731,11 +709,9 @@ const char hb_builtin_presets_json[] =
" \"PictureAutoCrop\": true, \n"
" \"PictureBottomCrop\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"default\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"decomb\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDetelecine\": \"off\", \n"
@@ -821,11 +797,9 @@ const char hb_builtin_presets_json[] =
" \"PictureBottomCrop\": 0, \n"
" \"PictureDARWidth\": 0, \n"
" \"PictureDeblock\": 0, \n"
-" \"PictureDecomb\": \"off\", \n"
-" \"PictureDecombCustom\": \"\", \n"
-" \"PictureDecombDeinterlace\": true, \n"
-" \"PictureDeinterlace\": \"off\", \n"
" \"PictureDeinterlaceCustom\": \"\", \n"
+" \"PictureDeinterlaceFilter\": \"off\", \n"
+" \"PictureDeinterlacePreset\": \"default\", \n"
" \"PictureDenoiseCustom\": \"\", \n"
" \"PictureDenoiseFilter\": \"off\", \n"
" \"PictureDenoisePreset\": \"medium\", \n"
@@ -882,7 +856,7 @@ const char hb_builtin_presets_json[] =
" \"x264Option\": \"\", \n"
" \"x264UseAdvancedOptions\": false\n"
" }, \n"
-" \"VersionMajor\": 10, \n"
+" \"VersionMajor\": 11, \n"
" \"VersionMicro\": 0, \n"
" \"VersionMinor\": 0\n"
" }\n"
diff --git a/libhb/libhb_presets.list b/libhb/libhb_presets.list
index 3742b1d40..cc972f0f2 100644
--- a/libhb/libhb_presets.list
+++ b/libhb/libhb_presets.list
@@ -1,6 +1,6 @@
<resources>
<section name="PresetTemplate">
- <integer name="VersionMajor" value="10" />
+ <integer name="VersionMajor" value="11" />
<integer name="VersionMinor" value="0" />
<integer name="VersionMicro" value="0" />
<json name="Preset" file="preset_template.json" />
diff --git a/libhb/param.c b/libhb/param.c
index 494badf39..723943ba8 100644
--- a/libhb/param.c
+++ b/libhb/param.c
@@ -57,7 +57,6 @@ static hb_filter_param_t detelecine_presets[] =
static hb_filter_param_t decomb_presets[] =
{
- { 0, "Off", "off", hb_filter_off },
{ 1, "Custom", "custom", NULL },
{ 2, "Default", "default", "" },
{ 3, "Fast", "fast", "7:2:6:9:1:80" },
@@ -67,7 +66,6 @@ static hb_filter_param_t decomb_presets[] =
static hb_filter_param_t deinterlace_presets[] =
{
- { 0, "Off", "off", hb_filter_off },
{ 1, "Custom", "custom", NULL },
{ 2, "Fast", "fast", "0:-1:-1:0:1" },
{ 3, "Slow", "slow", "1:-1:-1:0:1" },
diff --git a/libhb/preset.c b/libhb/preset.c
index b7074feb0..e733a175a 100644
--- a/libhb/preset.c
+++ b/libhb/preset.c
@@ -1113,69 +1113,41 @@ int hb_preset_apply_filters(const hb_dict_t *preset, hb_dict_t *job_dict)
}
// Decomb or deinterlace filters
- int decomb_or_deint;
- decomb_or_deint = hb_value_get_bool(hb_dict_get(preset,
- "PictureDecombDeinterlace"));
- hb_value_t *decomb_val = hb_dict_get(preset, "PictureDecomb");
- if (decomb_or_deint && decomb_val != NULL)
+ const char *deint_filter, *deint_preset, *deint_custom;
+ deint_filter = hb_value_get_string(hb_dict_get(preset,
+ "PictureDeinterlaceFilter"));
+ deint_preset = hb_value_get_string(hb_dict_get(preset,
+ "PictureDeinterlacePreset"));
+ deint_custom = hb_value_get_string(hb_dict_get(preset,
+ "PictureDeinterlaceCustom"));
+ if (deint_filter != NULL && deint_preset != NULL &&
+ strcasecmp(deint_filter, "off"))
{
- const char *custom;
- custom = hb_value_get_string(hb_dict_get(preset,
- "PictureDecombCustom"));
- if (hb_value_type(decomb_val) == HB_VALUE_TYPE_STRING)
+ int filter_id;
+ if (!strcasecmp(deint_filter, "decomb"))
{
- filter_str = hb_generate_filter_settings(
- HB_FILTER_DECOMB, hb_value_get_string(decomb_val), custom);
- }
- else
- {
- filter_str = hb_generate_filter_settings_by_index(
- HB_FILTER_DECOMB, hb_value_get_int(decomb_val), custom);
+ filter_id = HB_FILTER_DECOMB;
}
- if (filter_str == NULL)
+ else if (!strcasecmp(deint_filter, "deinterlace"))
{
- char *s = hb_value_get_string_xform(decomb_val);
- hb_error("Invalid decomb filter settings (%s)", s);
- free(s);
- return -1;
- }
- else if (filter_str != hb_filter_off)
- {
- filter_dict = hb_dict_init();
- hb_dict_set(filter_dict, "ID", hb_value_int(HB_FILTER_DECOMB));
- hb_dict_set(filter_dict, "Settings", hb_value_string(filter_str));
- hb_value_array_append(filter_list, filter_dict);
- free(filter_str);
- }
- }
-
- hb_value_t *deint_val = hb_dict_get(preset, "PictureDeinterlace");
- if (!decomb_or_deint && deint_val != NULL)
- {
- const char *custom;
- custom = hb_value_get_string(hb_dict_get(preset,
- "PictureDeinterlaceCustom"));
- if (hb_value_type(deint_val) == HB_VALUE_TYPE_STRING)
- {
- filter_str = hb_generate_filter_settings(
- HB_FILTER_DEINTERLACE, hb_value_get_string(deint_val), custom);
+ filter_id = HB_FILTER_DEINTERLACE;
}
else
{
- filter_str = hb_generate_filter_settings_by_index(
- HB_FILTER_DEINTERLACE, hb_value_get_int(deint_val), custom);
+ hb_error("Invalid deinterlace filter (%s)", deint_filter);
+ return -1;
}
+ filter_str = hb_generate_filter_settings(
+ filter_id, deint_preset, deint_custom);
if (filter_str == NULL)
{
- char *s = hb_value_get_string_xform(deint_val);
- hb_error("Invalid deinterlace filter settings (%s)", s);
- free(s);
+ hb_error("Invalid deinterlace filter preset (%s)", deint_preset);
return -1;
}
else if (filter_str != hb_filter_off)
{
filter_dict = hb_dict_init();
- hb_dict_set(filter_dict, "ID", hb_value_int(HB_FILTER_DEINTERLACE));
+ hb_dict_set(filter_dict, "ID", hb_value_int(filter_id));
hb_dict_set(filter_dict, "Settings", hb_value_string(filter_str));
hb_value_array_append(filter_list, filter_dict);
free(filter_str);
@@ -1961,6 +1933,41 @@ void hb_presets_clean(hb_value_t *preset)
presets_clean(preset, hb_preset_template);
}
+static void import_deint_10_0_0(hb_value_t *preset)
+{
+ hb_value_t *val = hb_dict_get(preset, "PictureDecombDeinterlace");
+ if (val != NULL)
+ {
+ int decomb_or_deint = hb_value_get_bool(val);
+ const char * deint_preset;
+ if (decomb_or_deint)
+ {
+ deint_preset = hb_value_get_string(
+ hb_dict_get(preset, "PictureDecomb"));
+ }
+ else
+ {
+ deint_preset = hb_value_get_string(
+ hb_dict_get(preset, "PictureDeinterlace"));
+ }
+ if (deint_preset != NULL && strcasecmp(deint_preset, "off"))
+ {
+ hb_dict_set(preset, "PictureDeinterlaceFilter",
+ decomb_or_deint ? hb_value_string("decomb")
+ : hb_value_string("deinterlace"));
+ hb_dict_set(preset, "PictureDeinterlacePreset",
+ hb_value_string(deint_preset));
+ }
+ else
+ {
+ hb_dict_set(preset, "PictureDeinterlaceFilter",
+ hb_value_string("off"));
+ hb_dict_set(preset, "PictureDeinterlacePreset",
+ hb_value_string("default"));
+ }
+ }
+}
+
static const char* import_indexed_filter(int filter_id, int index)
{
hb_filter_param_t *filter_presets;
@@ -1975,7 +1982,7 @@ static const char* import_indexed_filter(int filter_id, int index)
return filter_presets[ii].short_name;
}
-static void import_decomb(hb_value_t *preset)
+static void import_deint_0_0_0(hb_value_t *preset)
{
hb_value_t *val = hb_dict_get(preset, "PictureDecomb");
if (hb_value_is_number(val))
@@ -1993,11 +2000,8 @@ static void import_decomb(hb_value_t *preset)
hb_dict_set(preset, "PictureDecomb", hb_value_string("off"));
}
}
-}
-static void import_deint(hb_value_t *preset)
-{
- hb_value_t *val = hb_dict_get(preset, "PictureDeinterlace");
+ val = hb_dict_get(preset, "PictureDeinterlace");
if (hb_value_is_number(val))
{
const char *s;
@@ -2013,9 +2017,10 @@ static void import_deint(hb_value_t *preset)
hb_dict_set(preset, "PictureDeinterlace", hb_value_string("off"));
}
}
+ import_deint_10_0_0(preset);
}
-static void import_detel(hb_value_t *preset)
+static void import_detel_0_0_0(hb_value_t *preset)
{
hb_value_t *val = hb_dict_get(preset, "PictureDetelecine");
if (hb_value_is_number(val))
@@ -2035,7 +2040,7 @@ static void import_detel(hb_value_t *preset)
}
}
-static void import_denoise(hb_value_t *preset)
+static void import_denoise_0_0_0(hb_value_t *preset)
{
hb_value_t *val = hb_dict_get(preset, "PictureDenoise");
if (hb_value_is_number(val))
@@ -2058,7 +2063,7 @@ static void import_denoise(hb_value_t *preset)
}
}
-static void import_pic(hb_value_t *preset)
+static void import_pic_0_0_0(hb_value_t *preset)
{
if (hb_value_get_bool(hb_dict_get(preset, "UsesMaxPictureSettings")))
{
@@ -2091,7 +2096,7 @@ static void import_pic(hb_value_t *preset)
}
}
-static void import_audio(hb_value_t *preset)
+static void import_audio_0_0_0(hb_value_t *preset)
{
hb_value_t *copy = hb_dict_get(preset, "AudioCopyMask");
if (copy != NULL)
@@ -2117,7 +2122,7 @@ static void import_audio(hb_value_t *preset)
hb_value_array_append(copy, hb_value_string("copy:truehd"));
}
-static void import_video(hb_value_t *preset)
+static void import_video_0_0_0(hb_value_t *preset)
{
hb_value_t *val;
@@ -2184,6 +2189,21 @@ static void import_video(hb_value_t *preset)
}
}
+static void import_0_0_0(hb_value_t *preset)
+{
+ import_video_0_0_0(preset);
+ import_pic_0_0_0(preset);
+ import_audio_0_0_0(preset);
+ import_deint_0_0_0(preset);
+ import_detel_0_0_0(preset);
+ import_denoise_0_0_0(preset);
+}
+
+static void import_10_0_0(hb_value_t *preset)
+{
+ import_deint_10_0_0(preset);
+}
+
static void preset_import(hb_value_t *preset, int major, int minor, int micro)
{
if (!hb_value_get_bool(hb_dict_get(preset, "Folder")))
@@ -2191,13 +2211,11 @@ static void preset_import(hb_value_t *preset, int major, int minor, int micro)
if (major == 0 && minor == 0 && micro == 0)
{
// Convert legacy presets (before versioning introduced)
- import_video(preset);
- import_pic(preset);
- import_audio(preset);
- import_decomb(preset);
- import_deint(preset);
- import_detel(preset);
- import_denoise(preset);
+ import_0_0_0(preset);
+ }
+ else if (major == 10 && minor == 0 && micro == 0)
+ {
+ import_10_0_0(preset);
}
preset_clean(preset, hb_preset_template);
}
diff --git a/libhb/preset_builtin.json b/libhb/preset_builtin.json
index cc16e0f89..16cc2bdaa 100644
--- a/libhb/preset_builtin.json
+++ b/libhb/preset_builtin.json
@@ -30,11 +30,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -90,11 +88,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -150,11 +146,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -210,11 +204,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -278,11 +270,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -346,11 +336,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -414,11 +402,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "fast",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "decomb",
+ "PictureDeinterlacePreset": "fast",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -474,11 +460,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -534,11 +518,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -594,11 +576,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -661,11 +641,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
@@ -729,11 +707,9 @@
"PictureAutoCrop": true,
"PictureBottomCrop": 0,
"PictureDeblock": 0,
- "PictureDecomb": "default",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "decomb",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDetelecine": "off",
diff --git a/libhb/preset_template.json b/libhb/preset_template.json
index e371a8ebc..8787c19ca 100644
--- a/libhb/preset_template.json
+++ b/libhb/preset_template.json
@@ -46,11 +46,9 @@
"PictureTopCrop": 0,
"PictureDARWidth": 0,
"PictureDeblock": 0,
- "PictureDecomb": "off",
- "PictureDecombCustom": "",
- "PictureDecombDeinterlace": true,
- "PictureDeinterlace": "off",
"PictureDeinterlaceCustom": "",
+ "PictureDeinterlaceFilter": "off",
+ "PictureDeinterlacePreset": "default",
"PictureDenoiseCustom": "",
"PictureDenoiseFilter": "off",
"PictureDenoisePreset": "medium",