summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2009-02-05 00:39:50 +0000
committerjstebbins <[email protected]>2009-02-05 00:39:50 +0000
commitb73c90bb0678a98ce90b2d73d7df63f6740e3e18 (patch)
tree71fe973a200e617a1d7553592b41e10b86044323
parent362e212cde83400feb0398eb46520393a5ec8c15 (diff)
LinGui: Picture Filter enhancements
Add custom settings fields to Detelecine, Decomb, Deinterlace, and Denoise. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2116 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--gtk/src/callbacks.c125
-rw-r--r--gtk/src/ghb.ui224
-rw-r--r--gtk/src/hb-backend.c202
-rw-r--r--gtk/src/internal_defaults.xml16
-rw-r--r--gtk/src/main.c12
-rw-r--r--gtk/src/makedeps.c105
-rw-r--r--gtk/src/plist.c5
-rw-r--r--gtk/src/presets.c85
-rw-r--r--gtk/src/queuehandler.c16
-rw-r--r--gtk/src/resource_data.h549
-rw-r--r--gtk/src/resources.plist393
-rw-r--r--gtk/src/standard_presets.xml38
-rw-r--r--gtk/src/widget_deps15
-rw-r--r--gtk/src/widget_reverse_deps100
14 files changed, 1151 insertions, 734 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c
index 03160323a..44709628e 100644
--- a/gtk/src/callbacks.c
+++ b/gtk/src/callbacks.c
@@ -67,7 +67,7 @@ ghb_init_dep_map()
}
static gboolean
-dep_check(signal_user_data_t *ud, const gchar *name)
+dep_check(signal_user_data_t *ud, const gchar *name, gboolean *out_hide)
{
GtkWidget *widget;
GObject *dep_object;
@@ -81,6 +81,7 @@ dep_check(signal_user_data_t *ud, const gchar *name)
array = ghb_dict_lookup(rev_map, name);
count = ghb_array_len(array);
+ *out_hide = FALSE;
for (ii = 0; ii < count; ii++)
{
data = ghb_array_get_nth(array, ii);
@@ -100,9 +101,10 @@ dep_check(signal_user_data_t *ud, const gchar *name)
gint jj = 0;
gchar **values;
gboolean sensitive = FALSE;
- gboolean die;
+ gboolean die, hide;
die = ghb_value_boolean(ghb_array_get_nth(data, 2));
+ hide = ghb_value_boolean(ghb_array_get_nth(data, 3));
value = ghb_value_string(ghb_array_get_nth(data, 1));
values = g_strsplit(value, "|", 10);
g_free(value);
@@ -141,7 +143,11 @@ dep_check(signal_user_data_t *ud, const gchar *name)
jj++;
}
sensitive = die ^ sensitive;
- if (!sensitive) result = FALSE;
+ if (!sensitive)
+ {
+ result = FALSE;
+ *out_hide |= hide;
+ }
g_strfreev (values);
g_free(value);
}
@@ -171,6 +177,7 @@ ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget)
for (ii = 0; ii < count; ii++)
{
gboolean sensitive;
+ gboolean hide;
data = ghb_array_get_nth(array, ii);
dep_name = ghb_value_string(data);
@@ -181,12 +188,25 @@ ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget)
g_free(dep_name);
continue;
}
- sensitive = dep_check(ud, dep_name);
+ sensitive = dep_check(ud, dep_name, &hide);
g_free(dep_name);
if (GTK_IS_ACTION(dep_object))
+ {
gtk_action_set_sensitive(GTK_ACTION(dep_object), sensitive);
+ gtk_action_set_visible(GTK_ACTION(dep_object), sensitive || !hide);
+ }
else
+ {
gtk_widget_set_sensitive(GTK_WIDGET(dep_object), sensitive);
+ if (!sensitive && hide)
+ {
+ gtk_widget_hide(GTK_WIDGET(dep_object));
+ }
+ else
+ {
+ gtk_widget_show_now(GTK_WIDGET(dep_object));
+ }
+ }
}
}
@@ -206,17 +226,32 @@ ghb_check_all_depencencies(signal_user_data_t *ud)
&iter, (gpointer*)(void*)&dep_name, (gpointer*)(void*)&value))
{
gboolean sensitive;
+ gboolean hide;
+
dep_object = gtk_builder_get_object (ud->builder, dep_name);
if (dep_object == NULL)
{
g_message("Failed to find dependent widget %s", dep_name);
continue;
}
- sensitive = dep_check(ud, dep_name);
+ sensitive = dep_check(ud, dep_name, &hide);
if (GTK_IS_ACTION(dep_object))
+ {
gtk_action_set_sensitive(GTK_ACTION(dep_object), sensitive);
+ gtk_action_set_visible(GTK_ACTION(dep_object), sensitive || !hide);
+ }
else
+ {
gtk_widget_set_sensitive(GTK_WIDGET(dep_object), sensitive);
+ if (!sensitive && hide)
+ {
+ gtk_widget_hide(GTK_WIDGET(dep_object));
+ }
+ else
+ {
+ gtk_widget_show_now(GTK_WIDGET(dep_object));
+ }
+ }
}
}
@@ -1070,59 +1105,6 @@ setting_widget_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
ghb_live_reset(ud);
}
-static void
-validate_filter_widget(signal_user_data_t *ud, const gchar *name)
-{
- GtkTreeModel *store;
- GtkTreeIter iter;
- const gchar *str;
- gboolean foundit = FALSE;
- GtkComboBox *combo = GTK_COMBO_BOX(GHB_WIDGET(ud->builder, name));
- if (gtk_combo_box_get_active(combo) < 0)
- { // Validate user input
- gchar *val = ghb_settings_get_string(ud->settings, name);
- store = gtk_combo_box_get_model(combo);
- // Check to see if user manually entered one of the combo options
- if (gtk_tree_model_get_iter_first(store, &iter))
- {
- do
- {
- gtk_tree_model_get(store, &iter, 0, &str, -1);
- if (strcasecmp(val, str) == 0)
- {
- gtk_combo_box_set_active_iter(combo, &iter);
- foundit = TRUE;
- break;
- }
- } while (gtk_tree_model_iter_next(store, &iter));
- }
- if (!foundit)
- { // validate format of filter string
- if (!ghb_validate_filter_string(val, -1))
- gtk_combo_box_set_active(combo, 0);
- }
- g_free(val);
- }
-}
-
-gboolean
-deint_tweak_focus_out_cb(GtkWidget *widget, GdkEventFocus *event,
- signal_user_data_t *ud)
-{
- g_debug("deint_tweak_focus_out_cb ()");
- validate_filter_widget(ud, "tweak_PictureDeinterlace");
- return FALSE;
-}
-
-gboolean
-denoise_tweak_focus_out_cb(GtkWidget *widget, GdkEventFocus *event,
- signal_user_data_t *ud)
-{
- g_debug("denoise_tweak_focus_out_cb ()");
- validate_filter_widget(ud, "tweak_PictureDenoise");
- return FALSE;
-}
-
void
http_opt_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
{
@@ -2390,33 +2372,6 @@ tweaks_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
ghb_widget_to_setting (ud->settings, widget);
const gchar *name = gtk_widget_get_name(widget);
ghb_pref_save(ud->settings, name);
-
- gboolean tweaks = ghb_settings_get_boolean(ud->settings, "allow_tweaks");
- widget = GHB_WIDGET(ud->builder, "PictureDeinterlace");
- tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
- widget = GHB_WIDGET(ud->builder, "tweak_PictureDeinterlace");
- !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-
- widget = GHB_WIDGET(ud->builder, "PictureDenoise");
- tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
- widget = GHB_WIDGET(ud->builder, "tweak_PictureDenoise");
- !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
- if (tweaks)
- {
- const GValue *value;
- value = ghb_settings_get_value(ud->settings, "PictureDeinterlace");
- ghb_ui_update(ud, "tweak_PictureDeinterlace", value);
- value = ghb_settings_get_value(ud->settings, "PictureDenoise");
- ghb_ui_update(ud, "tweak_PictureDenoise", value);
- }
- else
- {
- const GValue *value;
- value = ghb_settings_get_value(ud->settings, "tweak_PictureDeinterlace");
- ghb_ui_update(ud, "PictureDeinterlace", value);
- value = ghb_settings_get_value(ud->settings, "tweak_PictureDenoise");
- ghb_ui_update(ud, "PictureDenoise", value);
- }
}
void
diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui
index 87596795d..81c5b316c 100644
--- a/gtk/src/ghb.ui
+++ b/gtk/src/ghb.ui
@@ -794,6 +794,7 @@
</object>
<packing>
<property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
@@ -4610,94 +4611,131 @@ location as the movie.</property>
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="PictureDetelecine">
- <property name="label" translatable="yes">Detelecine</property>
+ <object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="draw_indicator">True</property>
- <signal name="button_press_event" handler="tweak_setting_cb"/>
- <signal name="toggled" handler="setting_widget_changed_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="PictureDecomb">
- <property name="label" translatable="yes">De-Comb</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <signal name="button_press_event" handler="tweak_setting_cb"/>
- <signal name="toggled" handler="setting_widget_changed_cb"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="position">2</property>
- </packing>
- </child>
+ <property name="xalign">0</property>
+ <property name="xscale">0</property>
+
<child>
- <object class="GtkHBox" id="hbox21">
+ <object class="GtkTable" id="table90">
<property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">5</property>
+
<child>
<object class="GtkLabel" id="label56">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Deblock:</property>
- <property name="width_chars">10</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkHScale" id="PictureDeblock">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment20</property>
+ <property name="digits">0</property>
+ <property name="value_pos">right</property>
+ <signal name="value_changed" handler="setting_widget_changed_cb"/>
+ <signal name="format_value" handler="format_deblock_cb"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">0</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
</packing>
</child>
<child>
- <object class="GtkAlignment" id="alignment14">
+ <object class="GtkLabel" id="label56">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="xscale">0.55000001192092896</property>
- <child>
- <object class="GtkHScale" id="PictureDeblock">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment20</property>
- <property name="digits">0</property>
- <property name="value_pos">right</property>
- <signal name="value_changed" handler="setting_widget_changed_cb"/>
- <signal name="format_value" handler="format_deblock_cb"/>
- </object>
- </child>
+ <property name="label" translatable="yes">Detelecine:</property>
</object>
<packing>
- <property name="position">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
</packing>
</child>
- </object>
- <packing>
- <property name="position">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox22">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
- <object class="GtkLabel" id="label31">
+ <object class="GtkComboBox" id="PictureDetelecine">
+ <property name="width_request">100</property>
<property name="visible">True</property>
- <property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <signal name="changed" handler="setting_widget_changed_cb"/>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkEntry" id="PictureDetelecineCustom">
+ <property name="width_chars">8</property>
+ <signal name="changed" handler="setting_widget_changed_cb"/>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+
+ <child>
+ <object class="GtkLabel" id="label56">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Decomb:</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="PictureDecomb">
+ <property name="width_request">100</property>
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <signal name="changed" handler="setting_widget_changed_cb"/>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkEntry" id="PictureDecombCustom">
+ <property name="width_chars">8</property>
+ <signal name="changed" handler="setting_widget_changed_cb"/>
+ </object>
+ <packing>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+
+ <child>
+ <object class="GtkLabel" id="label31">
+ <property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Deinterlace:</property>
- <property name="width_chars">10</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">0</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
</packing>
</child>
<child>
@@ -4706,45 +4744,38 @@ location as the movie.</property>
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<signal name="changed" handler="setting_widget_changed_cb"/>
- <signal name="button_press_event" handler="tweak_setting_cb"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">1</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
</packing>
</child>
<child>
- <object class="GtkComboBoxEntry" id="tweak_PictureDeinterlace">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkEntry" id="PictureDeinterlaceCustom">
+ <property name="width_chars">8</property>
<signal name="changed" handler="setting_widget_changed_cb"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">2</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
</packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="padding">2</property>
- <property name="position">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox23">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
<object class="GtkLabel" id="label32">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Denoise:</property>
- <property name="selectable">True</property>
- <property name="width_chars">10</property>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">0</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
</packing>
</child>
<child>
@@ -4753,27 +4784,36 @@ location as the movie.</property>
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<signal name="changed" handler="setting_widget_changed_cb"/>
- <signal name="button_press_event" handler="tweak_setting_cb"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">1</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
</packing>
</child>
<child>
- <object class="GtkComboBoxEntry" id="tweak_PictureDenoise">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkEntry" id="PictureDenoiseCustom">
+ <property name="width_chars">8</property>
<signal name="changed" handler="setting_widget_changed_cb"/>
</object>
<packing>
- <property name="expand">False</property>
- <property name="position">2</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
</packing>
</child>
</object>
+ </child>
+
+ </object>
<packing>
<property name="expand">False</property>
- <property name="padding">2</property>
- <property name="position">5</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c
index bff397401..6f215e8c1 100644
--- a/gtk/src/hb-backend.c
+++ b/gtk/src/hb-backend.c
@@ -90,12 +90,37 @@ combo_opts_t container_opts =
d_container_opts
};
+static options_map_t d_detel_opts[] =
+{
+ {"None", "none", 0, ""},
+ {"Custom", "custom", 1, ""},
+ {"Default","default",2, NULL},
+};
+combo_opts_t detel_opts =
+{
+ sizeof(d_detel_opts)/sizeof(options_map_t),
+ d_detel_opts
+};
+
+static options_map_t d_decomb_opts[] =
+{
+ {"None", "none", 0, ""},
+ {"Custom", "custom", 1, ""},
+ {"Default","default",2, NULL},
+};
+combo_opts_t decomb_opts =
+{
+ sizeof(d_decomb_opts)/sizeof(options_map_t),
+ d_decomb_opts
+};
+
static options_map_t d_deint_opts[] =
{
{"None", "none", 0, ""},
- {"Fast", "fast", 1, "-1:-1:-1:0:1"},
- {"Slow", "slow", 2, "2:-1:-1:0:1"},
- {"Slower", "slower", 3, "0:-1:-1:0:1"},
+ {"Custom", "custom", 1, ""},
+ {"Fast", "fast", 2, "-1:-1:-1:0:1"},
+ {"Slow", "slow", 3, "2:-1:-1:0:1"},
+ {"Slower", "slower", 4, "0:-1:-1:0:1"},
};
combo_opts_t deint_opts =
{
@@ -106,9 +131,10 @@ combo_opts_t deint_opts =
static options_map_t d_denoise_opts[] =
{
{"None", "none", 0, ""},
- {"Weak", "weak", 1, "2:1:2:3"},
- {"Medium", "medium", 2, "3:2:2:3"},
- {"Strong", "strong", 3, "7:7:5:5"},
+ {"Custom", "custom", 1, ""},
+ {"Weak", "weak", 2, "2:1:2:3"},
+ {"Medium", "medium", 3, "3:2:2:3"},
+ {"Strong", "strong", 4, "7:7:5:5"},
};
combo_opts_t denoise_opts =
{
@@ -242,9 +268,9 @@ combo_name_map_t combo_name_map[] =
{"LoggingLevel", &logging_opts},
{"FileFormat", &container_opts},
{"PictureDeinterlace", &deint_opts},
- {"tweak_PictureDeinterlace", &deint_opts},
+ {"PictureDecomb", &decomb_opts},
+ {"PictureDetelecine", &detel_opts},
{"PictureDenoise", &denoise_opts},
- {"tweak_PictureDenoise", &denoise_opts},
{"VideoEncoder", &vcodec_opts},
{"AudioEncoder", &acodec_opts},
{"x264_direct", &direct_opts},
@@ -1882,9 +1908,9 @@ ghb_update_ui_combo_box(GtkBuilder *builder, const gchar *name, gint user_data,
generic_opts_set(builder, "LoggingLevel", &logging_opts);
generic_opts_set(builder, "FileFormat", &container_opts);
generic_opts_set(builder, "PictureDeinterlace", &deint_opts);
- generic_opts_set(builder, "tweak_PictureDeinterlace", &deint_opts);
+ generic_opts_set(builder, "PictureDetelecine", &detel_opts);
+ generic_opts_set(builder, "PictureDecomb", &decomb_opts);
generic_opts_set(builder, "PictureDenoise", &denoise_opts);
- generic_opts_set(builder, "tweak_PictureDenoise", &denoise_opts);
generic_opts_set(builder, "VideoEncoder", &vcodec_opts);
generic_opts_set(builder, "AudioEncoder", &acodec_opts);
generic_opts_set(builder, "x264_direct", &direct_opts);
@@ -2656,7 +2682,7 @@ set_preview_job_settings(hb_job_t *job, GValue *settings)
job->width = ghb_settings_get_int(settings, "scale_width");
job->height = ghb_settings_get_int(settings, "scale_height");
gint deint = ghb_settings_combo_int(settings, "PictureDeinterlace");
- gboolean decomb = ghb_settings_get_boolean(settings, "PictureDecomb");
+ gint decomb = ghb_settings_combo_int(settings, "PictureDecomb");
job->deinterlace = (!decomb && deint == 0) ? 0 : 1;
}
@@ -2709,79 +2735,77 @@ ghb_validate_filter_string(const gchar *str, gint max_fields)
gboolean
ghb_validate_filters(signal_user_data_t *ud)
{
- gboolean tweaks;
gchar *str;
gint index;
gchar *message;
- gboolean enabled;
- tweaks = ghb_settings_get_boolean(ud->settings, "allow_tweaks");
- if (tweaks)
+ // deinte 4
+ index = ghb_settings_combo_int(ud->settings, "PictureDeinterlace");
+ if (index == 1)
{
- // detele 6
- str = ghb_settings_get_string(ud->settings, "tweak_PictureDetelecine");
- enabled = ghb_settings_get_boolean(ud->settings, "PictureDetelecine");
- if (enabled && !ghb_validate_filter_string(str, 6))
+ str = ghb_settings_get_string(ud->settings, "PictureDeinterlaceCustom");
+ if (!ghb_validate_filter_string(str, 4))
{
message = g_strdup_printf(
- "Invalid Detelecine Settings:\n\n%s\n",
+ "Invalid Deinterlace Settings:\n\n%s\n",
str);
ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
- g_free(str);
g_free(message);
+ g_free(str);
return FALSE;
}
g_free(str);
- // decomb 7
- str = ghb_settings_get_string(ud->settings, "tweak_PictureDecomb");
- enabled = ghb_settings_get_boolean(ud->settings, "PictureDecomb");
- if (enabled && !ghb_validate_filter_string(str, 7))
+ }
+ // detel
+ index = ghb_settings_combo_int(ud->settings, "PictureDetelecine");
+ if (index == 1)
+ {
+ str = ghb_settings_get_string(ud->settings, "PictureDetelecineCustom");
+ if (!ghb_validate_filter_string(str, 6))
{
message = g_strdup_printf(
- "Invalid Decomb Settings:\n\n%s\n",
+ "Invalid Detelecine Settings:\n\n%s\n",
str);
ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
- g_free(str);
g_free(message);
+ g_free(str);
return FALSE;
}
g_free(str);
- // deinte 4
- index = ghb_lookup_combo_int("tweak_PictureDeinterlace",
- ghb_settings_get_value(ud->settings, "tweak_PictureDeinterlace"));
- if (index < 0)
+ }
+ // decomb 4
+ index = ghb_settings_combo_int(ud->settings, "PictureDecomb");
+ if (index == 1)
+ {
+ str = ghb_settings_get_string(ud->settings, "PictureDecombCustom");
+ if (!ghb_validate_filter_string(str, 7))
{
- str = ghb_settings_get_string(ud->settings, "tweak_PictureDeinterlace");
- if (!ghb_validate_filter_string(str, 4))
- {
- message = g_strdup_printf(
- "Invalid Deinterlace Settings:\n\n%s\n",
- str);
- ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
- g_free(message);
- g_free(str);
- return FALSE;
- }
+ message = g_strdup_printf(
+ "Invalid Decomb Settings:\n\n%s\n",
+ str);
+ ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
+ g_free(message);
g_free(str);
+ return FALSE;
}
- // denois 4
- index = ghb_lookup_combo_int("tweak_PictureDenoise",
- ghb_settings_get_value(ud->settings, "tweak_PictureDenoise"));
- if (index < 0)
+ g_free(str);
+ }
+ // denois 4
+ index = ghb_settings_combo_int(ud->settings, "PictureDenoise");
+ if (index == 1)
+ {
+ str = ghb_settings_get_string(ud->settings, "PictureDenoiseCustom");
+ if (!ghb_validate_filter_string(str, 4))
{
- str = ghb_settings_get_string(ud->settings, "tweak_PictureDenoise");
- if (!ghb_validate_filter_string(str, 4))
- {
- message = g_strdup_printf(
- "Invalid Denoise Settings:\n\n%s\n",
- str);
- ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
- g_free(str);
- g_free(message);
- return FALSE;
- }
+ message = g_strdup_printf(
+ "Invalid Denoise Settings:\n\n%s\n",
+ str);
+ ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
g_free(str);
+ g_free(message);
+ return FALSE;
}
+ g_free(str);
}
return TRUE;
}
@@ -3174,9 +3198,8 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, gint titleindex)
job->crop[3] = ghb_settings_get_int(js, "PictureRightCrop");
- gboolean decomb = ghb_settings_get_boolean(js, "PictureDecomb");
- gint deint = ghb_settings_combo_int(js,
- tweaks ? "tweak_PictureDeinterlace":"PictureDeinterlace");
+ gint decomb = ghb_settings_combo_int(js, "PictureDecomb");
+ gint deint = ghb_settings_combo_int(js, "PictureDeinterlace");
if (!decomb)
job->deinterlace = (deint != 0) ? 1 : 0;
else
@@ -3200,45 +3223,45 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, gint titleindex)
/* Add selected filters */
job->filters = hb_list_init();
gint vrate = ghb_settings_combo_int(js, "VideoFramerate");
- if( vrate == 0 && ghb_settings_get_boolean(js, "PictureDetelecine" ) )
+ if( vrate == 0 && ghb_settings_combo_int(js, "PictureDetelecine" ) )
job->vfr = 1;
else
job->vfr = 0;
- if( ghb_settings_get_boolean(js, "PictureDetelecine" ) )
+ gint detel = ghb_settings_combo_int(js, "PictureDetelecine");
+ if ( detel )
{
- hb_filter_detelecine.settings = NULL;
- if (tweaks)
+ if (detel != 1)
{
- detel_str = ghb_settings_get_string(js, "tweak_PictureDetelecine");
- if (detel_str && detel_str[0])
- {
- hb_filter_detelecine.settings = detel_str;
- }
+ if (detel_opts.map[detel].svalue != NULL)
+ detel_str = g_strdup(detel_opts.map[detel].svalue);
}
+ else
+ detel_str = ghb_settings_get_string(js, "PictureDetelecineCustom");
+ hb_filter_detelecine.settings = detel_str;
hb_list_add( job->filters, &hb_filter_detelecine );
}
- if( decomb )
+ if ( decomb )
{
- // Use default settings
- hb_filter_decomb.settings = NULL;
- if (tweaks)
+ if (decomb != 1)
{
- decomb_str = ghb_settings_get_string(js, "tweak_PictureDecomb");
- if (decomb_str && decomb_str[0])
- {
- hb_filter_decomb.settings = (gchar*)decomb_str;
- }
+ if (decomb_opts.map[decomb].svalue != NULL)
+ decomb_str = g_strdup(decomb_opts.map[decomb].svalue);
}
+ else
+ decomb_str = ghb_settings_get_string(js, "PictureDecombCustom");
+ hb_filter_decomb.settings = decomb_str;
hb_list_add( job->filters, &hb_filter_decomb );
}
if( job->deinterlace )
{
- if (deint > 0)
- deint_str = g_strdup(deint_opts.map[deint].svalue);
+ if (deint != 1)
+ {
+ if (deint_opts.map[deint].svalue != NULL)
+ deint_str = g_strdup(deint_opts.map[deint].svalue);
+ }
else
- deint_str = ghb_settings_get_string(js,
- tweaks ? "tweak_PictureDeinterlace" : "PictureDeinterlace");
+ deint_str = ghb_settings_get_string(js, "PictureDeinterlaceCustom");
hb_filter_deinterlace.settings = deint_str;
hb_list_add( job->filters, &hb_filter_deinterlace );
}
@@ -3249,15 +3272,16 @@ add_job(hb_handle_t *h, GValue *js, gint unique_id, gint titleindex)
hb_filter_deblock.settings = deblock_str;
hb_list_add( job->filters, &hb_filter_deblock );
}
- gint denoise = ghb_settings_combo_int(js,
- tweaks ? "tweak_PictureDenoise" : "PictureDenoise");
- if( denoise != 0 )
+ gint denoise = ghb_settings_combo_int(js, "PictureDenoise");
+ if( denoise )
{
- if (denoise > 0)
- denoise_str = g_strdup(denoise_opts.map[denoise].svalue);
+ if (denoise != 1)
+ {
+ if (denoise_opts.map[denoise].svalue != NULL)
+ denoise_str = g_strdup(denoise_opts.map[denoise].svalue);
+ }
else
- denoise_str = (gchar*)ghb_settings_get_string(
- js, tweaks ? "tweak_PictureDenoise" : "PictureDenoise");
+ denoise_str = ghb_settings_get_string(js, "PictureDenoiseCustom");
hb_filter_denoise.settings = denoise_str;
hb_list_add( job->filters, &hb_filter_denoise );
}
diff --git a/gtk/src/internal_defaults.xml b/gtk/src/internal_defaults.xml
index 98b1e5d6a..d1e5e5430 100644
--- a/gtk/src/internal_defaults.xml
+++ b/gtk/src/internal_defaults.xml
@@ -77,10 +77,6 @@
<key>audio_list</key>
<array>
</array>
- <key>tweak_PictureDecomb</key>
- <string></string>
- <key>tweak_PictureDetelecine</key>
- <string></string>
<key>vquality_type_bitrate</key>
<false />
<key>vquality_type_constant</key>
@@ -155,7 +151,9 @@
<key>PictureDeblock</key>
<integer>0</integer>
<key>PictureDecomb</key>
- <false />
+ <string>none</string>
+ <key>PictureDecombCustom</key>
+ <string></string>
<key>Default</key>
<false />
<key>PictureBottomCrop</key>
@@ -168,10 +166,16 @@
<integer>0</integer>
<key>PictureDeinterlace</key>
<string>none</string>
+ <key>PictureDeinterlaceCustom</key>
+ <string></string>
<key>PictureDenoise</key>
<string>none</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
<key>PictureDetelecine</key>
- <true />
+ <string>none</string>
+ <key>PictureDetelecineCustom</key>
+ <string></string>
<key>directqp</key>
<false />
<key>SubtitlesForced</key>
diff --git a/gtk/src/main.c b/gtk/src/main.c
index 30b20dca4..779e8c5d6 100644
--- a/gtk/src/main.c
+++ b/gtk/src/main.c
@@ -494,7 +494,6 @@ main (int argc, char *argv[])
GValue *preset;
GError *error = NULL;
GOptionContext *context;
- GtkWidget *widget;
mm_flags = mm_support();
#ifdef ENABLE_NLS
@@ -578,17 +577,6 @@ main (int argc, char *argv[])
{
ghb_hbfd(ud, TRUE);
}
- gboolean tweaks = ghb_settings_get_boolean(ud->settings, "allow_tweaks");
- widget = GHB_WIDGET(ud->builder, "PictureDeinterlace");
- tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
- widget = GHB_WIDGET(ud->builder, "tweak_PictureDeinterlace");
- !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-
- widget = GHB_WIDGET(ud->builder, "PictureDenoise");
- tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
- widget = GHB_WIDGET(ud->builder, "tweak_PictureDenoise");
- !tweaks ? gtk_widget_hide(widget) : gtk_widget_show(widget);
-
gchar *source = ghb_settings_get_string(ud->settings, "default_source");
ghb_dvd_set_current(source, ud);
g_free(source);
diff --git a/gtk/src/makedeps.c b/gtk/src/makedeps.c
index 3aa6fcf6d..87ab6ace4 100644
--- a/gtk/src/makedeps.c
+++ b/gtk/src/makedeps.c
@@ -11,61 +11,66 @@ typedef struct
const gchar *dep_name;
const gchar *enable_value;
const gboolean disable_if_equal;
+ const gboolean hide;
} dependency_t;
static dependency_t dep_map[] =
{
- {"title", "queue_add", "none", TRUE},
- {"title", "queue_add_menu", "none", TRUE},
- {"title", "show_picture", "none", TRUE},
- {"title", "show_preview_menu", "none", TRUE},
- {"title", "preview_frame", "none", TRUE},
- {"title", "picture_label", "none", TRUE},
- {"title", "picture_tab", "none", TRUE},
- {"title", "chapters_label", "none", TRUE},
- {"title", "chapters_tab", "none", TRUE},
- {"title", "title", "none", TRUE},
- {"title", "start_chapter", "none", TRUE},
- {"title", "end_chapter", "none", TRUE},
- {"vquality_type_bitrate", "VideoAvgBitrate", "TRUE", FALSE},
- {"vquality_type_target", "VideoTargetSize", "TRUE", FALSE},
- {"vquality_type_constant", "VideoQualitySlider", "TRUE", FALSE},
- {"vquality_type_constant", "constant_rate_factor", "TRUE", FALSE},
- {"vquality_type_constant", "VideoTwoPass", "TRUE", TRUE},
- {"vquality_type_constant", "VideoTurboTwoPass", "TRUE", TRUE},
- {"VideoTwoPass", "VideoTurboTwoPass", "TRUE", FALSE},
- {"FileFormat", "Mp4LargeFile", "mp4|m4v", FALSE},
- {"FileFormat", "Mp4HttpOptimize", "mp4|m4v", FALSE},
- {"FileFormat", "Mp4iPodCompatible", "mp4|m4v", FALSE},
- {"PictureDecomb", "PictureDeinterlace", "TRUE", TRUE},
- {"PictureDecomb", "tweak_PictureDeinterlace", "TRUE", TRUE},
- {"PictureAutoCrop", "PictureTopCrop", "FALSE", FALSE},
- {"PictureAutoCrop", "PictureBottomCrop", "FALSE", FALSE},
- {"PictureAutoCrop", "PictureLeftCrop", "FALSE", FALSE},
- {"PictureAutoCrop", "PictureRightCrop", "FALSE", FALSE},
- {"autoscale", "scale_width", "FALSE", FALSE},
- {"autoscale", "scale_height", "FALSE", FALSE},
- {"anamorphic", "PictureKeepRatio", "FALSE", FALSE},
+ {"title", "queue_add", "none", TRUE, FALSE},
+ {"title", "queue_add_menu", "none", TRUE, FALSE},
+ {"title", "show_picture", "none", TRUE, FALSE},
+ {"title", "show_preview_menu", "none", TRUE, FALSE},
+ {"title", "preview_frame", "none", TRUE, FALSE},
+ {"title", "picture_label", "none", TRUE, FALSE},
+ {"title", "picture_tab", "none", TRUE, FALSE},
+ {"title", "chapters_label", "none", TRUE, FALSE},
+ {"title", "chapters_tab", "none", TRUE, FALSE},
+ {"title", "title", "none", TRUE, FALSE},
+ {"title", "start_chapter", "none", TRUE, FALSE},
+ {"title", "end_chapter", "none", TRUE, FALSE},
+ {"vquality_type_bitrate", "VideoAvgBitrate", "TRUE", FALSE, FALSE},
+ {"vquality_type_target", "VideoTargetSize", "TRUE", FALSE, FALSE},
+ {"vquality_type_constant", "VideoQualitySlider", "TRUE", FALSE, FALSE},
+ {"vquality_type_constant", "constant_rate_factor", "TRUE", FALSE, FALSE},
+ {"vquality_type_constant", "VideoTwoPass", "TRUE", TRUE, FALSE},
+ {"vquality_type_constant", "VideoTurboTwoPass", "TRUE", TRUE, FALSE},
+ {"VideoTwoPass", "VideoTurboTwoPass", "TRUE", FALSE, FALSE},
+ {"FileFormat", "Mp4LargeFile", "mp4|m4v", FALSE, TRUE},
+ {"FileFormat", "Mp4HttpOptimize", "mp4|m4v", FALSE, TRUE},
+ {"FileFormat", "Mp4iPodCompatible", "mp4|m4v", FALSE, TRUE},
+ {"PictureDecomb", "PictureDeinterlace", "none", FALSE, FALSE},
+ {"PictureDecomb", "PictureDeinterlaceCustom", "none", FALSE, TRUE},
+ {"PictureDeinterlace", "PictureDeinterlaceCustom", "custom", FALSE, TRUE},
+ {"PictureDenoise", "PictureDenoiseCustom", "custom", FALSE, TRUE},
+ {"PictureDecomb", "PictureDecombCustom", "custom", FALSE, TRUE},
+ {"PictureDetelecine", "PictureDetelecineCustom", "custom", FALSE, TRUE},
+ {"PictureAutoCrop", "PictureTopCrop", "FALSE", FALSE, FALSE},
+ {"PictureAutoCrop", "PictureBottomCrop", "FALSE", FALSE, FALSE},
+ {"PictureAutoCrop", "PictureLeftCrop", "FALSE", FALSE, FALSE},
+ {"PictureAutoCrop", "PictureRightCrop", "FALSE", FALSE, FALSE},
+ {"autoscale", "scale_width", "FALSE", FALSE, FALSE},
+ {"autoscale", "scale_height", "FALSE", FALSE, FALSE},
+ {"anamorphic", "PictureKeepRatio", "FALSE", FALSE, FALSE},
// "CHECK" is a dummy value that forces scale_height deps to
// be re-evaluated whenever anamorphic changes
- {"anamorphic", "scale_height", "CHECK", TRUE},
- {"PictureKeepRatio", "scale_height", "FALSE", FALSE},
- {"VideoEncoder", "x264_tab", "x264", FALSE},
- {"VideoEncoder", "x264_tab_label", "x264", FALSE},
- {"VideoEncoder", "Mp4iPodCompatible", "x264", FALSE},
- {"VideoEncoder", "directqp", "x264|ffmpeg", FALSE},
- {"AudioEncoder", "AudioBitrate", "ac3|dts", TRUE},
- {"AudioEncoder", "AudioSamplerate", "ac3|dts", TRUE},
- {"AudioEncoder", "AudioMixdown", "ac3|dts", TRUE},
- {"AudioEncoder", "AudioTrackDRCSlider", "ac3|dts", TRUE},
- {"x264_bframes", "x264_weighted_bframes", "0", TRUE},
- {"x264_bframes", "x264_bpyramid", "<2", TRUE},
- {"x264_bframes", "x264_direct", "0", TRUE},
- {"x264_refs", "x264_mixed_refs", "<2", TRUE},
- {"x264_cabac", "x264_trellis", "TRUE", FALSE},
- {"ChapterMarkers", "chapters_list", "TRUE", FALSE},
- {"use_source_name", "chapters_in_destination", "TRUE", FALSE},
- {"use_source_name", "title_no_in_destination", "TRUE", FALSE},
+ {"anamorphic", "scale_height", "CHECK", TRUE, FALSE},
+ {"PictureKeepRatio", "scale_height", "FALSE", FALSE, FALSE},
+ {"VideoEncoder", "x264_tab", "x264", FALSE, FALSE},
+ {"VideoEncoder", "x264_tab_label", "x264", FALSE, FALSE},
+ {"VideoEncoder", "Mp4iPodCompatible", "x264", FALSE, FALSE},
+ {"VideoEncoder", "directqp", "x264|ffmpeg", FALSE, FALSE},
+ {"AudioEncoder", "AudioBitrate", "ac3|dts", TRUE, FALSE},
+ {"AudioEncoder", "AudioSamplerate", "ac3|dts", TRUE, FALSE},
+ {"AudioEncoder", "AudioMixdown", "ac3|dts", TRUE, FALSE},
+ {"AudioEncoder", "AudioTrackDRCSlider", "ac3|dts", TRUE, FALSE},
+ {"x264_bframes", "x264_weighted_bframes", "0", TRUE, FALSE},
+ {"x264_bframes", "x264_bpyramid", "<2", TRUE, FALSE},
+ {"x264_bframes", "x264_direct", "0", TRUE, FALSE},
+ {"x264_refs", "x264_mixed_refs", "<2", TRUE, FALSE},
+ {"x264_cabac", "x264_trellis", "TRUE", FALSE, FALSE},
+ {"ChapterMarkers", "chapters_list", "TRUE", FALSE, FALSE},
+ {"use_source_name", "chapters_in_destination", "TRUE", FALSE, FALSE},
+ {"use_source_name", "title_no_in_destination", "TRUE", FALSE, FALSE},
};
int
@@ -122,6 +127,8 @@ main(gint argc, gchar *argv[])
ghb_string_value(dep_map[jj].enable_value)));
ghb_array_append(data, ghb_value_dup(
ghb_boolean_value(dep_map[jj].disable_if_equal)));
+ ghb_array_append(data, ghb_value_dup(
+ ghb_boolean_value(dep_map[jj].hide)));
ghb_array_append(array, data);
}
}
diff --git a/gtk/src/plist.c b/gtk/src/plist.c
index cb9b0e2c9..05d6fdd8e 100644
--- a/gtk/src/plist.c
+++ b/gtk/src/plist.c
@@ -525,6 +525,11 @@ gval_write(FILE *file, GValue *gval)
gint val = g_value_get_int64(gval);
indent_fprintf(file, indent, "<integer>%d</integer>\n", val);
}
+ else if (gtype == G_TYPE_INT)
+ {
+ gint val = g_value_get_int(gval);
+ indent_fprintf(file, indent, "<integer>%d</integer>\n", val);
+ }
else if (gtype == G_TYPE_STRING)
{
const gchar *str = g_value_get_string(gval);
diff --git a/gtk/src/presets.c b/gtk/src/presets.c
index 50fd61801..5cbab837d 100644
--- a/gtk/src/presets.c
+++ b/gtk/src/presets.c
@@ -861,21 +861,6 @@ preset_to_ui(signal_user_data_t *ud, GValue *dict)
init_settings_from_dict(ud->settings, hidden, dict);
init_ui_from_dict(ud, internal, dict);
init_ui_from_dict(ud, hidden, dict);
-
- if (ghb_settings_get_boolean(ud->settings, "allow_tweaks"))
- {
- const GValue *gval;
- gval = preset_dict_get_value(dict, "PictureDeinterlace");
- if (gval)
- {
- ghb_ui_update(ud, "tweak_PictureDeinterlace", gval);
- }
- gval = preset_dict_get_value(dict, "PictureDenoise");
- if (gval)
- {
- ghb_ui_update(ud, "tweak_PictureDenoise", gval);
- }
- }
}
void
@@ -1721,18 +1706,36 @@ value_map_t mix_xlat[] =
value_map_t deint_xlat[] =
{
{"0", "none"},
- {"1", "fast"},
- {"2", "slow"},
- {"3", "slower"},
+ {"1", "custom"},
+ {"2", "fast"},
+ {"3", "slow"},
+ {"4", "slower"},
{NULL, NULL}
};
value_map_t denoise_xlat[] =
{
{"0", "none"},
- {"1", "weak"},
- {"2", "medium"},
- {"3", "strong"},
+ {"1", "custom"},
+ {"2", "weak"},
+ {"3", "medium"},
+ {"4", "strong"},
+ {NULL, NULL}
+};
+
+value_map_t detel_xlat[] =
+{
+ {"0", "none"},
+ {"1", "custom"},
+ {"2", "default"},
+ {NULL, NULL}
+};
+
+value_map_t decomb_xlat[] =
+{
+ {"0", "none"},
+ {"1", "custom"},
+ {"2", "default"},
{NULL, NULL}
};
@@ -1933,6 +1936,20 @@ export_value_xlat(GValue *dict)
gval = export_value_xlat2(framerate_xlat, lin_val, G_TYPE_STRING);
if (gval)
ghb_dict_insert(dict, g_strdup(key), gval);
+ key = "PictureDetelecine";
+ lin_val = ghb_dict_lookup(dict, key);
+ gval = export_value_xlat2(detel_xlat, lin_val, G_TYPE_INT);
+ if (gval)
+ ghb_dict_insert(dict, g_strdup(key), gval);
+ else
+ ghb_dict_insert(dict, g_strdup(key), ghb_value_dup(lin_val));
+ key = "PictureDecomb";
+ lin_val = ghb_dict_lookup(dict, key);
+ gval = export_value_xlat2(decomb_xlat, lin_val, G_TYPE_INT);
+ if (gval)
+ ghb_dict_insert(dict, g_strdup(key), gval);
+ else
+ ghb_dict_insert(dict, g_strdup(key), ghb_value_dup(lin_val));
key = "PictureDeinterlace";
lin_val = ghb_dict_lookup(dict, key);
gval = export_value_xlat2(deint_xlat, lin_val, G_TYPE_INT);
@@ -2055,6 +2072,16 @@ import_value_xlat(GValue *dict)
gval = import_value_xlat2(defaults, framerate_xlat, key, mac_val);
if (gval)
ghb_dict_insert(dict, g_strdup(key), gval);
+ key = "PictureDetelecine";
+ mac_val = ghb_dict_lookup(dict, key);
+ gval = import_value_xlat2(defaults, detel_xlat, key, mac_val);
+ if (gval)
+ ghb_dict_insert(dict, g_strdup(key), gval);
+ key = "PictureDecomb";
+ mac_val = ghb_dict_lookup(dict, key);
+ gval = import_value_xlat2(defaults, decomb_xlat, key, mac_val);
+ if (gval)
+ ghb_dict_insert(dict, g_strdup(key), gval);
key = "PictureDeinterlace";
mac_val = ghb_dict_lookup(dict, key);
gval = import_value_xlat2(defaults, deint_xlat, key, mac_val);
@@ -2464,22 +2491,6 @@ settings_save(signal_user_data_t *ud, const GValue *path)
}
}
current_preset = dict;
- if (ghb_settings_get_boolean(ud->settings, "allow_tweaks"))
- {
- gchar *str;
- str = ghb_settings_get_string(ud->settings, "tweak_PictureDeinterlace");
- if (str)
- {
- ghb_settings_set_string(ud->settings, "PictureDeinterlace", str);
- g_free(str);
- }
- str = ghb_settings_get_string(ud->settings, "tweak_PictureDenoise");
- if (str)
- {
- ghb_settings_set_string(ud->settings, "PictureDenoise", str);
- g_free(str);
- }
- }
autoscale = ghb_settings_get_boolean(ud->settings, "autoscale");
ghb_settings_set_int64(ud->settings, "Type", PRESETS_CUSTOM);
diff --git a/gtk/src/queuehandler.c b/gtk/src/queuehandler.c
index 9404ee3f8..05cae3b63 100644
--- a/gtk/src/queuehandler.c
+++ b/gtk/src/queuehandler.c
@@ -258,7 +258,7 @@ add_to_queue_list(signal_user_data_t *ud, GValue *settings, GtkTreeIter *piter)
if (strcmp("source", fps) == 0)
{
g_free(fps);
- if (ghb_settings_get_boolean(settings, "PictureDetelecine"))
+ if (ghb_settings_combo_int(settings, "PictureDetelecine"))
fps = g_strdup("Same As Source (vfr detelecine)");
else
fps = g_strdup("Same As Source (variable)");
@@ -281,9 +281,9 @@ add_to_queue_list(signal_user_data_t *ud, GValue *settings, GtkTreeIter *piter)
gboolean decomb;
gboolean filters = FALSE;
- decomb = ghb_settings_get_boolean(settings, "PictureDecomb");
+ decomb = ghb_settings_combo_int(settings, "PictureDecomb");
g_string_append_printf(str, "<b>Filters:</b><small>");
- if (ghb_settings_get_boolean(settings, "PictureDetelecine"))
+ if (ghb_settings_combo_int(settings, "PictureDetelecine"))
{
g_string_append_printf(str, " - Detelecine");
filters = TRUE;
@@ -295,22 +295,20 @@ add_to_queue_list(signal_user_data_t *ud, GValue *settings, GtkTreeIter *piter)
}
else
{
- gint deint = ghb_settings_combo_int(settings,
- tweaks ? "tweak_PictureDeinterlace":"PictureDeinterlace");
+ gint deint = ghb_settings_combo_int(settings, "PictureDeinterlace");
if (deint)
{
const gchar *opt = ghb_settings_combo_option(settings,
- tweaks ? "tweak_PictureDeinterlace":"PictureDeinterlace");
+ "PictureDeinterlace");
g_string_append_printf(str, " - Deinterlace: %s", opt);
filters = TRUE;
}
}
- gint denoise = ghb_settings_combo_int(settings,
- tweaks ? "tweak_PictureDenoise":"PictureDenoise");
+ gint denoise = ghb_settings_combo_int(settings, "PictureDenoise");
if (denoise)
{
const gchar *opt = ghb_settings_combo_option(settings,
- tweaks ? "tweak_PictureDenoise":"PictureDenoise");
+ "PictureDenoise");
g_string_append_printf(str, " - Denoise: %s", opt);
filters = TRUE;
}
diff --git a/gtk/src/resource_data.h b/gtk/src/resource_data.h
index f11953056..1417d0150 100644
--- a/gtk/src/resource_data.h
+++ b/gtk/src/resource_data.h
@@ -1202,6 +1202,8 @@
" &lt;packing&gt;\n"
" &lt;property name=&quot;x_options&q"
"uot;&gt;GTK_FILL&lt;/property&gt;\n"
+" &lt;property name=&quot;y_options&q"
+"uot;&gt;GTK_FILL&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;child&gt;\n"
@@ -7487,65 +7489,27 @@
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkCheckButton&quo"
-"t; id=&quot;PictureDetelecine&quot;&gt;\n"
-" &lt;property name=&quot;label&quot; tra"
-"nslatable=&quot;yes&quot;&gt;Detelecine&lt;/property&gt;\n"
-" &lt;property name=&quot;visible&quot;&g"
-"t;True&lt;/property&gt;\n"
-" &lt;property name=&quot;can_focus&quot;"
-"&gt;True&lt;/property&gt;\n"
-" &lt;property name=&quot;receives_defaul"
-"t&quot;&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;events&quot;&gt"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
-" &lt;property name=&quot;draw_indicator&"
-"quot;&gt;True&lt;/property&gt;\n"
-" &lt;signal name=&quot;button_press_even"
-"t&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
-" &lt;signal name=&quot;toggled&quot; han"
-"dler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-" &lt;/object&gt;\n"
-" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot;&gt"
-";False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&quot;&"
-"gt;1&lt;/property&gt;\n"
-" &lt;/packing&gt;\n"
-" &lt;/child&gt;\n"
-" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkCheckButton&quo"
-"t; id=&quot;PictureDecomb&quot;&gt;\n"
-" &lt;property name=&quot;label&quot; tra"
-"nslatable=&quot;yes&quot;&gt;De-Comb&lt;/property&gt;\n"
+" &lt;object class=&quot;GtkAlignment&quot;"
+" id=&quot;alignment2&quot;&gt;\n"
" &lt;property name=&quot;visible&quot;&g"
"t;True&lt;/property&gt;\n"
-" &lt;property name=&quot;can_focus&quot;"
-"&gt;True&lt;/property&gt;\n"
-" &lt;property name=&quot;receives_defaul"
-"t&quot;&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;active&quot;&gt"
-";True&lt;/property&gt;\n"
-" &lt;property name=&quot;draw_indicator&"
-"quot;&gt;True&lt;/property&gt;\n"
-" &lt;signal name=&quot;button_press_even"
-"t&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
-" &lt;signal name=&quot;toggled&quot; han"
-"dler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-" &lt;/object&gt;\n"
-" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot;&gt"
-";False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&quot;&"
-"gt;2&lt;/property&gt;\n"
-" &lt;/packing&gt;\n"
-" &lt;/child&gt;\n"
+" &lt;property name=&quot;xalign&quot;&gt"
+";0&lt;/property&gt;\n"
+" &lt;property name=&quot;xscale&quot;&gt"
+";0&lt;/property&gt;\n"
+"\n"
" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkHBox&quot; id=&"
-"quot;hbox21&quot;&gt;\n"
+" &lt;object class=&quot;GtkTable&quot; id="
+"&quot;table90&quot;&gt;\n"
" &lt;property name=&quot;visible&quot;&g"
"t;True&lt;/property&gt;\n"
+" &lt;property name=&quot;n_rows&quot;&gt"
+";2&lt;/property&gt;\n"
+" &lt;property name=&quot;n_columns&quot;"
+"&gt;2&lt;/property&gt;\n"
+" &lt;property name=&quot;column_spacing&"
+"quot;&gt;5&lt;/property&gt;\n"
+"\n"
" &lt;child&gt;\n"
" &lt;object class=&quot;GtkLabel&quot;"
" id=&quot;label56&quot;&gt;\n"
@@ -7555,86 +7519,176 @@
";&gt;0&lt;/property&gt;\n"
" &lt;property name=&quot;label&quot;"
" translatable=&quot;yes&quot;&gt;Deblock:&lt;/property&gt;\n"
-" &lt;property name=&quot;width_chars"
-"&quot;&gt;10&lt;/property&gt;\n"
+" &lt;/object&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkHScale&quot"
+"; id=&quot;PictureDeblock&quot;&gt;\n"
+" &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
+" &lt;property name=&quot;can_focus&q"
+"uot;&gt;True&lt;/property&gt;\n"
+" &lt;property name=&quot;adjustment&"
+"quot;&gt;adjustment20&lt;/property&gt;\n"
+" &lt;property name=&quot;digits&quot"
+";&gt;0&lt;/property&gt;\n"
+" &lt;property name=&quot;value_pos&q"
+"uot;&gt;right&lt;/property&gt;\n"
+" &lt;signal name=&quot;value_changed"
+"&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+" &lt;signal name=&quot;format_value&"
+"quot; handler=&quot;format_deblock_cb&quot;/&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;0&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkAlignment&q"
-"uot; id=&quot;alignment14&quot;&gt;\n"
+" &lt;object class=&quot;GtkLabel&quot;"
+" id=&quot;label56&quot;&gt;\n"
" &lt;property name=&quot;visible&quo"
"t;&gt;True&lt;/property&gt;\n"
" &lt;property name=&quot;xalign&quot"
";&gt;0&lt;/property&gt;\n"
-" &lt;property name=&quot;xscale&quot"
-";&gt;0.55000001192092896&lt;/property&gt;\n"
-" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkHScale&"
-"quot; id=&quot;PictureDeblock&quot;&gt;\n"
-" &lt;property name=&quot;visible"
-"&quot;&gt;True&lt;/property&gt;\n"
-" &lt;property name=&quot;can_foc"
-"us&quot;&gt;True&lt;/property&gt;\n"
-" &lt;property name=&quot;adjustm"
-"ent&quot;&gt;adjustment20&lt;/property&gt;\n"
-" &lt;property name=&quot;digits&"
-"quot;&gt;0&lt;/property&gt;\n"
-" &lt;property name=&quot;value_p"
-"os&quot;&gt;right&lt;/property&gt;\n"
-" &lt;signal name=&quot;value_cha"
-"nged&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-" &lt;signal name=&quot;format_va"
-"lue&quot; handler=&quot;format_deblock_cb&quot;/&gt;\n"
-" &lt;/object&gt;\n"
-" &lt;/child&gt;\n"
+" &lt;property name=&quot;label&quot;"
+" translatable=&quot;yes&quot;&gt;Detelecine:&lt;/property&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;2&lt;/property&gt;\n"
+" &lt;/packing&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkComboBox&qu"
+"ot; id=&quot;PictureDetelecine&quot;&gt;\n"
+" &lt;property name=&quot;width_reque"
+"st&quot;&gt;100&lt;/property&gt;\n"
+" &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
+" &lt;property name=&quot;events&quot"
+";&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
+"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
+" &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+" &lt;/object&gt;\n"
+" &lt;packing&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;2&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
-" &lt;/object&gt;\n"
-" &lt;packing&gt;\n"
-" &lt;property name=&quot;position&quot;&"
-"gt;3&lt;/property&gt;\n"
-" &lt;/packing&gt;\n"
-" &lt;/child&gt;\n"
-" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkHBox&quot; id=&"
-"quot;hbox22&quot;&gt;\n"
-" &lt;property name=&quot;visible&quot;&g"
-"t;True&lt;/property&gt;\n"
-" &lt;property name=&quot;events&quot;&gt"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
+" &lt;child&gt;\n"
+" &lt;placeholder/&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDetelecineCustom&quot;&gt;\n"
+" &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
+" &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+" &lt;/object&gt;\n"
+" &lt;packing&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;2&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;3&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
+" &lt;/packing&gt;\n"
+" &lt;/child&gt;\n"
+"\n"
" &lt;child&gt;\n"
" &lt;object class=&quot;GtkLabel&quot;"
-" id=&quot;label31&quot;&gt;\n"
+" id=&quot;label56&quot;&gt;\n"
+" &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
+" &lt;property name=&quot;xalign&quot"
+";&gt;0&lt;/property&gt;\n"
+" &lt;property name=&quot;label&quot;"
+" translatable=&quot;yes&quot;&gt;Decomb:&lt;/property&gt;\n"
+" &lt;/object&gt;\n"
+" &lt;packing&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;3&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;4&lt;/property&gt;\n"
+" &lt;/packing&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkComboBox&qu"
+"ot; id=&quot;PictureDecomb&quot;&gt;\n"
+" &lt;property name=&quot;width_reque"
+"st&quot;&gt;100&lt;/property&gt;\n"
" &lt;property name=&quot;visible&quo"
"t;&gt;True&lt;/property&gt;\n"
-" &lt;property name=&quot;can_focus&q"
-"uot;&gt;True&lt;/property&gt;\n"
" &lt;property name=&quot;events&quot"
";&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
+" &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+" &lt;/object&gt;\n"
+" &lt;packing&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;3&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;4&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
+" &lt;/packing&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;placeholder/&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDecombCustom&quot;&gt;\n"
+" &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
+" &lt;signal name=&quot;changed&quot;"
+" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
+" &lt;/object&gt;\n"
+" &lt;packing&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;4&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;5&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
+" &lt;/packing&gt;\n"
+" &lt;/child&gt;\n"
+"\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkLabel&quot;"
+" id=&quot;label31&quot;&gt;\n"
+" &lt;property name=&quot;visible&quo"
+"t;&gt;True&lt;/property&gt;\n"
" &lt;property name=&quot;xalign&quot"
";&gt;0&lt;/property&gt;\n"
" &lt;property name=&quot;label&quot;"
" translatable=&quot;yes&quot;&gt;Deinterlace:&lt;/property&gt;\n"
-" &lt;property name=&quot;width_chars"
-"&quot;&gt;10&lt;/property&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;0&lt;/property&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;5&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;6&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;child&gt;\n"
@@ -7649,69 +7703,55 @@
"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
" &lt;signal name=&quot;changed&quot;"
" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-" &lt;signal name=&quot;button_press_"
-"event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;5&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;6&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkComboBoxEnt"
-"ry&quot; id=&quot;tweak_PictureDeinterlace&quot;&gt;\n"
+" &lt;placeholder/&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDeinterlaceCustom&quot;&gt;\n"
+" &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
" &lt;signal name=&quot;changed&quot;"
" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;2&lt;/property&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;6&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;7&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
-" &lt;/object&gt;\n"
-" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot;&gt"
-";False&lt;/property&gt;\n"
-" &lt;property name=&quot;padding&quot;&g"
-"t;2&lt;/property&gt;\n"
-" &lt;property name=&quot;position&quot;&"
-"gt;4&lt;/property&gt;\n"
-" &lt;/packing&gt;\n"
-" &lt;/child&gt;\n"
-" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkHBox&quot; id=&"
-"quot;hbox23&quot;&gt;\n"
-" &lt;property name=&quot;visible&quot;&g"
-"t;True&lt;/property&gt;\n"
-" &lt;property name=&quot;events&quot;&gt"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
" &lt;child&gt;\n"
" &lt;object class=&quot;GtkLabel&quot;"
" id=&quot;label32&quot;&gt;\n"
" &lt;property name=&quot;visible&quo"
"t;&gt;True&lt;/property&gt;\n"
-" &lt;property name=&quot;events&quot"
-";&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
-"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
" &lt;property name=&quot;xalign&quot"
";&gt;0&lt;/property&gt;\n"
" &lt;property name=&quot;label&quot;"
" translatable=&quot;yes&quot;&gt;Denoise:&lt;/property&gt;\n"
-" &lt;property name=&quot;selectable&"
-"quot;&gt;True&lt;/property&gt;\n"
-" &lt;property name=&quot;width_chars"
-"&quot;&gt;10&lt;/property&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;0&lt;/property&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;7&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;8&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;child&gt;\n"
@@ -7726,37 +7766,49 @@
"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;\n"
" &lt;signal name=&quot;changed&quot;"
" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
-" &lt;signal name=&quot;button_press_"
-"event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;7&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;8&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;child&gt;\n"
-" &lt;object class=&quot;GtkComboBoxEnt"
-"ry&quot; id=&quot;tweak_PictureDenoise&quot;&gt;\n"
+" &lt;placeholder/&gt;\n"
+" &lt;/child&gt;\n"
+" &lt;child&gt;\n"
+" &lt;object class=&quot;GtkEntry&quot;"
+" id=&quot;PictureDenoiseCustom&quot;&gt;\n"
+" &lt;property name=&quot;width_chars"
+"&quot;&gt;8&lt;/property&gt;\n"
" &lt;signal name=&quot;changed&quot;"
" handler=&quot;setting_widget_changed_cb&quot;/&gt;\n"
" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
-" &lt;property name=&quot;expand&quot"
-";&gt;False&lt;/property&gt;\n"
-" &lt;property name=&quot;position&qu"
-"ot;&gt;2&lt;/property&gt;\n"
+" &lt;property name=&quot;top_attach&"
+"quot;&gt;8&lt;/property&gt;\n"
+" &lt;property name=&quot;bottom_atta"
+"ch&quot;&gt;9&lt;/property&gt;\n"
+" &lt;property name=&quot;left_attach"
+"&quot;&gt;1&lt;/property&gt;\n"
+" &lt;property name=&quot;right_attac"
+"h&quot;&gt;2&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;/object&gt;\n"
+" &lt;/child&gt;\n"
+"\n"
+" &lt;/object&gt;\n"
" &lt;packing&gt;\n"
" &lt;property name=&quot;expand&quot;&gt"
";False&lt;/property&gt;\n"
-" &lt;property name=&quot;padding&quot;&g"
-"t;2&lt;/property&gt;\n"
" &lt;property name=&quot;position&quot;&"
-"gt;5&lt;/property&gt;\n"
+"gt;1&lt;/property&gt;\n"
" &lt;/packing&gt;\n"
" &lt;/child&gt;\n"
" &lt;/object&gt;\n"
@@ -10852,10 +10904,6 @@
" <integer>-1</integer>\n"
" <key>title</key>\n"
" <string>none</string>\n"
-" <key>tweak_PictureDecomb</key>\n"
-" <string></string>\n"
-" <key>tweak_PictureDetelecine</key>\n"
-" <string></string>\n"
" <key>volume_label</key>\n"
" <string>New Video</string>\n"
" <key>vquality_type_bitrate</key>\n"
@@ -10982,13 +11030,21 @@
" <key>PictureDeblock</key>\n"
" <integer>0</integer>\n"
" <key>PictureDecomb</key>\n"
-" <false />\n"
+" <string>none</string>\n"
+" <key>PictureDecombCustom</key>\n"
+" <string></string>\n"
" <key>PictureDeinterlace</key>\n"
" <string>none</string>\n"
+" <key>PictureDeinterlaceCustom</key>\n"
+" <string></string>\n"
" <key>PictureDenoise</key>\n"
" <string>none</string>\n"
+" <key>PictureDenoiseCustom</key>\n"
+" <string></string>\n"
" <key>PictureDetelecine</key>\n"
-" <true />\n"
+" <string>none</string>\n"
+" <key>PictureDetelecineCustom</key>\n"
+" <string></string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11122,7 +11178,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11210,7 +11266,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11300,7 +11356,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11407,7 +11463,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11493,7 +11549,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11602,7 +11658,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11694,7 +11750,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11785,7 +11841,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11892,7 +11948,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -11979,7 +12035,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12072,13 +12128,13 @@
" <key>PictureDeblock</key>\n"
" <integer>0</integer>\n"
" <key>PictureDecomb</key>\n"
-" <true />\n"
+" <string>2</string>\n"
" <key>PictureDeinterlace</key>\n"
" <string>0</string>\n"
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <true />\n"
+" <string>2</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12168,7 +12224,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12258,7 +12314,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12343,13 +12399,13 @@
" <key>PictureDeblock</key>\n"
" <integer>0</integer>\n"
" <key>PictureDecomb</key>\n"
-" <true />\n"
+" <string>2</string>\n"
" <key>PictureDeinterlace</key>\n"
" <string>0</string>\n"
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <true />\n"
+" <string>2</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12450,7 +12506,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>208</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12536,7 +12592,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12620,7 +12676,7 @@
" <key>PictureDenoise</key>\n"
" <string>0</string>\n"
" <key>PictureDetelecine</key>\n"
-" <false />\n"
+" <string>0</string>\n"
" <key>PictureHeight</key>\n"
" <integer>0</integer>\n"
" <key>PictureKeepRatio</key>\n"
@@ -12708,7 +12764,20 @@
" <key>PictureDecomb</key>\n"
" <array>\n"
" <string>PictureDeinterlace</string>\n"
-" <string>tweak_PictureDeinterlace</string>\n"
+" <string>PictureDeinterlaceCustom</string>\n"
+" <string>PictureDecombCustom</string>\n"
+" </array>\n"
+" <key>PictureDeinterlace</key>\n"
+" <array>\n"
+" <string>PictureDeinterlaceCustom</string>\n"
+" </array>\n"
+" <key>PictureDenoise</key>\n"
+" <array>\n"
+" <string>PictureDenoiseCustom</string>\n"
+" </array>\n"
+" <key>PictureDetelecine</key>\n"
+" <array>\n"
+" <string>PictureDetelecineCustom</string>\n"
" </array>\n"
" <key>PictureKeepRatio</key>\n"
" <array>\n"
@@ -12793,6 +12862,7 @@
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>AudioMixdown</key>\n"
@@ -12801,6 +12871,7 @@
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>AudioSamplerate</key>\n"
@@ -12809,6 +12880,7 @@
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>AudioTrackDRCSlider</key>\n"
@@ -12817,6 +12889,7 @@
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>Mp4HttpOptimize</key>\n"
@@ -12825,6 +12898,7 @@
" <string>FileFormat</string>\n"
" <string>mp4|m4v</string>\n"
" <false />\n"
+" <true />\n"
" </array>\n"
" </array>\n"
" <key>Mp4LargeFile</key>\n"
@@ -12833,6 +12907,7 @@
" <string>FileFormat</string>\n"
" <string>mp4|m4v</string>\n"
" <false />\n"
+" <true />\n"
" </array>\n"
" </array>\n"
" <key>Mp4iPodCompatible</key>\n"
@@ -12841,11 +12916,13 @@
" <string>FileFormat</string>\n"
" <string>mp4|m4v</string>\n"
" <false />\n"
+" <true />\n"
" </array>\n"
" <array>\n"
" <string>VideoEncoder</string>\n"
" <string>x264</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>PictureBottomCrop</key>\n"
@@ -12854,13 +12931,57 @@
" <string>PictureAutoCrop</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
+" </array>\n"
+" </array>\n"
+" <key>PictureDecombCustom</key>\n"
+" <array>\n"
+" <array>\n"
+" <string>PictureDecomb</string>\n"
+" <string>custom</string>\n"
+" <false />\n"
+" <true />\n"
" </array>\n"
" </array>\n"
" <key>PictureDeinterlace</key>\n"
" <array>\n"
" <array>\n"
" <string>PictureDecomb</string>\n"
-" <string>TRUE</string>\n"
+" <string>none</string>\n"
+" <false />\n"
+" <false />\n"
+" </array>\n"
+" </array>\n"
+" <key>PictureDeinterlaceCustom</key>\n"
+" <array>\n"
+" <array>\n"
+" <string>PictureDecomb</string>\n"
+" <string>none</string>\n"
+" <false />\n"
+" <true />\n"
+" </array>\n"
+" <array>\n"
+" <string>PictureDeinterlace</string>\n"
+" <string>custom</string>\n"
+" <false />\n"
+" <true />\n"
+" </array>\n"
+" </array>\n"
+" <key>PictureDenoiseCustom</key>\n"
+" <array>\n"
+" <array>\n"
+" <string>PictureDenoise</string>\n"
+" <string>custom</string>\n"
+" <false />\n"
+" <true />\n"
+" </array>\n"
+" </array>\n"
+" <key>PictureDetelecineCustom</key>\n"
+" <array>\n"
+" <array>\n"
+" <string>PictureDetelecine</string>\n"
+" <string>custom</string>\n"
+" <false />\n"
" <true />\n"
" </array>\n"
" </array>\n"
@@ -12870,6 +12991,7 @@
" <string>anamorphic</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>PictureLeftCrop</key>\n"
@@ -12878,6 +13000,7 @@
" <string>PictureAutoCrop</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>PictureRightCrop</key>\n"
@@ -12886,6 +13009,7 @@
" <string>PictureAutoCrop</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>PictureTopCrop</key>\n"
@@ -12894,6 +13018,7 @@
" <string>PictureAutoCrop</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoAvgBitrate</key>\n"
@@ -12902,6 +13027,7 @@
" <string>vquality_type_bitrate</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoQualitySlider</key>\n"
@@ -12910,6 +13036,7 @@
" <string>vquality_type_constant</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoTargetSize</key>\n"
@@ -12918,6 +13045,7 @@
" <string>vquality_type_target</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoTurboTwoPass</key>\n"
@@ -12926,11 +13054,13 @@
" <string>vquality_type_constant</string>\n"
" <string>TRUE</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" <array>\n"
" <string>VideoTwoPass</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoTwoPass</key>\n"
@@ -12939,6 +13069,7 @@
" <string>vquality_type_constant</string>\n"
" <string>TRUE</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_in_destination</key>\n"
@@ -12947,6 +13078,7 @@
" <string>use_source_name</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_label</key>\n"
@@ -12955,6 +13087,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_list</key>\n"
@@ -12963,6 +13096,7 @@
" <string>ChapterMarkers</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_tab</key>\n"
@@ -12971,6 +13105,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>constant_rate_factor</key>\n"
@@ -12979,6 +13114,7 @@
" <string>vquality_type_constant</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>directqp</key>\n"
@@ -12987,6 +13123,7 @@
" <string>VideoEncoder</string>\n"
" <string>x264|ffmpeg</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>end_chapter</key>\n"
@@ -12995,6 +13132,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>picture_label</key>\n"
@@ -13003,6 +13141,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>picture_tab</key>\n"
@@ -13011,6 +13150,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>preview_frame</key>\n"
@@ -13019,6 +13159,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>queue_add</key>\n"
@@ -13027,6 +13168,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>queue_add_menu</key>\n"
@@ -13035,6 +13177,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>scale_height</key>\n"
@@ -13043,16 +13186,19 @@
" <string>autoscale</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" <array>\n"
" <string>anamorphic</string>\n"
" <string>CHECK</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" <array>\n"
" <string>PictureKeepRatio</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>scale_width</key>\n"
@@ -13061,6 +13207,7 @@
" <string>autoscale</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>show_picture</key>\n"
@@ -13069,6 +13216,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>show_preview_menu</key>\n"
@@ -13077,6 +13225,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>start_chapter</key>\n"
@@ -13085,6 +13234,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>title</key>\n"
@@ -13093,6 +13243,7 @@
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>title_no_in_destination</key>\n"
@@ -13101,14 +13252,7 @@
" <string>use_source_name</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
-" </array>\n"
-" </array>\n"
-" <key>tweak_PictureDeinterlace</key>\n"
-" <array>\n"
-" <array>\n"
-" <string>PictureDecomb</string>\n"
-" <string>TRUE</string>\n"
-" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_bpyramid</key>\n"
@@ -13117,6 +13261,7 @@
" <string>x264_bframes</string>\n"
" <string>&lt;2</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_direct</key>\n"
@@ -13125,6 +13270,7 @@
" <string>x264_bframes</string>\n"
" <string>0</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_mixed_refs</key>\n"
@@ -13133,6 +13279,7 @@
" <string>x264_refs</string>\n"
" <string>&lt;2</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_tab</key>\n"
@@ -13141,6 +13288,7 @@
" <string>VideoEncoder</string>\n"
" <string>x264</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_tab_label</key>\n"
@@ -13149,6 +13297,7 @@
" <string>VideoEncoder</string>\n"
" <string>x264</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_trellis</key>\n"
@@ -13157,6 +13306,7 @@
" <string>x264_cabac</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_weighted_bframes</key>\n"
@@ -13165,6 +13315,7 @@
" <string>x264_bframes</string>\n"
" <string>0</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" </dict>\n"
diff --git a/gtk/src/resources.plist b/gtk/src/resources.plist
index 0a7b4bda3..7cb679216 100644
--- a/gtk/src/resources.plist
+++ b/gtk/src/resources.plist
@@ -799,6 +799,7 @@
&lt;/object&gt;
&lt;packing&gt;
&lt;property name=&quot;x_options&quot;&gt;GTK_FILL&lt;/property&gt;
+ &lt;property name=&quot;y_options&quot;&gt;GTK_FILL&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;child&gt;
@@ -4615,94 +4616,131 @@ location as the movie.&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;child&gt;
- &lt;object class=&quot;GtkCheckButton&quot; id=&quot;PictureDetelecine&quot;&gt;
- &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Detelecine&lt;/property&gt;
+ &lt;object class=&quot;GtkAlignment&quot; id=&quot;alignment2&quot;&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;receives_default&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
- &lt;property name=&quot;draw_indicator&quot;&gt;True&lt;/property&gt;
- &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
- &lt;signal name=&quot;toggled&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
- &lt;/object&gt;
- &lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
- &lt;/packing&gt;
- &lt;/child&gt;
- &lt;child&gt;
- &lt;object class=&quot;GtkCheckButton&quot; id=&quot;PictureDecomb&quot;&gt;
- &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;De-Comb&lt;/property&gt;
- &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;receives_default&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;active&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;draw_indicator&quot;&gt;True&lt;/property&gt;
- &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
- &lt;signal name=&quot;toggled&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
- &lt;/object&gt;
- &lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;2&lt;/property&gt;
- &lt;/packing&gt;
- &lt;/child&gt;
+ &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
+ &lt;property name=&quot;xscale&quot;&gt;0&lt;/property&gt;
+
&lt;child&gt;
- &lt;object class=&quot;GtkHBox&quot; id=&quot;hbox21&quot;&gt;
+ &lt;object class=&quot;GtkTable&quot; id=&quot;table90&quot;&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+ &lt;property name=&quot;n_rows&quot;&gt;2&lt;/property&gt;
+ &lt;property name=&quot;n_columns&quot;&gt;2&lt;/property&gt;
+ &lt;property name=&quot;column_spacing&quot;&gt;5&lt;/property&gt;
+
&lt;child&gt;
&lt;object class=&quot;GtkLabel&quot; id=&quot;label56&quot;&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
&lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
&lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Deblock:&lt;/property&gt;
- &lt;property name=&quot;width_chars&quot;&gt;10&lt;/property&gt;
+ &lt;/object&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;object class=&quot;GtkHScale&quot; id=&quot;PictureDeblock&quot;&gt;
+ &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+ &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
+ &lt;property name=&quot;adjustment&quot;&gt;adjustment20&lt;/property&gt;
+ &lt;property name=&quot;digits&quot;&gt;0&lt;/property&gt;
+ &lt;property name=&quot;value_pos&quot;&gt;right&lt;/property&gt;
+ &lt;signal name=&quot;value_changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+ &lt;signal name=&quot;format_value&quot; handler=&quot;format_deblock_cb&quot;/&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;0&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;child&gt;
- &lt;object class=&quot;GtkAlignment&quot; id=&quot;alignment14&quot;&gt;
+ &lt;object class=&quot;GtkLabel&quot; id=&quot;label56&quot;&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
&lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
- &lt;property name=&quot;xscale&quot;&gt;0.55000001192092896&lt;/property&gt;
- &lt;child&gt;
- &lt;object class=&quot;GtkHScale&quot; id=&quot;PictureDeblock&quot;&gt;
- &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;adjustment&quot;&gt;adjustment20&lt;/property&gt;
- &lt;property name=&quot;digits&quot;&gt;0&lt;/property&gt;
- &lt;property name=&quot;value_pos&quot;&gt;right&lt;/property&gt;
- &lt;signal name=&quot;value_changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
- &lt;signal name=&quot;format_value&quot; handler=&quot;format_deblock_cb&quot;/&gt;
- &lt;/object&gt;
- &lt;/child&gt;
+ &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Detelecine:&lt;/property&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;2&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
- &lt;/object&gt;
- &lt;packing&gt;
- &lt;property name=&quot;position&quot;&gt;3&lt;/property&gt;
- &lt;/packing&gt;
- &lt;/child&gt;
- &lt;child&gt;
- &lt;object class=&quot;GtkHBox&quot; id=&quot;hbox22&quot;&gt;
- &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
&lt;child&gt;
- &lt;object class=&quot;GtkLabel&quot; id=&quot;label31&quot;&gt;
+ &lt;object class=&quot;GtkComboBox&quot; id=&quot;PictureDetelecine&quot;&gt;
+ &lt;property name=&quot;width_request&quot;&gt;100&lt;/property&gt;
+ &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+ &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
+ &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+ &lt;/object&gt;
+ &lt;packing&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;2&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+ &lt;/packing&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;placeholder/&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDetelecineCustom&quot;&gt;
+ &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
+ &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+ &lt;/object&gt;
+ &lt;packing&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;2&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;3&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+ &lt;/packing&gt;
+ &lt;/child&gt;
+
+ &lt;child&gt;
+ &lt;object class=&quot;GtkLabel&quot; id=&quot;label56&quot;&gt;
+ &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
+ &lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
+ &lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Decomb:&lt;/property&gt;
+ &lt;/object&gt;
+ &lt;packing&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;3&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;4&lt;/property&gt;
+ &lt;/packing&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;object class=&quot;GtkComboBox&quot; id=&quot;PictureDecomb&quot;&gt;
+ &lt;property name=&quot;width_request&quot;&gt;100&lt;/property&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;can_focus&quot;&gt;True&lt;/property&gt;
&lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
+ &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+ &lt;/object&gt;
+ &lt;packing&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;3&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;4&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+ &lt;/packing&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;placeholder/&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDecombCustom&quot;&gt;
+ &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
+ &lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
+ &lt;/object&gt;
+ &lt;packing&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;4&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;5&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
+ &lt;/packing&gt;
+ &lt;/child&gt;
+
+ &lt;child&gt;
+ &lt;object class=&quot;GtkLabel&quot; id=&quot;label31&quot;&gt;
+ &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
&lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
&lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Deinterlace:&lt;/property&gt;
- &lt;property name=&quot;width_chars&quot;&gt;10&lt;/property&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;0&lt;/property&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;5&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;6&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;child&gt;
@@ -4711,45 +4749,38 @@ location as the movie.&lt;/property&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
&lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
&lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
- &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;5&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;6&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;child&gt;
- &lt;object class=&quot;GtkComboBoxEntry&quot; id=&quot;tweak_PictureDeinterlace&quot;&gt;
+ &lt;placeholder/&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDeinterlaceCustom&quot;&gt;
+ &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
&lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;2&lt;/property&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;6&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;7&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
- &lt;/object&gt;
- &lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;padding&quot;&gt;2&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;4&lt;/property&gt;
- &lt;/packing&gt;
- &lt;/child&gt;
- &lt;child&gt;
- &lt;object class=&quot;GtkHBox&quot; id=&quot;hbox23&quot;&gt;
- &lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
&lt;child&gt;
&lt;object class=&quot;GtkLabel&quot; id=&quot;label32&quot;&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
&lt;property name=&quot;xalign&quot;&gt;0&lt;/property&gt;
&lt;property name=&quot;label&quot; translatable=&quot;yes&quot;&gt;Denoise:&lt;/property&gt;
- &lt;property name=&quot;selectable&quot;&gt;True&lt;/property&gt;
- &lt;property name=&quot;width_chars&quot;&gt;10&lt;/property&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;0&lt;/property&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;7&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;8&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;child&gt;
@@ -4758,27 +4789,36 @@ location as the movie.&lt;/property&gt;
&lt;property name=&quot;visible&quot;&gt;True&lt;/property&gt;
&lt;property name=&quot;events&quot;&gt;GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK&lt;/property&gt;
&lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
- &lt;signal name=&quot;button_press_event&quot; handler=&quot;tweak_setting_cb&quot;/&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;7&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;8&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;child&gt;
- &lt;object class=&quot;GtkComboBoxEntry&quot; id=&quot;tweak_PictureDenoise&quot;&gt;
+ &lt;placeholder/&gt;
+ &lt;/child&gt;
+ &lt;child&gt;
+ &lt;object class=&quot;GtkEntry&quot; id=&quot;PictureDenoiseCustom&quot;&gt;
+ &lt;property name=&quot;width_chars&quot;&gt;8&lt;/property&gt;
&lt;signal name=&quot;changed&quot; handler=&quot;setting_widget_changed_cb&quot;/&gt;
&lt;/object&gt;
&lt;packing&gt;
- &lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;2&lt;/property&gt;
+ &lt;property name=&quot;top_attach&quot;&gt;8&lt;/property&gt;
+ &lt;property name=&quot;bottom_attach&quot;&gt;9&lt;/property&gt;
+ &lt;property name=&quot;left_attach&quot;&gt;1&lt;/property&gt;
+ &lt;property name=&quot;right_attach&quot;&gt;2&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;/object&gt;
+ &lt;/child&gt;
+
+ &lt;/object&gt;
&lt;packing&gt;
&lt;property name=&quot;expand&quot;&gt;False&lt;/property&gt;
- &lt;property name=&quot;padding&quot;&gt;2&lt;/property&gt;
- &lt;property name=&quot;position&quot;&gt;5&lt;/property&gt;
+ &lt;property name=&quot;position&quot;&gt;1&lt;/property&gt;
&lt;/packing&gt;
&lt;/child&gt;
&lt;/object&gt;
@@ -5358,10 +5398,6 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<integer>-1</integer>
<key>title</key>
<string>none</string>
- <key>tweak_PictureDecomb</key>
- <string></string>
- <key>tweak_PictureDetelecine</key>
- <string></string>
<key>volume_label</key>
<string>New Video</string>
<key>vquality_type_bitrate</key>
@@ -5488,13 +5524,21 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDeblock</key>
<integer>0</integer>
<key>PictureDecomb</key>
- <false />
+ <string>none</string>
+ <key>PictureDecombCustom</key>
+ <string></string>
<key>PictureDeinterlace</key>
<string>none</string>
+ <key>PictureDeinterlaceCustom</key>
+ <string></string>
<key>PictureDenoise</key>
<string>none</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
<key>PictureDetelecine</key>
- <true />
+ <string>none</string>
+ <key>PictureDetelecineCustom</key>
+ <string></string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -5628,7 +5672,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -5713,7 +5757,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -5800,7 +5844,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -5905,7 +5949,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -5988,7 +6032,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6094,7 +6138,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6181,7 +6225,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6268,7 +6312,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6372,7 +6416,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6459,7 +6503,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6551,13 +6595,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDeblock</key>
<integer>0</integer>
<key>PictureDecomb</key>
- <true />
+ <string>2</string>
<key>PictureDeinterlace</key>
<string>0</string>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <true />
+ <string>2</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6644,7 +6688,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6731,7 +6775,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6814,13 +6858,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDeblock</key>
<integer>0</integer>
<key>PictureDecomb</key>
- <true />
+ <string>2</string>
<key>PictureDeinterlace</key>
<string>0</string>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <true />
+ <string>2</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -6918,7 +6962,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>208</integer>
<key>PictureKeepRatio</key>
@@ -7003,7 +7047,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -7086,7 +7130,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -7172,7 +7216,20 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<key>PictureDecomb</key>
<array>
<string>PictureDeinterlace</string>
- <string>tweak_PictureDeinterlace</string>
+ <string>PictureDeinterlaceCustom</string>
+ <string>PictureDecombCustom</string>
+ </array>
+ <key>PictureDeinterlace</key>
+ <array>
+ <string>PictureDeinterlaceCustom</string>
+ </array>
+ <key>PictureDenoise</key>
+ <array>
+ <string>PictureDenoiseCustom</string>
+ </array>
+ <key>PictureDetelecine</key>
+ <array>
+ <string>PictureDetelecineCustom</string>
</array>
<key>PictureKeepRatio</key>
<array>
@@ -7257,6 +7314,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioMixdown</key>
@@ -7265,6 +7323,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioSamplerate</key>
@@ -7273,6 +7332,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioTrackDRCSlider</key>
@@ -7281,6 +7341,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>Mp4HttpOptimize</key>
@@ -7289,6 +7350,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4LargeFile</key>
@@ -7297,6 +7359,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4iPodCompatible</key>
@@ -7305,11 +7368,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
<array>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>PictureBottomCrop</key>
@@ -7318,13 +7383,57 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
+ </array>
+ </array>
+ <key>PictureDecombCustom</key>
+ <array>
+ <array>
+ <string>PictureDecomb</string>
+ <string>custom</string>
+ <false />
+ <true />
</array>
</array>
<key>PictureDeinterlace</key>
<array>
<array>
<string>PictureDecomb</string>
- <string>TRUE</string>
+ <string>none</string>
+ <false />
+ <false />
+ </array>
+ </array>
+ <key>PictureDeinterlaceCustom</key>
+ <array>
+ <array>
+ <string>PictureDecomb</string>
+ <string>none</string>
+ <false />
+ <true />
+ </array>
+ <array>
+ <string>PictureDeinterlace</string>
+ <string>custom</string>
+ <false />
+ <true />
+ </array>
+ </array>
+ <key>PictureDenoiseCustom</key>
+ <array>
+ <array>
+ <string>PictureDenoise</string>
+ <string>custom</string>
+ <false />
+ <true />
+ </array>
+ </array>
+ <key>PictureDetelecineCustom</key>
+ <array>
+ <array>
+ <string>PictureDetelecine</string>
+ <string>custom</string>
+ <false />
<true />
</array>
</array>
@@ -7334,6 +7443,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>anamorphic</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureLeftCrop</key>
@@ -7342,6 +7452,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureRightCrop</key>
@@ -7350,6 +7461,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureTopCrop</key>
@@ -7358,6 +7470,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>VideoAvgBitrate</key>
@@ -7366,6 +7479,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>vquality_type_bitrate</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoQualitySlider</key>
@@ -7374,6 +7488,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTargetSize</key>
@@ -7382,6 +7497,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>vquality_type_target</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTurboTwoPass</key>
@@ -7390,11 +7506,13 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>vquality_type_constant</string>
<string>TRUE</string>
<true />
+ <false />
</array>
<array>
<string>VideoTwoPass</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTwoPass</key>
@@ -7403,6 +7521,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>vquality_type_constant</string>
<string>TRUE</string>
<true />
+ <false />
</array>
</array>
<key>chapters_in_destination</key>
@@ -7411,6 +7530,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>use_source_name</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_label</key>
@@ -7419,6 +7539,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>chapters_list</key>
@@ -7427,6 +7548,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>ChapterMarkers</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_tab</key>
@@ -7435,6 +7557,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>constant_rate_factor</key>
@@ -7443,6 +7566,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>directqp</key>
@@ -7451,6 +7575,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>VideoEncoder</string>
<string>x264|ffmpeg</string>
<false />
+ <false />
</array>
</array>
<key>end_chapter</key>
@@ -7459,6 +7584,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_label</key>
@@ -7467,6 +7593,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_tab</key>
@@ -7475,6 +7602,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>preview_frame</key>
@@ -7483,6 +7611,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add</key>
@@ -7491,6 +7620,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add_menu</key>
@@ -7499,6 +7629,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>scale_height</key>
@@ -7507,16 +7638,19 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>autoscale</string>
<string>FALSE</string>
<false />
+ <false />
</array>
<array>
<string>anamorphic</string>
<string>CHECK</string>
<true />
+ <false />
</array>
<array>
<string>PictureKeepRatio</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>scale_width</key>
@@ -7525,6 +7659,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>autoscale</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>show_picture</key>
@@ -7533,6 +7668,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>show_preview_menu</key>
@@ -7541,6 +7677,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>start_chapter</key>
@@ -7549,6 +7686,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title</key>
@@ -7557,6 +7695,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title_no_in_destination</key>
@@ -7565,14 +7704,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>use_source_name</string>
<string>TRUE</string>
<false />
- </array>
- </array>
- <key>tweak_PictureDeinterlace</key>
- <array>
- <array>
- <string>PictureDecomb</string>
- <string>TRUE</string>
- <true />
+ <false />
</array>
</array>
<key>x264_bpyramid</key>
@@ -7581,6 +7713,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>x264_bframes</string>
<string>&lt;2</string>
<true />
+ <false />
</array>
</array>
<key>x264_direct</key>
@@ -7589,6 +7722,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
<key>x264_mixed_refs</key>
@@ -7597,6 +7731,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>x264_refs</string>
<string>&lt;2</string>
<true />
+ <false />
</array>
</array>
<key>x264_tab</key>
@@ -7605,6 +7740,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_tab_label</key>
@@ -7613,6 +7749,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_trellis</key>
@@ -7621,6 +7758,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>x264_cabac</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>x264_weighted_bframes</key>
@@ -7629,6 +7767,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
</dict>
diff --git a/gtk/src/standard_presets.xml b/gtk/src/standard_presets.xml
index 2e6019d18..a3e8eeaec 100644
--- a/gtk/src/standard_presets.xml
+++ b/gtk/src/standard_presets.xml
@@ -62,7 +62,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -147,7 +147,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -234,7 +234,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -339,7 +339,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -422,7 +422,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -528,7 +528,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -615,7 +615,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -702,7 +702,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -806,7 +806,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -893,7 +893,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -985,13 +985,13 @@
<key>PictureDeblock</key>
<integer>0</integer>
<key>PictureDecomb</key>
- <true />
+ <string>2</string>
<key>PictureDeinterlace</key>
<string>0</string>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <true />
+ <string>2</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -1078,7 +1078,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -1165,7 +1165,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -1248,13 +1248,13 @@
<key>PictureDeblock</key>
<integer>0</integer>
<key>PictureDecomb</key>
- <true />
+ <string>2</string>
<key>PictureDeinterlace</key>
<string>0</string>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <true />
+ <string>2</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -1352,7 +1352,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>208</integer>
<key>PictureKeepRatio</key>
@@ -1437,7 +1437,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
@@ -1520,7 +1520,7 @@
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
diff --git a/gtk/src/widget_deps b/gtk/src/widget_deps
index c3df7f5cc..690c1a0d7 100644
--- a/gtk/src/widget_deps
+++ b/gtk/src/widget_deps
@@ -29,7 +29,20 @@
<key>PictureDecomb</key>
<array>
<string>PictureDeinterlace</string>
- <string>tweak_PictureDeinterlace</string>
+ <string>PictureDeinterlaceCustom</string>
+ <string>PictureDecombCustom</string>
+ </array>
+ <key>PictureDeinterlace</key>
+ <array>
+ <string>PictureDeinterlaceCustom</string>
+ </array>
+ <key>PictureDenoise</key>
+ <array>
+ <string>PictureDenoiseCustom</string>
+ </array>
+ <key>PictureDetelecine</key>
+ <array>
+ <string>PictureDetelecineCustom</string>
</array>
<key>PictureKeepRatio</key>
<array>
diff --git a/gtk/src/widget_reverse_deps b/gtk/src/widget_reverse_deps
index 0b1e3f4d9..9a45951e5 100644
--- a/gtk/src/widget_reverse_deps
+++ b/gtk/src/widget_reverse_deps
@@ -8,6 +8,7 @@
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioMixdown</key>
@@ -16,6 +17,7 @@
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioSamplerate</key>
@@ -24,6 +26,7 @@
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioTrackDRCSlider</key>
@@ -32,6 +35,7 @@
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>Mp4HttpOptimize</key>
@@ -40,6 +44,7 @@
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4LargeFile</key>
@@ -48,6 +53,7 @@
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4iPodCompatible</key>
@@ -56,11 +62,13 @@
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
<array>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>PictureBottomCrop</key>
@@ -69,13 +77,57 @@
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
+ </array>
+ </array>
+ <key>PictureDecombCustom</key>
+ <array>
+ <array>
+ <string>PictureDecomb</string>
+ <string>custom</string>
+ <false />
+ <true />
</array>
</array>
<key>PictureDeinterlace</key>
<array>
<array>
<string>PictureDecomb</string>
- <string>TRUE</string>
+ <string>none</string>
+ <false />
+ <false />
+ </array>
+ </array>
+ <key>PictureDeinterlaceCustom</key>
+ <array>
+ <array>
+ <string>PictureDecomb</string>
+ <string>none</string>
+ <false />
+ <true />
+ </array>
+ <array>
+ <string>PictureDeinterlace</string>
+ <string>custom</string>
+ <false />
+ <true />
+ </array>
+ </array>
+ <key>PictureDenoiseCustom</key>
+ <array>
+ <array>
+ <string>PictureDenoise</string>
+ <string>custom</string>
+ <false />
+ <true />
+ </array>
+ </array>
+ <key>PictureDetelecineCustom</key>
+ <array>
+ <array>
+ <string>PictureDetelecine</string>
+ <string>custom</string>
+ <false />
<true />
</array>
</array>
@@ -85,6 +137,7 @@
<string>anamorphic</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureLeftCrop</key>
@@ -93,6 +146,7 @@
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureRightCrop</key>
@@ -101,6 +155,7 @@
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureTopCrop</key>
@@ -109,6 +164,7 @@
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>VideoAvgBitrate</key>
@@ -117,6 +173,7 @@
<string>vquality_type_bitrate</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoQualitySlider</key>
@@ -125,6 +182,7 @@
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTargetSize</key>
@@ -133,6 +191,7 @@
<string>vquality_type_target</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTurboTwoPass</key>
@@ -141,11 +200,13 @@
<string>vquality_type_constant</string>
<string>TRUE</string>
<true />
+ <false />
</array>
<array>
<string>VideoTwoPass</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTwoPass</key>
@@ -154,6 +215,7 @@
<string>vquality_type_constant</string>
<string>TRUE</string>
<true />
+ <false />
</array>
</array>
<key>chapters_in_destination</key>
@@ -162,6 +224,7 @@
<string>use_source_name</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_label</key>
@@ -170,6 +233,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>chapters_list</key>
@@ -178,6 +242,7 @@
<string>ChapterMarkers</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_tab</key>
@@ -186,6 +251,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>constant_rate_factor</key>
@@ -194,6 +260,7 @@
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>directqp</key>
@@ -202,6 +269,7 @@
<string>VideoEncoder</string>
<string>x264|ffmpeg</string>
<false />
+ <false />
</array>
</array>
<key>end_chapter</key>
@@ -210,6 +278,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_label</key>
@@ -218,6 +287,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_tab</key>
@@ -226,6 +296,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>preview_frame</key>
@@ -234,6 +305,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add</key>
@@ -242,6 +314,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add_menu</key>
@@ -250,6 +323,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>scale_height</key>
@@ -258,16 +332,19 @@
<string>autoscale</string>
<string>FALSE</string>
<false />
+ <false />
</array>
<array>
<string>anamorphic</string>
<string>CHECK</string>
<true />
+ <false />
</array>
<array>
<string>PictureKeepRatio</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>scale_width</key>
@@ -276,6 +353,7 @@
<string>autoscale</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>show_picture</key>
@@ -284,6 +362,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>show_preview_menu</key>
@@ -292,6 +371,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>start_chapter</key>
@@ -300,6 +380,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title</key>
@@ -308,6 +389,7 @@
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title_no_in_destination</key>
@@ -316,14 +398,7 @@
<string>use_source_name</string>
<string>TRUE</string>
<false />
- </array>
- </array>
- <key>tweak_PictureDeinterlace</key>
- <array>
- <array>
- <string>PictureDecomb</string>
- <string>TRUE</string>
- <true />
+ <false />
</array>
</array>
<key>x264_bpyramid</key>
@@ -332,6 +407,7 @@
<string>x264_bframes</string>
<string>&lt;2</string>
<true />
+ <false />
</array>
</array>
<key>x264_direct</key>
@@ -340,6 +416,7 @@
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
<key>x264_mixed_refs</key>
@@ -348,6 +425,7 @@
<string>x264_refs</string>
<string>&lt;2</string>
<true />
+ <false />
</array>
</array>
<key>x264_tab</key>
@@ -356,6 +434,7 @@
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_tab_label</key>
@@ -364,6 +443,7 @@
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_trellis</key>
@@ -372,6 +452,7 @@
<string>x264_cabac</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>x264_weighted_bframes</key>
@@ -380,6 +461,7 @@
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
</dict>