1 /*****************************************************************************
2 * x264_gtk.h: h264 gtk encoder frontend
3 *****************************************************************************
4 * Copyright (C) 2006 Vincent Torri
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA.
19 *****************************************************************************/
25 #include "x264_gtk_enum.h"
27 typedef struct X264_Gtk_ X264_Gtk;
31 /* video properties */
42 gint statsfile_length; /* length of the filename (as returned by strlen) */
43 gchar statsfile_name[4095+1];
47 gint bframes_reduction;
48 gint bitrate_variability;
54 gint scene_cut_threshold;
55 gint min_idr_frame_interval;
56 gint max_idr_frame_interval;
60 gdouble vbv_buffer_init;
64 gint bframe; /* max consecutive B frames */
66 X264_Direct_Mode direct_mode;
69 X264_Partition_Decision partition_decision;
70 X264_Me_Method me_method;
83 X264_Debug_Method debug_method;
87 X264_Cqm_Preset cqm_preset;
88 gchar cqm_file[4095+1];
99 guint update_statfile : 1;
100 /* mb - partitions */
101 guint transform_8x8 : 1;
102 guint pframe_search_8 : 1;
103 guint bframe_search_8 : 1;
104 guint pframe_search_4 : 1;
105 guint inter_search_8 : 1;
106 guint inter_search_4 : 1;
108 guint bframe_pyramid : 1; /* use as reference */
110 guint bframe_adaptive : 1;
111 guint weighted_bipred : 1;
113 guint bframe_rdo : 1;
115 guint mixed_refs : 1;
116 guint fast_pskip : 1;
117 guint dct_decimate : 1;
120 /* more - misc - df */
121 guint deblocking_filter : 1;
124 x264_param_t *x264_gtk_param_get (X264_Gtk *x264_gtk);
125 X264_Gtk *x264_gtk_load (void);
126 GtkWidget *x264_gtk_window_create (GtkWidget *parent);
127 void x264_gtk_shutdown (GtkWidget *dialog);
128 void x264_gtk_free (X264_Gtk *x264_gtk);
131 #endif /* X264_GTK_H */