1 /*****************************************************************************
2 * x264_gtk_private.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 *****************************************************************************/
21 #ifndef X264_GTK_PRIVATE_H
22 #define X264_GTK_PRIVATE_H
25 #include <common/osdep.h>
28 typedef struct Bitrate_ Bitrate;
29 typedef struct Rate_Control_ Rate_Control;
30 typedef struct MB_ MB;
31 typedef struct More_ More;
32 typedef struct Cqm_ Cqm;
33 typedef struct Zones_ Zones;
34 typedef struct X264_Gui_Config_ X264_Gui_Config;
35 typedef struct X264_Gui_Zone_ X264_Gui_Zone;
41 GtkWidget *w_quantizer;
42 GtkWidget *w_average_bitrate;
43 GtkWidget *w_target_bitrate;
45 GtkWidget *update_statfile;
46 GtkWidget *statsfile_name;
54 GtkWidget *keyframe_boost;
55 GtkWidget *bframes_reduction;
56 GtkWidget *bitrate_variability;
59 /* Quantization Limits */
64 GtkWidget *max_qp_step;
70 GtkWidget *scene_cut_threshold;
71 GtkWidget *min_idr_frame_interval;
72 GtkWidget *max_idr_frame_interval;
78 GtkWidget *vbv_max_bitrate;
79 GtkWidget *vbv_buffer_size;
80 GtkWidget *vbv_buffer_init;
90 GtkWidget *transform_8x8;
91 GtkWidget *pframe_search_8;
92 GtkWidget *bframe_search_8;
93 GtkWidget *pframe_search_4;
94 GtkWidget *inter_search_8;
95 GtkWidget *inter_search_4;
101 GtkWidget *bframe_pyramid;
103 GtkWidget *bframe_adaptive;
104 GtkWidget *weighted_bipred;
106 GtkWidget *bframe_bias;
107 GtkWidget *direct_mode;
114 /* Motion estimation */
117 GtkWidget *partition_decision;
120 GtkWidget *chroma_me;
121 GtkWidget *max_ref_frames;
122 GtkWidget *mixed_refs;
123 GtkWidget *fast_pskip;
124 GtkWidget *dct_decimate;
130 GtkWidget *sample_ar_x;
131 GtkWidget *sample_ar_y;
135 GtkWidget *noise_reduction;
139 GtkWidget *deblocking_filter;
141 GtkWidget *threshold;
148 GtkWidget *log_level;
156 GtkWidget *radio_flat;
157 GtkWidget *radio_jvt;
158 GtkWidget *radio_custom;
160 GtkWidget *cqm_4iy[16];
161 GtkWidget *cqm_4ic[16];
162 GtkWidget *cqm_4py[16];
163 GtkWidget *cqm_4pc[16];
164 GtkWidget *cqm_8iy[64];
165 GtkWidget *cqm_8py[64];
170 GtkWidget *list_zones;
173 struct X264_Gui_Config_
176 Rate_Control rate_control;
183 struct X264_Gui_Zone_
185 GtkWidget *entry_start_frame;
188 GtkWidget *entry_weight;
191 gchar *x264_gtk_path (const char* more_path);
194 #endif /* X264_GTK_PRIVATE_H */