summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2016-08-23 11:25:42 -0700
committerJohn Stebbins <[email protected]>2016-08-23 11:25:42 -0700
commitfb216e222dad67ea8059aca11c0be8277f3455a5 (patch)
treed955834af0f1f7f557f921429626716563ce5c92
parentfd3aa29aaeef382eb14575b416cc95d569adb47a (diff)
LinGui: Add rotate filter
-rw-r--r--gtk/src/ghb-3.12.ui40
-rw-r--r--gtk/src/ghb-3.14.ui40
-rw-r--r--gtk/src/ghb.ui48
-rw-r--r--gtk/src/hb-backend.c19
4 files changed, 146 insertions, 1 deletions
diff --git a/gtk/src/ghb-3.12.ui b/gtk/src/ghb-3.12.ui
index 53179cee0..df4728539 100644
--- a/gtk/src/ghb-3.12.ui
+++ b/gtk/src/ghb-3.12.ui
@@ -3265,6 +3265,46 @@ SpatialLuma:SpatialChroma:TemporalLuma:TemporalChroma</property>
</object>
</child>
<child>
+ <object class="GtkGrid" id="table16">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">5</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <child>
+ <object class="GtkLabel" id="PictureRotateLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Rotate Filter:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="PictureRotate">
+ <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="width_request">100</property>
+ <property name="visible">True</property>
+ <property name="can_focus">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="tooltip_text" translatable="yes">Rotate the video in clockwise 90 degree increments.</property>
+ <signal name="changed" handler="deint_filter_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
<object class="GtkCheckButton" id="VideoGrayScale">
<property name="label" translatable="yes">Grayscale</property>
<property name="visible">True</property>
diff --git a/gtk/src/ghb-3.14.ui b/gtk/src/ghb-3.14.ui
index 731132735..7c5e00d3e 100644
--- a/gtk/src/ghb-3.14.ui
+++ b/gtk/src/ghb-3.14.ui
@@ -3266,6 +3266,46 @@ SpatialLuma:SpatialChroma:TemporalLuma:TemporalChroma</property>
</object>
</child>
<child>
+ <object class="GtkGrid" id="table16">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">5</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <child>
+ <object class="GtkLabel" id="PictureRotateLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Rotate Filter:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="PictureRotate">
+ <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="width_request">100</property>
+ <property name="visible">True</property>
+ <property name="can_focus">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="tooltip_text" translatable="yes">Rotate the video in clockwise 90 degree increments.</property>
+ <signal name="changed" handler="deint_filter_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
<object class="GtkCheckButton" id="VideoGrayScale">
<property name="label" translatable="yes">Grayscale</property>
<property name="visible">True</property>
diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui
index 3f3f6ba73..6ae3d6b9d 100644
--- a/gtk/src/ghb.ui
+++ b/gtk/src/ghb.ui
@@ -3293,6 +3293,52 @@ SpatialLuma:SpatialChroma:TemporalLuma:TemporalChroma</property>
</packing>
</child>
<child>
+ <object class="GtkGrid" id="table16">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">5</property>
+ <property name="halign">start</property>
+ <property name="valign">start</property>
+ <child>
+ <object class="GtkLabel" id="PictureRotateLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Rotate Filter:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="PictureRotate">
+ <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="width_request">100</property>
+ <property name="visible">True</property>
+ <property name="can_focus">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="tooltip_text" translatable="yes">Rotate the video in clockwise 90 degree increments.</property>
+ <signal name="changed" handler="deint_filter_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkCheckButton" id="VideoGrayScale">
<property name="label" translatable="yes">Grayscale</property>
<property name="visible">True</property>
@@ -3307,7 +3353,7 @@ SpatialLuma:SpatialChroma:TemporalLuma:TemporalChroma</property>
</object>
<packing>
<property name="top_attach">1</property>
- <property name="left_attach">2</property>
+ <property name="left_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c
index 3afd41a83..5feababa5 100644
--- a/gtk/src/hb-backend.c
+++ b/gtk/src/hb-backend.c
@@ -220,6 +220,19 @@ combo_opts_t denoise_opts =
d_denoise_opts
};
+static options_map_t d_rotate_opts[] =
+{
+ {N_("Off"), "disable=1", 0, ""},
+ {N_("90 Degrees"), "angle=90", 90, ""},
+ {N_("180 Degrees"), "angle=180", 180, ""},
+ {N_("270 Degrees"), "angle=270", 270, ""},
+};
+combo_opts_t rotate_opts =
+{
+ sizeof(d_rotate_opts)/sizeof(options_map_t),
+ d_rotate_opts
+};
+
static options_map_t d_direct_opts[] =
{
{N_("None"), "none", 0, "none"},
@@ -541,6 +554,12 @@ combo_name_map_t combo_name_map[] =
filter_opt_get
},
{
+ "PictureRotate",
+ &rotate_opts,
+ small_opts_set,
+ generic_opt_get
+ },
+ {
"x264_direct",
&direct_opts,
small_opts_set,