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