diff options
author | jstebbins <[email protected]> | 2009-02-11 23:53:48 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2009-02-11 23:53:48 +0000 |
commit | dcbd58dc1a156db5feadfbe5579478f2bbd9eb82 (patch) | |
tree | 0d570905445d4a1b77a7782a37a193af952e9d4c | |
parent | 7556f1aa51659a9d5aa96e6f7b8e0e9dcf165248 (diff) |
LinGui: add b-adapt combo box to x264 tab
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2147 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | gtk/src/ghb.ui | 82 | ||||
-rw-r--r-- | gtk/src/hb-backend.c | 14 | ||||
-rw-r--r-- | gtk/src/internal_defaults.xml | 2 | ||||
-rw-r--r-- | gtk/src/makedeps.c | 1 | ||||
-rw-r--r-- | gtk/src/resource_data.h | 152 | ||||
-rw-r--r-- | gtk/src/resources.plist | 94 | ||||
-rw-r--r-- | gtk/src/widget_deps | 1 | ||||
-rw-r--r-- | gtk/src/widget_reverse_deps | 9 | ||||
-rw-r--r-- | gtk/src/x264handler.c | 5 |
9 files changed, 269 insertions, 91 deletions
diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui index fe91aaf04..01a55902b 100644 --- a/gtk/src/ghb.ui +++ b/gtk/src/ghb.ui @@ -2180,11 +2180,12 @@ <object class="GtkHBox" id="hbox31"> <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="spacing">4</property> <child> <object class="GtkLabel" id="label49"> <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="label" translatable="yes">Number: </property> + <property name="label" translatable="yes">Number:</property> </object> <packing> <property name="expand">False</property> @@ -2258,25 +2259,26 @@ <object class="GtkVBox" id="vbox24"> <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="spacing">2</property> <child> - <object class="GtkHBox" id="hbox32"> + <object class="GtkTable" id="table4"> <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="n_rows">3</property> + <property name="n_columns">2</property> + <property name="column-spacing">4</property> <child> <object class="GtkLabel" id="label51"> <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">Number: </property> - <property name="width_chars">14</property> + <property name="label" translatable="yes">Number:</property> </object> <packing> - <property name="expand">False</property> + <property name="x_options">GTK_FILL</property> </packing> </child> <child> - <object class="GtkAlignment" id="alignment27"> + <object class="GtkAlignment" id="alignment38"> <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> @@ -2293,32 +2295,25 @@ </child> </object> <packing> - <property name="position">1</property> + <property name="left_attach">1</property> + <property name="right_attach">2</property> </packing> </child> - </object> - <packing> - <property name="expand">False</property> - </packing> - </child> - <child> - <object class="GtkHBox" id="hbox33"> - <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="label52"> <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">Direct Prediction: </property> - <property name="width_chars">14</property> + <property name="label" translatable="yes">Direct Prediction:</property> </object> <packing> - <property name="expand">False</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> </packing> </child> <child> - <object class="GtkAlignment" id="alignment28"> + <object class="GtkAlignment" id="alignment39"> <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> @@ -2333,13 +2328,50 @@ </child> </object> <packing> - <property name="position">1</property> + <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> + <object class="GtkLabel" id="label84"> + <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">Adaptive B-Frames:</property> + </object> + <packing> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment40"> + <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="xscale">0</property> + <child> + <object class="GtkComboBox" id="x264_b_adapt"> + <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="tooltip-text" translatable="yes">This option can improve compression efficiency. </property> + <signal handler="x264_widget_changed_cb" name="changed"/> + </object> + </child> + </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> </object> <packing> - <property name="expand">False</property> - <property name="position">1</property> + <property name="position">0</property> </packing> </child> @@ -2381,7 +2413,7 @@ </object> <packing> - <property name="position">2</property> + <property name="position">1</property> </packing> </child> diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c index 523a495d0..4f807f853 100644 --- a/gtk/src/hb-backend.c +++ b/gtk/src/hb-backend.c @@ -182,6 +182,18 @@ combo_opts_t direct_opts = d_direct_opts }; +static options_map_t d_badapt_opts[] = +{ + {"Off", "0", 0, "0"}, + {"Faster", "1", 1, "1"}, + {"More Effecient", "2", 2, "2"}, +}; +combo_opts_t badapt_opts = +{ + sizeof(d_badapt_opts)/sizeof(options_map_t), + d_badapt_opts +}; + static options_map_t d_me_opts[] = { {"Diamond", "dia", 0, "dia"}, @@ -274,6 +286,7 @@ combo_name_map_t combo_name_map[] = {"VideoEncoder", &vcodec_opts}, {"AudioEncoder", &acodec_opts}, {"x264_direct", &direct_opts}, + {"x264_b_adapt", &badapt_opts}, {"x264_me", &me_opts}, {"x264_subme", &subme_opts}, {"x264_analyse", &analyse_opts}, @@ -1919,6 +1932,7 @@ ghb_update_ui_combo_box(GtkBuilder *builder, const gchar *name, gint user_data, generic_opts_set(builder, "VideoEncoder", &vcodec_opts); generic_opts_set(builder, "AudioEncoder", &acodec_opts); generic_opts_set(builder, "x264_direct", &direct_opts); + generic_opts_set(builder, "x264_b_adapt", &badapt_opts); generic_opts_set(builder, "x264_me", &me_opts); generic_opts_set(builder, "x264_subme", &subme_opts); generic_opts_set(builder, "x264_analyse", &analyse_opts); diff --git a/gtk/src/internal_defaults.xml b/gtk/src/internal_defaults.xml index 6cd672ef3..b1e9a3f07 100644 --- a/gtk/src/internal_defaults.xml +++ b/gtk/src/internal_defaults.xml @@ -56,6 +56,8 @@ <integer>0</integer> <key>x264_direct</key> <string>spatial</string> + <key>x264_b_adapt</key> + <string>1</string> <key>x264_me</key> <string>hex</string> <key>x264_merange</key> diff --git a/gtk/src/makedeps.c b/gtk/src/makedeps.c index c39e3d577..69898830b 100644 --- a/gtk/src/makedeps.c +++ b/gtk/src/makedeps.c @@ -65,6 +65,7 @@ static dependency_t dep_map[] = {"x264_bframes", "x264_weighted_bframes", "0", TRUE, FALSE}, {"x264_bframes", "x264_bpyramid", "<2", TRUE, FALSE}, {"x264_bframes", "x264_direct", "0", TRUE, FALSE}, + {"x264_bframes", "x264_b_adapt", "0", TRUE, FALSE}, {"x264_refs", "x264_mixed_refs", "<2", TRUE, FALSE}, {"x264_cabac", "x264_trellis", "TRUE", FALSE, FALSE}, {"x264_subme", "x264_psy_rd", "<6", TRUE, FALSE}, diff --git a/gtk/src/resource_data.h b/gtk/src/resource_data.h index 3de99671b..60dc6c42a 100644 --- a/gtk/src/resource_data.h +++ b/gtk/src/resource_data.h @@ -3495,6 +3495,8 @@ " <property name="events&" "quot;>GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_B" "UTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n" +" <property name="spacing" +"">4</property>\n" " <child>\n" " <object class="GtkLab" "el" id="label49">\n" @@ -3504,7 +3506,7 @@ "nts">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | G" "DK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n" " <property name="lab" -"el" translatable="yes">Number: </property>\n" +"el" translatable="yes">Number:</property>\n" " </object>\n" " <packing>\n" " <property name="exp" @@ -3633,16 +3635,20 @@ " <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="spacing&quo" -"t;>2</property>\n" " <child>\n" -" <object class="GtkHBox&qu" -"ot; id="hbox32">\n" +" <object class="GtkTable&q" +"uot; id="table4">\n" " <property name="visible" "">True</property>\n" " <property name="events&" "quot;>GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_B" "UTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n" +" <property name="n_rows&" +"quot;>3</property>\n" +" <property name="n_colum" +"ns">2</property>\n" +" <property name="column-" +"spacing">4</property>\n" " <child>\n" " <object class="GtkLab" "el" id="label51">\n" @@ -3654,18 +3660,16 @@ " <property name="xal" "ign">0</property>\n" " <property name="lab" -"el" translatable="yes">Number: </property>\n" -" <property name="wid" -"th_chars">14</property>\n" +"el" translatable="yes">Number:</property>\n" " </object>\n" " <packing>\n" -" <property name="exp" -"and">False</property>\n" +" <property name="x_o" +"ptions">GTK_FILL</property>\n" " </packing>\n" " </child>\n" " <child>\n" " <object class="GtkAli" -"gnment" id="alignment27">\n" +"gnment" id="alignment38">\n" " <property name="vis" "ible">True</property>\n" " <property name="eve" @@ -3698,24 +3702,12 @@ " </child>\n" " </object>\n" " <packing>\n" -" <property name="pos" -"ition">1</property>\n" +" <property name="lef" +"t_attach">1</property>\n" +" <property name="rig" +"ht_attach">2</property>\n" " </packing>\n" " </child>\n" -" </object>\n" -" <packing>\n" -" <property name="expand&" -"quot;>False</property>\n" -" </packing>\n" -" </child>\n" -" <child>\n" -" <object class="GtkHBox&qu" -"ot; id="hbox33">\n" -" <property name="visible" -"">True</property>\n" -" <property name="events&" -"quot;>GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_B" -"UTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n" " <child>\n" " <object class="GtkLab" "el" id="label52">\n" @@ -3727,19 +3719,21 @@ " <property name="xal" "ign">0</property>\n" " <property name="lab" -"el" translatable="yes">Direct Prediction: </prope" -"rty>\n" -" <property name="wid" -"th_chars">14</property>\n" +"el" translatable="yes">Direct Prediction:</propert" +"y>\n" " </object>\n" " <packing>\n" -" <property name="exp" -"and">False</property>\n" +" <property name="top" +"_attach">1</property>\n" +" <property name="bot" +"tom_attach">2</property>\n" +" <property name="x_o" +"ptions">GTK_FILL</property>\n" " </packing>\n" " </child>\n" " <child>\n" " <object class="GtkAli" -"gnment" id="alignment28">\n" +"gnment" id="alignment39">\n" " <property name="vis" "ible">True</property>\n" " <property name="eve" @@ -3766,16 +3760,82 @@ " </child>\n" " </object>\n" " <packing>\n" -" <property name="pos" -"ition">1</property>\n" +" <property name="top" +"_attach">1</property>\n" +" <property name="bot" +"tom_attach">2</property>\n" +" <property name="lef" +"t_attach">1</property>\n" +" <property name="rig" +"ht_attach">2</property>\n" +" </packing>\n" +" </child>\n" +" <child>\n" +" <object class="GtkLab" +"el" id="label84">\n" +" <property name="vis" +"ible">True</property>\n" +" <property name="eve" +"nts">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | G" +"DK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n" +" <property name="xal" +"ign">0</property>\n" +" <property name="lab" +"el" translatable="yes">Adaptive B-Frames:</propert" +"y>\n" +" </object>\n" +" <packing>\n" +" <property name="top" +"_attach">2</property>\n" +" <property name="bot" +"tom_attach">3</property>\n" +" <property name="x_o" +"ptions">GTK_FILL</property>\n" +" </packing>\n" +" </child>\n" +" <child>\n" +" <object class="GtkAli" +"gnment" id="alignment40">\n" +" <property name="vis" +"ible">True</property>\n" +" <property name="eve" +"nts">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | G" +"DK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n" +" <property name="xal" +"ign">0</property>\n" +" <property name="xsc" +"ale">0</property>\n" +" <child>\n" +" <object class="Gt" +"kComboBox" id="x264_b_adapt">\n" +" <property name="" +";visible">True</property>\n" +" <property name="" +";events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK" +" | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>\n" +" <property name="" +";tooltip-text" translatable="yes">This option can imp" +"rove compression efficiency. </property>\n" +" <signal handler=&quo" +"t;x264_widget_changed_cb" name="changed"/>\n" +" </object>\n" +" </child>\n" +" </object>\n" +" <packing>\n" +" <property name="top" +"_attach">2</property>\n" +" <property name="bot" +"tom_attach">3</property>\n" +" <property name="lef" +"t_attach">1</property>\n" +" <property name="rig" +"ht_attach">2</property>\n" " </packing>\n" " </child>\n" " </object>\n" " <packing>\n" -" <property name="expand&" -"quot;>False</property>\n" " <property name="positio" -"n">1</property>\n" +"n">0</property>\n" " </packing>\n" " </child>\n" "\n" @@ -3852,7 +3912,7 @@ " </object>\n" " <packing>\n" " <property name="positio" -"n">2</property>\n" +"n">1</property>\n" " </packing>\n" " </child>\n" "\n" @@ -11050,6 +11110,8 @@ " <false />\n" " <key>x264_analyse</key>\n" " <string>some</string>\n" +" <key>x264_b_adapt</key>\n" +" <string>1</string>\n" " <key>x264_bframes</key>\n" " <integer>0</integer>\n" " <key>x264_bpyramid</key>\n" @@ -12975,6 +13037,7 @@ " <string>x264_weighted_bframes</string>\n" " <string>x264_bpyramid</string>\n" " <string>x264_direct</string>\n" +" <string>x264_b_adapt</string>\n" " </array>\n" " <key>x264_cabac</key>\n" " <array>\n" @@ -13387,6 +13450,15 @@ " <false />\n" " </array>\n" " </array>\n" +" <key>x264_b_adapt</key>\n" +" <array>\n" +" <array>\n" +" <string>x264_bframes</string>\n" +" <string>0</string>\n" +" <true />\n" +" <false />\n" +" </array>\n" +" </array>\n" " <key>x264_bpyramid</key>\n" " <array>\n" " <array>\n" diff --git a/gtk/src/resources.plist b/gtk/src/resources.plist index 08b1f3dda..126d000ef 100644 --- a/gtk/src/resources.plist +++ b/gtk/src/resources.plist @@ -2185,11 +2185,12 @@ <object class="GtkHBox" id="hbox31"> <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="spacing">4</property> <child> <object class="GtkLabel" id="label49"> <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="label" translatable="yes">Number: </property> + <property name="label" translatable="yes">Number:</property> </object> <packing> <property name="expand">False</property> @@ -2263,25 +2264,26 @@ <object class="GtkVBox" id="vbox24"> <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="spacing">2</property> <child> - <object class="GtkHBox" id="hbox32"> + <object class="GtkTable" id="table4"> <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="n_rows">3</property> + <property name="n_columns">2</property> + <property name="column-spacing">4</property> <child> <object class="GtkLabel" id="label51"> <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">Number: </property> - <property name="width_chars">14</property> + <property name="label" translatable="yes">Number:</property> </object> <packing> - <property name="expand">False</property> + <property name="x_options">GTK_FILL</property> </packing> </child> <child> - <object class="GtkAlignment" id="alignment27"> + <object class="GtkAlignment" id="alignment38"> <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> @@ -2298,32 +2300,25 @@ </child> </object> <packing> - <property name="position">1</property> + <property name="left_attach">1</property> + <property name="right_attach">2</property> </packing> </child> - </object> - <packing> - <property name="expand">False</property> - </packing> - </child> - <child> - <object class="GtkHBox" id="hbox33"> - <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="label52"> <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">Direct Prediction: </property> - <property name="width_chars">14</property> + <property name="label" translatable="yes">Direct Prediction:</property> </object> <packing> - <property name="expand">False</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">GTK_FILL</property> </packing> </child> <child> - <object class="GtkAlignment" id="alignment28"> + <object class="GtkAlignment" id="alignment39"> <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> @@ -2338,13 +2333,50 @@ </child> </object> <packing> - <property name="position">1</property> + <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> + <object class="GtkLabel" id="label84"> + <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">Adaptive B-Frames:</property> + </object> + <packing> + <property name="top_attach">2</property> + <property name="bottom_attach">3</property> + <property name="x_options">GTK_FILL</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment40"> + <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="xscale">0</property> + <child> + <object class="GtkComboBox" id="x264_b_adapt"> + <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="tooltip-text" translatable="yes">This option can improve compression efficiency. </property> + <signal handler="x264_widget_changed_cb" name="changed"/> + </object> + </child> + </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> </object> <packing> - <property name="expand">False</property> - <property name="position">1</property> + <property name="position">0</property> </packing> </child> @@ -2386,7 +2418,7 @@ </object> <packing> - <property name="position">2</property> + <property name="position">1</property> </packing> </child> @@ -5484,6 +5516,8 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A <false /> <key>x264_analyse</key> <string>some</string> + <key>x264_b_adapt</key> + <string>1</string> <key>x264_bframes</key> <integer>0</integer> <key>x264_bpyramid</key> @@ -7367,6 +7401,7 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A <string>x264_weighted_bframes</string> <string>x264_bpyramid</string> <string>x264_direct</string> + <string>x264_b_adapt</string> </array> <key>x264_cabac</key> <array> @@ -7779,6 +7814,15 @@ R2RrUAAABBgBAQACAAAAQAAAABAAAAAQ////AP///wD///8A////AP///wD///8A////AP///wD///8A <false /> </array> </array> + <key>x264_b_adapt</key> + <array> + <array> + <string>x264_bframes</string> + <string>0</string> + <true /> + <false /> + </array> + </array> <key>x264_bpyramid</key> <array> <array> diff --git a/gtk/src/widget_deps b/gtk/src/widget_deps index 1a1cbb178..0eeb9e38c 100644 --- a/gtk/src/widget_deps +++ b/gtk/src/widget_deps @@ -108,6 +108,7 @@ <string>x264_weighted_bframes</string> <string>x264_bpyramid</string> <string>x264_direct</string> + <string>x264_b_adapt</string> </array> <key>x264_cabac</key> <array> diff --git a/gtk/src/widget_reverse_deps b/gtk/src/widget_reverse_deps index 586d40043..30a4fa76d 100644 --- a/gtk/src/widget_reverse_deps +++ b/gtk/src/widget_reverse_deps @@ -392,6 +392,15 @@ <false /> </array> </array> + <key>x264_b_adapt</key> + <array> + <array> + <string>x264_bframes</string> + <string>0</string> + <true /> + <false /> + </array> + </array> <key>x264_bpyramid</key> <array> <array> diff --git a/gtk/src/x264handler.c b/gtk/src/x264handler.c index 26c5c359b..cad604999 100644 --- a/gtk/src/x264handler.c +++ b/gtk/src/x264handler.c @@ -140,6 +140,7 @@ struct x264_opt_map_s static gchar *x264_ref_syns[] = {"ref", "frameref", NULL}; static gchar *x264_mixed_syns[] = {"mixed-refs", "mixed_refs", NULL}; static gchar *x264_bframes_syns[] = {"bframes", NULL}; +static gchar *x264_badapt_syns[] = {"b-adapt", "b_adapt", NULL}; static gchar *x264_direct_syns[] = {"direct", "direct-pred", "direct_pred", NULL}; static gchar *x264_weightb_syns[] = {"weightb", "weight-b", "weight_b", NULL}; @@ -152,7 +153,7 @@ static gchar *x264_8x8dct_syns[] = {"8x8dct", NULL}; static gchar *x264_deblock_syns[] = {"deblock", "filter", NULL}; static gchar *x264_trellis_syns[] = {"trellis", NULL}; static gchar *x264_pskip_syns[] = {"no-fast-pskip", "no_fast_pskip", NULL}; -static gchar *x264_psy_syns[] = {"psy-rd", NULL}; +static gchar *x264_psy_syns[] = {"psy-rd", "psy_rd", NULL}; static gchar *x264_decimate_syns[] = {"no-dct-decimate", "no_dct_decimate", NULL}; static gchar *x264_cabac_syns[] = {"cabac", NULL}; @@ -175,6 +176,7 @@ struct x264_opt_map_s x264_opt_map[] = {x264_mixed_syns, "x264_mixed_refs", "0", X264_OPT_BOOL}, {x264_bframes_syns, "x264_bframes", "0", X264_OPT_INT}, {x264_direct_syns, "x264_direct", "spatial", X264_OPT_COMBO}, + {x264_badapt_syns, "x264_b_adapt", "1", X264_OPT_COMBO}, {x264_weightb_syns, "x264_weighted_bframes", "0", X264_OPT_BOOL}, {x264_bpyramid_syns, "x264_bpyramid", "0", X264_OPT_BOOL}, {x264_me_syns, "x264_me", "hex", X264_OPT_COMBO}, @@ -664,6 +666,7 @@ sanitize_x264opts(signal_user_data_t *ud, const gchar *options) { x264_remove_opt(split, x264_weightb_syns); x264_remove_opt(split, x264_direct_syns); + x264_remove_opt(split, x264_badapt_syns); } if (bframes <= 1) { |