}
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;
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);
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);
jj++;
}
sensitive = die ^ sensitive;
- if (!sensitive) result = FALSE;
+ if (!sensitive)
+ {
+ result = FALSE;
+ *out_hide |= hide;
+ }
g_strfreev (values);
g_free(value);
}
for (ii = 0; ii < count; ii++)
{
gboolean sensitive;
+ gboolean hide;
data = ghb_array_get_nth(array, ii);
dep_name = ghb_value_string(data);
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));
+ }
+ }
}
}
&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));
+ }
+ }
}
}
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)
{
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
</object>
<packing>
<property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
</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>
<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>
<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>
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 =
{
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 =
{
{"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},
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);
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;
}
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;
}
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
/* 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 );
}
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 );
}
<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>
<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>
<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>
GValue *preset;
GError *error = NULL;
GOptionContext *context;
- GtkWidget *widget;
mm_flags = mm_support();
#ifdef ENABLE_NLS
{
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);
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
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);
}
}
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);
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
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}
};
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);
key = "VideoFramerate";
mac_val = ghb_dict_lookup(dict, key);
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";
}
}
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);
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)");
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;
}
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;
}
" <packing>\n"
" <property name="x_options&q"
"uot;>GTK_FILL</property>\n"
+" <property name="y_options&q"
+"uot;>GTK_FILL</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
-" <object class="GtkCheckButton&quo"
-"t; id="PictureDetelecine">\n"
-" <property name="label" tra"
-"nslatable="yes">Detelecine</property>\n"
-" <property name="visible"&g"
-"t;True</property>\n"
-" <property name="can_focus""
-">True</property>\n"
-" <property name="receives_defaul"
-"t">False</property>\n"
-" <property name="events">"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
-" <property name="draw_indicator&"
-"quot;>True</property>\n"
-" <signal name="button_press_even"
-"t" handler="tweak_setting_cb"/>\n"
-" <signal name="toggled" han"
-"dler="setting_widget_changed_cb"/>\n"
-" </object>\n"
-" <packing>\n"
-" <property name="expand">"
-";False</property>\n"
-" <property name="position"&"
-"gt;1</property>\n"
-" </packing>\n"
-" </child>\n"
-" <child>\n"
-" <object class="GtkCheckButton&quo"
-"t; id="PictureDecomb">\n"
-" <property name="label" tra"
-"nslatable="yes">De-Comb</property>\n"
+" <object class="GtkAlignment""
+" id="alignment2">\n"
" <property name="visible"&g"
"t;True</property>\n"
-" <property name="can_focus""
-">True</property>\n"
-" <property name="receives_defaul"
-"t">False</property>\n"
-" <property name="active">"
-";True</property>\n"
-" <property name="draw_indicator&"
-"quot;>True</property>\n"
-" <signal name="button_press_even"
-"t" handler="tweak_setting_cb"/>\n"
-" <signal name="toggled" han"
-"dler="setting_widget_changed_cb"/>\n"
-" </object>\n"
-" <packing>\n"
-" <property name="expand">"
-";False</property>\n"
-" <property name="position"&"
-"gt;2</property>\n"
-" </packing>\n"
-" </child>\n"
+" <property name="xalign">"
+";0</property>\n"
+" <property name="xscale">"
+";0</property>\n"
+"\n"
" <child>\n"
-" <object class="GtkHBox" id=&"
-"quot;hbox21">\n"
+" <object class="GtkTable" id="
+""table90">\n"
" <property name="visible"&g"
"t;True</property>\n"
+" <property name="n_rows">"
+";2</property>\n"
+" <property name="n_columns""
+">2</property>\n"
+" <property name="column_spacing&"
+"quot;>5</property>\n"
+"\n"
" <child>\n"
" <object class="GtkLabel""
" id="label56">\n"
";>0</property>\n"
" <property name="label""
" translatable="yes">Deblock:</property>\n"
-" <property name="width_chars"
-"">10</property>\n"
+" </object>\n"
+" </child>\n"
+" <child>\n"
+" <object class="GtkHScale""
+"; id="PictureDeblock">\n"
+" <property name="visible&quo"
+"t;>True</property>\n"
+" <property name="can_focus&q"
+"uot;>True</property>\n"
+" <property name="adjustment&"
+"quot;>adjustment20</property>\n"
+" <property name="digits""
+";>0</property>\n"
+" <property name="value_pos&q"
+"uot;>right</property>\n"
+" <signal name="value_changed"
+"" handler="setting_widget_changed_cb"/>\n"
+" <signal name="format_value&"
+"quot; handler="format_deblock_cb"/>\n"
" </object>\n"
" <packing>\n"
-" <property name="expand""
-";>False</property>\n"
-" <property name="position&qu"
-"ot;>0</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
-" <object class="GtkAlignment&q"
-"uot; id="alignment14">\n"
+" <object class="GtkLabel""
+" id="label56">\n"
" <property name="visible&quo"
"t;>True</property>\n"
" <property name="xalign""
";>0</property>\n"
-" <property name="xscale""
-";>0.55000001192092896</property>\n"
-" <child>\n"
-" <object class="GtkHScale&"
-"quot; id="PictureDeblock">\n"
-" <property name="visible"
-"">True</property>\n"
-" <property name="can_foc"
-"us">True</property>\n"
-" <property name="adjustm"
-"ent">adjustment20</property>\n"
-" <property name="digits&"
-"quot;>0</property>\n"
-" <property name="value_p"
-"os">right</property>\n"
-" <signal name="value_cha"
-"nged" handler="setting_widget_changed_cb"/>\n"
-" <signal name="format_va"
-"lue" handler="format_deblock_cb"/>\n"
-" </object>\n"
-" </child>\n"
+" <property name="label""
+" translatable="yes">Detelecine:</property>\n"
" </object>\n"
" <packing>\n"
-" <property name="position&qu"
-"ot;>1</property>\n"
+" <property name="top_attach&"
+"quot;>1</property>\n"
+" <property name="bottom_atta"
+"ch">2</property>\n"
+" </packing>\n"
+" </child>\n"
+" <child>\n"
+" <object class="GtkComboBox&qu"
+"ot; id="PictureDetelecine">\n"
+" <property name="width_reque"
+"st">100</property>\n"
+" <property name="visible&quo"
+"t;>True</property>\n"
+" <property name="events""
+";>GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
+"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
+" <signal name="changed""
+" handler="setting_widget_changed_cb"/>\n"
+" </object>\n"
+" <packing>\n"
+" <property name="top_attach&"
+"quot;>1</property>\n"
+" <property name="bottom_atta"
+"ch">2</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
" </packing>\n"
" </child>\n"
-" </object>\n"
-" <packing>\n"
-" <property name="position"&"
-"gt;3</property>\n"
-" </packing>\n"
-" </child>\n"
-" <child>\n"
-" <object class="GtkHBox" id=&"
-"quot;hbox22">\n"
-" <property name="visible"&g"
-"t;True</property>\n"
-" <property name="events">"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
+" <child>\n"
+" <placeholder/>\n"
+" </child>\n"
+" <child>\n"
+" <object class="GtkEntry""
+" id="PictureDetelecineCustom">\n"
+" <property name="width_chars"
+"">8</property>\n"
+" <signal name="changed""
+" handler="setting_widget_changed_cb"/>\n"
+" </object>\n"
+" <packing>\n"
+" <property name="top_attach&"
+"quot;>2</property>\n"
+" <property name="bottom_atta"
+"ch">3</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
+" </packing>\n"
+" </child>\n"
+"\n"
" <child>\n"
" <object class="GtkLabel""
-" id="label31">\n"
+" id="label56">\n"
+" <property name="visible&quo"
+"t;>True</property>\n"
+" <property name="xalign""
+";>0</property>\n"
+" <property name="label""
+" translatable="yes">Decomb:</property>\n"
+" </object>\n"
+" <packing>\n"
+" <property name="top_attach&"
+"quot;>3</property>\n"
+" <property name="bottom_atta"
+"ch">4</property>\n"
+" </packing>\n"
+" </child>\n"
+" <child>\n"
+" <object class="GtkComboBox&qu"
+"ot; id="PictureDecomb">\n"
+" <property name="width_reque"
+"st">100</property>\n"
" <property name="visible&quo"
"t;>True</property>\n"
-" <property name="can_focus&q"
-"uot;>True</property>\n"
" <property name="events""
";>GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
+" <signal name="changed""
+" handler="setting_widget_changed_cb"/>\n"
+" </object>\n"
+" <packing>\n"
+" <property name="top_attach&"
+"quot;>3</property>\n"
+" <property name="bottom_atta"
+"ch">4</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
+" </packing>\n"
+" </child>\n"
+" <child>\n"
+" <placeholder/>\n"
+" </child>\n"
+" <child>\n"
+" <object class="GtkEntry""
+" id="PictureDecombCustom">\n"
+" <property name="width_chars"
+"">8</property>\n"
+" <signal name="changed""
+" handler="setting_widget_changed_cb"/>\n"
+" </object>\n"
+" <packing>\n"
+" <property name="top_attach&"
+"quot;>4</property>\n"
+" <property name="bottom_atta"
+"ch">5</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
+" </packing>\n"
+" </child>\n"
+"\n"
+" <child>\n"
+" <object class="GtkLabel""
+" id="label31">\n"
+" <property name="visible&quo"
+"t;>True</property>\n"
" <property name="xalign""
";>0</property>\n"
" <property name="label""
" translatable="yes">Deinterlace:</property>\n"
-" <property name="width_chars"
-"">10</property>\n"
" </object>\n"
" <packing>\n"
-" <property name="expand""
-";>False</property>\n"
-" <property name="position&qu"
-"ot;>0</property>\n"
+" <property name="top_attach&"
+"quot;>5</property>\n"
+" <property name="bottom_atta"
+"ch">6</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
" <signal name="changed""
" handler="setting_widget_changed_cb"/>\n"
-" <signal name="button_press_"
-"event" handler="tweak_setting_cb"/>\n"
" </object>\n"
" <packing>\n"
-" <property name="expand""
-";>False</property>\n"
-" <property name="position&qu"
-"ot;>1</property>\n"
+" <property name="top_attach&"
+"quot;>5</property>\n"
+" <property name="bottom_atta"
+"ch">6</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
-" <object class="GtkComboBoxEnt"
-"ry" id="tweak_PictureDeinterlace">\n"
+" <placeholder/>\n"
+" </child>\n"
+" <child>\n"
+" <object class="GtkEntry""
+" id="PictureDeinterlaceCustom">\n"
+" <property name="width_chars"
+"">8</property>\n"
" <signal name="changed""
" handler="setting_widget_changed_cb"/>\n"
" </object>\n"
" <packing>\n"
-" <property name="expand""
-";>False</property>\n"
-" <property name="position&qu"
-"ot;>2</property>\n"
+" <property name="top_attach&"
+"quot;>6</property>\n"
+" <property name="bottom_atta"
+"ch">7</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
" </packing>\n"
" </child>\n"
-" </object>\n"
-" <packing>\n"
-" <property name="expand">"
-";False</property>\n"
-" <property name="padding"&g"
-"t;2</property>\n"
-" <property name="position"&"
-"gt;4</property>\n"
-" </packing>\n"
-" </child>\n"
-" <child>\n"
-" <object class="GtkHBox" id=&"
-"quot;hbox23">\n"
-" <property name="visible"&g"
-"t;True</property>\n"
-" <property name="events">"
-";GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PR"
-"ESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
" <child>\n"
" <object class="GtkLabel""
" id="label32">\n"
" <property name="visible&quo"
"t;>True</property>\n"
-" <property name="events""
-";>GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTO"
-"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
" <property name="xalign""
";>0</property>\n"
" <property name="label""
" translatable="yes">Denoise:</property>\n"
-" <property name="selectable&"
-"quot;>True</property>\n"
-" <property name="width_chars"
-"">10</property>\n"
" </object>\n"
" <packing>\n"
-" <property name="expand""
-";>False</property>\n"
-" <property name="position&qu"
-"ot;>0</property>\n"
+" <property name="top_attach&"
+"quot;>7</property>\n"
+" <property name="bottom_atta"
+"ch">8</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
"N_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n"
" <signal name="changed""
" handler="setting_widget_changed_cb"/>\n"
-" <signal name="button_press_"
-"event" handler="tweak_setting_cb"/>\n"
" </object>\n"
" <packing>\n"
-" <property name="expand""
-";>False</property>\n"
-" <property name="position&qu"
-"ot;>1</property>\n"
+" <property name="top_attach&"
+"quot;>7</property>\n"
+" <property name="bottom_atta"
+"ch">8</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
" </packing>\n"
" </child>\n"
" <child>\n"
-" <object class="GtkComboBoxEnt"
-"ry" id="tweak_PictureDenoise">\n"
+" <placeholder/>\n"
+" </child>\n"
+" <child>\n"
+" <object class="GtkEntry""
+" id="PictureDenoiseCustom">\n"
+" <property name="width_chars"
+"">8</property>\n"
" <signal name="changed""
" handler="setting_widget_changed_cb"/>\n"
" </object>\n"
" <packing>\n"
-" <property name="expand""
-";>False</property>\n"
-" <property name="position&qu"
-"ot;>2</property>\n"
+" <property name="top_attach&"
+"quot;>8</property>\n"
+" <property name="bottom_atta"
+"ch">9</property>\n"
+" <property name="left_attach"
+"">1</property>\n"
+" <property name="right_attac"
+"h">2</property>\n"
" </packing>\n"
" </child>\n"
" </object>\n"
+" </child>\n"
+"\n"
+" </object>\n"
" <packing>\n"
" <property name="expand">"
";False</property>\n"
-" <property name="padding"&g"
-"t;2</property>\n"
" <property name="position"&"
-"gt;5</property>\n"
+"gt;1</property>\n"
" </packing>\n"
" </child>\n"
" </object>\n"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <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"
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>AudioMixdown</key>\n"
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>AudioSamplerate</key>\n"
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>AudioTrackDRCSlider</key>\n"
" <string>AudioEncoder</string>\n"
" <string>ac3|dts</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>Mp4HttpOptimize</key>\n"
" <string>FileFormat</string>\n"
" <string>mp4|m4v</string>\n"
" <false />\n"
+" <true />\n"
" </array>\n"
" </array>\n"
" <key>Mp4LargeFile</key>\n"
" <string>FileFormat</string>\n"
" <string>mp4|m4v</string>\n"
" <false />\n"
+" <true />\n"
" </array>\n"
" </array>\n"
" <key>Mp4iPodCompatible</key>\n"
" <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"
" <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"
" <string>anamorphic</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>PictureLeftCrop</key>\n"
" <string>PictureAutoCrop</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>PictureRightCrop</key>\n"
" <string>PictureAutoCrop</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>PictureTopCrop</key>\n"
" <string>PictureAutoCrop</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoAvgBitrate</key>\n"
" <string>vquality_type_bitrate</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoQualitySlider</key>\n"
" <string>vquality_type_constant</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoTargetSize</key>\n"
" <string>vquality_type_target</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>VideoTurboTwoPass</key>\n"
" <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"
" <string>vquality_type_constant</string>\n"
" <string>TRUE</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_in_destination</key>\n"
" <string>use_source_name</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_label</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_list</key>\n"
" <string>ChapterMarkers</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>chapters_tab</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>constant_rate_factor</key>\n"
" <string>vquality_type_constant</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>directqp</key>\n"
" <string>VideoEncoder</string>\n"
" <string>x264|ffmpeg</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>end_chapter</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>picture_label</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>picture_tab</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>preview_frame</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>queue_add</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>queue_add_menu</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>scale_height</key>\n"
" <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"
" <string>autoscale</string>\n"
" <string>FALSE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>show_picture</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>show_preview_menu</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>start_chapter</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>title</key>\n"
" <string>title</string>\n"
" <string>none</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>title_no_in_destination</key>\n"
" <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"
" <string>x264_bframes</string>\n"
" <string><2</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_direct</key>\n"
" <string>x264_bframes</string>\n"
" <string>0</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_mixed_refs</key>\n"
" <string>x264_refs</string>\n"
" <string><2</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_tab</key>\n"
" <string>VideoEncoder</string>\n"
" <string>x264</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_tab_label</key>\n"
" <string>VideoEncoder</string>\n"
" <string>x264</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_trellis</key>\n"
" <string>x264_cabac</string>\n"
" <string>TRUE</string>\n"
" <false />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" <key>x264_weighted_bframes</key>\n"
" <string>x264_bframes</string>\n"
" <string>0</string>\n"
" <true />\n"
+" <false />\n"
" </array>\n"
" </array>\n"
" </dict>\n"
</object>
<packing>
<property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
</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="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="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">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>
<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>
<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>
<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>
<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>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<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>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<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>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>208</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<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>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioMixdown</key>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioSamplerate</key>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioTrackDRCSlider</key>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>Mp4HttpOptimize</key>
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4LargeFile</key>
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4iPodCompatible</key>
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
<array>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>PictureBottomCrop</key>
<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>
<string>anamorphic</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureLeftCrop</key>
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureRightCrop</key>
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureTopCrop</key>
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>VideoAvgBitrate</key>
<string>vquality_type_bitrate</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoQualitySlider</key>
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTargetSize</key>
<string>vquality_type_target</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTurboTwoPass</key>
<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>
<string>vquality_type_constant</string>
<string>TRUE</string>
<true />
+ <false />
</array>
</array>
<key>chapters_in_destination</key>
<string>use_source_name</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_label</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>chapters_list</key>
<string>ChapterMarkers</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_tab</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>constant_rate_factor</key>
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>directqp</key>
<string>VideoEncoder</string>
<string>x264|ffmpeg</string>
<false />
+ <false />
</array>
</array>
<key>end_chapter</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_label</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_tab</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>preview_frame</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add_menu</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>scale_height</key>
<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>
<string>autoscale</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>show_picture</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>show_preview_menu</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>start_chapter</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title_no_in_destination</key>
<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>
<string>x264_bframes</string>
<string><2</string>
<true />
+ <false />
</array>
</array>
<key>x264_direct</key>
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
<key>x264_mixed_refs</key>
<string>x264_refs</string>
<string><2</string>
<true />
+ <false />
</array>
</array>
<key>x264_tab</key>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_tab_label</key>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_trellis</key>
<string>x264_cabac</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>x264_weighted_bframes</key>
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
</dict>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<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>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<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>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>208</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<key>PictureDenoise</key>
<string>0</string>
<key>PictureDetelecine</key>
- <false />
+ <string>0</string>
<key>PictureHeight</key>
<integer>0</integer>
<key>PictureKeepRatio</key>
<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>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioMixdown</key>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioSamplerate</key>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>AudioTrackDRCSlider</key>
<string>AudioEncoder</string>
<string>ac3|dts</string>
<true />
+ <false />
</array>
</array>
<key>Mp4HttpOptimize</key>
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4LargeFile</key>
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
</array>
<key>Mp4iPodCompatible</key>
<string>FileFormat</string>
<string>mp4|m4v</string>
<false />
+ <true />
</array>
<array>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>PictureBottomCrop</key>
<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>
<string>anamorphic</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureLeftCrop</key>
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureRightCrop</key>
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>PictureTopCrop</key>
<string>PictureAutoCrop</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>VideoAvgBitrate</key>
<string>vquality_type_bitrate</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoQualitySlider</key>
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTargetSize</key>
<string>vquality_type_target</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>VideoTurboTwoPass</key>
<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>
<string>vquality_type_constant</string>
<string>TRUE</string>
<true />
+ <false />
</array>
</array>
<key>chapters_in_destination</key>
<string>use_source_name</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_label</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>chapters_list</key>
<string>ChapterMarkers</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>chapters_tab</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>constant_rate_factor</key>
<string>vquality_type_constant</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>directqp</key>
<string>VideoEncoder</string>
<string>x264|ffmpeg</string>
<false />
+ <false />
</array>
</array>
<key>end_chapter</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_label</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>picture_tab</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>preview_frame</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>queue_add_menu</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>scale_height</key>
<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>
<string>autoscale</string>
<string>FALSE</string>
<false />
+ <false />
</array>
</array>
<key>show_picture</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>show_preview_menu</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>start_chapter</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title</key>
<string>title</string>
<string>none</string>
<true />
+ <false />
</array>
</array>
<key>title_no_in_destination</key>
<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>
<string>x264_bframes</string>
<string><2</string>
<true />
+ <false />
</array>
</array>
<key>x264_direct</key>
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
<key>x264_mixed_refs</key>
<string>x264_refs</string>
<string><2</string>
<true />
+ <false />
</array>
</array>
<key>x264_tab</key>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_tab_label</key>
<string>VideoEncoder</string>
<string>x264</string>
<false />
+ <false />
</array>
</array>
<key>x264_trellis</key>
<string>x264_cabac</string>
<string>TRUE</string>
<false />
+ <false />
</array>
</array>
<key>x264_weighted_bframes</key>
<string>x264_bframes</string>
<string>0</string>
<true />
+ <false />
</array>
</array>
</dict>