summaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2012-12-31 17:19:49 +0000
committerjstebbins <[email protected]>2012-12-31 17:19:49 +0000
commit5ec51be789cc39bcfb0abfcaa19d2ce1720e69b8 (patch)
tree6265976da215d7ff081c9eddda627faeafa168c6 /gtk
parent01d1b85d7adecdc588d5450ee43c52809c0b1c3f (diff)
LinGui: filter out high444 from h264 profiles
and force profile to auto when RF < 1.0 and fix a problem with video quality slider digits display when changing granularity in preferences. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5125 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'gtk')
-rw-r--r--gtk/src/callbacks.c7
-rw-r--r--gtk/src/hb-backend.c4
2 files changed, 10 insertions, 1 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c
index 7fd616ab4..0f99948b9 100644
--- a/gtk/src/callbacks.c
+++ b/gtk/src/callbacks.c
@@ -1780,6 +1780,12 @@ vquality_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
ghb_clear_presets_selection(ud);
ghb_live_reset(ud);
+ double vquality = ghb_settings_get_double(ud->settings, "VideoQualitySlider");
+ if (vquality < 1.0)
+ {
+ ghb_ui_update(ud, "h264Profile", ghb_string_value("auto"));
+ }
+
gint vcodec = ghb_settings_combo_int(ud->settings, "VideoEncoder");
gdouble step;
if (vcodec == HB_VCODEC_X264)
@@ -3869,6 +3875,7 @@ vqual_granularity_changed_cb(GtkWidget *widget, signal_user_data_t *ud)
ghb_vquality_range(ud, &vqmin, &vqmax, &step, &page, &digits, &inverted);
GtkWidget *qp = GHB_WIDGET(ud->builder, "VideoQualitySlider");
gtk_range_set_increments (GTK_RANGE(qp), step, page);
+ gtk_scale_set_digits(GTK_SCALE(qp), digits);
}
G_MODULE_EXPORT void
diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c
index e1e4187d3..38ccb00c9 100644
--- a/gtk/src/hb-backend.c
+++ b/gtk/src/hb-backend.c
@@ -2109,7 +2109,8 @@ x264_profile_opts_set(GtkBuilder *builder, const gchar *name)
// HandBrake doesn't support high10 (10 bit encoding)
// or high422 (YUV422)
if (!strcasecmp("high10", profiles[ii]) ||
- !strcasecmp("high422", profiles[ii]))
+ !strcasecmp("high422", profiles[ii]) ||
+ !strcasecmp("high444", profiles[ii]))
{
continue;
}
@@ -4648,6 +4649,7 @@ ghb_validate_vquality(GValue *settings)
return FALSE;
}
g_free(message);
+ ghb_settings_set_string(settings, "h264Profile", "auto");
}
else if (vquality < min || vquality > max)
{