From 4ea3dab16a1e564ce51ef7f8c9d19016fe0c7311 Mon Sep 17 00:00:00 2001 From: jstebbins Date: Fri, 18 Jun 2010 17:31:46 +0000 Subject: [PATCH] LinGui: change psy_trellis increments to 0.05 git-svn-id: svn://localhost/HandBrake/trunk@3387 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- gtk/src/ghb.ui | 40 ++++++---------------------------------- gtk/src/x264handler.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 34 deletions(-) diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui index db1590f3..a7111890 100644 --- a/gtk/src/ghb.ui +++ b/gtk/src/ghb.ui @@ -121,22 +121,6 @@ 0 20.25 - - 4 - 0 - 1 - 0.2 - 0 - 2.6 - - - 4 - 1 - 0.20000000000000001 - 0.20000000000000001 - 0 - 2.3999999999999999 - 16 1 @@ -181,7 +165,7 @@ 1 0 0.5 - 0.1 + 0.05 0 0 @@ -249,22 +233,6 @@ 0 0 - - 99999 - 0 - 60 - 1 - 0 - 99999 - - - 99999 - 1 - 60 - 1 - 0 - 0 - 1 0 @@ -3246,6 +3214,7 @@ Optimal mode gets slower as the maximum number of B-Frames increases, but makes False GTK_POS_RIGHT + 1 @@ -3276,6 +3245,7 @@ Optimal mode gets slower as the maximum number of B-Frames increases, but makes False GTK_POS_RIGHT + 1 @@ -3305,9 +3275,11 @@ Optimal mode gets slower as the maximum number of B-Frames increases, but makes GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Psychovisual trellis is an experimental algorithm to further improve sharpness and detail retention beyond what Psychovisual RD does. Recommended values are around 0.2, though higher values may help for very grainy video or lower bitrate encodes. Not recommended for cel animation and other sharp-edged graphics. adjustment23 + 2 False GTK_POS_RIGHT - + + 2 diff --git a/gtk/src/x264handler.c b/gtk/src/x264handler.c index 2368801a..11be36eb 100644 --- a/gtk/src/x264handler.c +++ b/gtk/src/x264handler.c @@ -42,6 +42,38 @@ x264_widget_changed_cb(GtkWidget *widget, signal_user_data_t *ud) } G_MODULE_EXPORT void +x264_slider_changed_cb(GtkWidget *widget, signal_user_data_t *ud) +{ + ghb_widget_to_setting(ud->settings, widget); + + // Lock slider values to multiples of step_increment + GtkAdjustment * adj = gtk_range_get_adjustment(GTK_RANGE(widget)); + gdouble step = gtk_adjustment_get_step_increment(adj); + gdouble val = gtk_range_get_value(GTK_RANGE(widget)); + gdouble new_val = ((int)((val + step / 2) / step)) * step; + gdouble diff = val - new_val; + if ( diff > 0.0001 || diff < -0.0001 ) + { + gtk_range_set_value(GTK_RANGE(widget), new_val); + } + else if (!ignore_options_update) + { + ignore_options_update = TRUE; + x264_opt_update(ud, widget); + ignore_options_update = FALSE; + } + ghb_check_dependency(ud, widget, NULL); + ghb_clear_presets_selection(ud); +} + +G_MODULE_EXPORT gchar* +x264_format_slider_cb(GtkScale *scale, gdouble val, signal_user_data_t *ud) +{ + return g_strdup_printf("%-6.6g", val); +} + + +G_MODULE_EXPORT void x264_me_changed_cb(GtkWidget *widget, signal_user_data_t *ud) { gint me; -- 2.11.0