1 #include "config.h"
2 #include "ADM_toolkitGtk.h"
3 #include "DIA_fileSel.h"
4 #include "DIA_coreToolkit.h"
5 
6 #ifdef USE_XVID_4
7 #include "ADM_encoder/ADM_vidEncode.hxx"
8 
9 #include "ADM_codecs/ADM_xvid4param.h"
10 #include "avi_vars.h"
11 static xvid4EncParam localParam;
12 static uint32_t mQ,mB,mS,mA;
13 static GtkWidget *dialog=NULL;
14 static COMPRESSION_MODE mMode;
15 
16 
17 static GtkWidget *create_dialog1 (void);
18 static GtkWidget *create_dialog3 (void);
19 
20 static void xvid4otherUpload(GtkWidget *dialog);
21 static void xvid4otherDownload(GtkWidget *dialog);
22 static uint8_t editMatrix(uint8_t *inter, uint8_t *intra);
23 static void updateMode( void );
24 
25 static int cb_mod(GtkObject * object, gpointer user_data);
26 static int ch_par_asinput(GtkObject * object, gpointer user_data);
27 
28 #define CALL_Z(x,y)  gtk_dialog_add_action_widget (GTK_DIALOG (dialog), WID(x),XVID4_RESPONSE_##y);
29 
30 typedef enum
31 {
32     XVID4_RESPONSE_MODE_CHANGED,
33     XVID4_RESPONSE_EDIT_MATRIX,
34     XVID4_RESPONSE_LOAD_MATRIX,
35     XVID4_RESPONSE_SAVE_MATRIX,
36     XVID4_RESPONSE_LAST,
37 }XVID4_CODE;
DIA_xvid4(COMPRES_PARAMS * incoming)38 uint8_t DIA_xvid4(COMPRES_PARAMS *incoming)
39 {
40 int b;
41 int ret=0;
42 int code;
43       ADM_assert(incoming->extraSettingsLen==sizeof(localParam));
44       memcpy(&localParam,incoming->extraSettings,sizeof(localParam));
45       dialog=create_dialog1();
46 
47 	gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
48 										GTK_RESPONSE_OK,
49 										GTK_RESPONSE_CANCEL,
50 										-1);
51       gtk_register_dialog(dialog);
52 
53 #define HIST_SET(x) gtk_option_menu_set_history(GTK_OPTION_MENU(WID(optionmenuType)), x)
54 #define VAL_SET(x) gtk_write_entry(WID(entryEntry), x)
55 
56       mQ=incoming->qz;
57       mB=incoming->bitrate; // in kbits
58       mS=incoming->finalsize;
59       mA=incoming->avg_bitrate;
60       mMode=incoming->mode;
61       updateMode();
62 
63       xvid4otherUpload(dialog);
64       gtk_signal_connect(GTK_OBJECT(WID(optionmenuType)), "changed",
65                       GTK_SIGNAL_FUNC(cb_mod),                   (void *) 0);
66 
67       gtk_signal_connect(GTK_OBJECT(WID(checkbutton_par_asinput)), "clicked",
68                       GTK_SIGNAL_FUNC(ch_par_asinput),                   (void *) 0);
69 
70     CALL_Z(buttonCreateCustomMatrix,EDIT_MATRIX);
71     CALL_Z(buttonLoadMatrix,LOAD_MATRIX);
72 
73 _again:
74         code=gtk_dialog_run(GTK_DIALOG(dialog));
75         if(code==XVID4_RESPONSE_EDIT_MATRIX)
76         {
77           uint8_t intra[64],inter[64];
78               memcpy(intra,localParam.intraMatrix,64);
79               memcpy(inter,localParam.interMatrix,64);
80               if(editMatrix(intra,inter))
81               {
82                     memcpy(localParam.intraMatrix,intra,64);
83                     memcpy(localParam.interMatrix,inter,64);
84               }
85               goto _again;
86         }
87         if(code==XVID4_RESPONSE_LOAD_MATRIX)
88         {
89           uint8_t intra[64],inter[64];
90           char *name;
91           FILE *file=NULL;
92           GUI_FileSelRead(QT_TR_NOOP("Select Xvid matrix file to load"), &name);
93                if(!name)
94                {
95                     goto _again;
96                }
97               printf("Loading Matrix\n");
98               file=fopen(name,"rb");
99               if(!file)
100               {
101 _erLoad:
102                   if(name) ADM_dealloc(name);
103                   if(file) fclose(file);
104                   GUI_Error_HIG(QT_TR_NOOP("Error Loading"),QT_TR_NOOP("Error loadind the custom matrix file."));
105                   goto _again;
106               }
107               // Read it
108               if(64!=fread(intra,1,64,file))
109               {
110                   printf("Error reading intra\n");
111                   goto _erLoad;
112               }
113               if(64!=fread(inter,1,64,file))
114               {
115                   printf("Error reading inter\n");
116                   goto _erLoad;
117               }
118               // Ok
119               fclose(file);
120               memcpy(localParam.intraMatrix,intra,64);
121               memcpy(localParam.interMatrix,inter,64);
122               GUI_Info_HIG(ADM_LOG_INFO,QT_TR_NOOP("Matrix Loaded"),QT_TR_NOOP("The custom matrix file has been successfully loaded."));
123               goto _again;
124         }
125 
126 	if(code==GTK_RESPONSE_OK)
127 	{
128 
129 
130 		int r,value=0;
131 		ret=1;
132 		r=getRangeInMenu(WID(optionmenuType));
133 		xvid4otherDownload(dialog);
134 		memcpy(incoming->extraSettings,&localParam,sizeof(localParam));
135 		switch(r)
136 			{
137 				case 0:
138 					incoming->mode = COMPRESS_CBR;
139 		      			value = (uint32_t) gtk_read_entry(WID(entryEntry));
140 			    		incoming->bitrate = value;
141                                         ret = 1;
142 					gtk_label_set_text(GTK_LABEL(WID(label11)),"Bitrate (kbps):");
143 					break;
144 				case 1:
145 					incoming->mode = COMPRESS_CQ;
146 					value = (uint32_t) gtk_spin_button_get_value_as_int(
147 								GTK_SPIN_BUTTON(WID(spinbuttonQuant)));
148 					incoming->qz = value;
149 					break;
150 
151 				case 2:
152 		     				incoming->mode = COMPRESS_2PASS;
153 						value = (uint32_t) gtk_read_entry(WID(entryEntry));
154         					if((value>0)&&(value<4000))
155           					{
156        							incoming->finalsize=value;
157 
158            					}
159 						gtk_label_set_text(GTK_LABEL(WID(label11)),QT_TR_NOOP("Size (MBytes):"));
160             					break;
161 				case 3:
162 		     				incoming->mode = COMPRESS_2PASS_BITRATE;
163 						value = (uint32_t) gtk_read_entry(WID(entryEntry));
164 						incoming->avg_bitrate=value;
165 						gtk_label_set_text(GTK_LABEL(WID(label11)),QT_TR_NOOP("Average bitrate (kb/s):"));
166             					break;
167 
168 				case 4:
169 						incoming->mode=COMPRESS_SAME;
170 						break;
171 		  		default:
172 		      				ADM_assert(0);
173 				}
174 	}
175 	gtk_unregister_dialog(dialog);
176 	gtk_widget_destroy(dialog);
177 	return ret;
178 
179 }
180 // Read the localParam struct and set the ui fields
181 // accordingly
182 #define SPIN_GET(x,y) {localParam.y= gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(WID(x))) ;\
183 				printf(#x":%d\n",localParam.y);}
184 
185 #define SPIN_SET(x,y)  {gtk_spin_button_set_value(GTK_SPIN_BUTTON(WID(x)),(gfloat)localParam.y) ; \
186 				printf(#x":%d\n",localParam.y);}
187 
188 #define MENU_SET(x,y) { gtk_option_menu_set_history (GTK_OPTION_MENU(WID(x)),localParam.y);}
189 #define MENU_GET(x,y) { localParam.y	= getRangeInMenu(WID(x));}
190 #define TOGGLE_SET(x,y) {gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(WID(x)),localParam.y);}
191 #define TOGGLE_GET(x,y) {localParam.y=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(WID(x)));\
192 				printf(#y":%d\n",localParam.y);}
193 
194 #define ENTRY_SET(x,y) {gtk_write_entry(WID(x),(int)localParam.y);}
195 #define ENTRY_GET(x,y) {localParam.y=gtk_read_entry(WID(x));\
196 				printf(#y":%d\n",localParam.y);}
197 
198 #define CHECK_GET(x,y) {localParam.y=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(WID(x)));}
199 #define CHECK_SET(x,y) {gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(WID(x)),localParam.y);}			//*****************************************************
xvid4otherUpload(GtkWidget * dialog)200 void xvid4otherUpload(GtkWidget *dialog)
201 {
202 	MENU_SET(optionmenuMS,guiLevel);
203 	MENU_SET(optionmenuVHQ,vhqmode);
204         if(localParam.useCustomIntra || localParam.useCustomInter)
205         {
206             RADIO_SET(radiobuttonCustomMatrix,		1);
207         }else
208 	if(localParam.mpegQuantizer)
209 		RADIO_SET(radiobuttonMpeg,		1);
210 	else
211 		RADIO_SET(radiobuttonH263,		1);
212 	CHECK_SET(checkbuttonInterlaced,	interlaced);
213 	CHECK_SET(checkbutton4MV,		inter4mv);
214 	CHECK_SET(checkbuttonTrellis,		trellis);
215 	CHECK_SET(checkbuttonCartoon,		cartoon);
216 	CHECK_SET(checkbuttonGreyScale,		greyscale);
217 	CHECK_SET(checkbuttonChroma,		chroma_opt);
218 	CHECK_SET(checkbuttonChromaMotion,	chroma_me);
219 	CHECK_SET(checkbuttonGMC,		gmc);
220 	CHECK_SET(checkbuttonBVHQ,		bvhq);
221 	CHECK_SET(checkbutton_par_asinput,	par_as_input);
222 	CHECK_SET(checkbuttonQPel,		qpel);
223 	CHECK_SET(checkbuttonHQAC,		hqac);
224 
225 	CHECK_SET(checkbuttonTurbo,		turbo);
226 	CHECK_SET(checkbuttonPacked,		packed);
227 
228   	SPIN_SET(spinbuttonIMaxPeriod,  max_key_interval);
229 	ENTRY_SET(entryIInterv,		min_key_interval);
230 	SPIN_SET(spinbuttonBFrame,	bframes);
231 	ch_par_asinput(NULL, NULL);
232 
233 	SPIN_SET(spinbuttonIMax,	qmax[0]);
234 	SPIN_SET(spinbuttonPMax,	qmax[1]);
235 	SPIN_SET(spinbuttonBMax,	qmax[2]);
236 
237 	SPIN_SET(spinbuttonIMin,	qmin[0]);
238 	SPIN_SET(spinbuttonPMin,	qmin[1]);
239 	SPIN_SET(spinbuttonBMin,	qmin[2]);
240 
241 
242   	ENTRY_SET(entryIBoost		,	keyframe_boost		);
243 
244   	ENTRY_SET(entryHiPass		,	curve_compression_high	);
245   	ENTRY_SET(entryLowPass		,	curve_compression_low	);
246   	ENTRY_SET(entryOvrControl,		overflow_control_strength	);
247 
248 	ENTRY_SET(entryMaxOvrImp	,	max_overflow_improvement	);
249   	ENTRY_SET(entryMaxOvrDeg	,	max_overflow_degradation	);
250 
251   	ENTRY_SET(entryIreduction	,	kfreduction			);
252   	ENTRY_SET(entryIInterv	,		kfthreshold			);
253 	//TOGGLE_SET(toggleHPEL,			halfpel);
254 
255 }
256 // Read the ui fields and set localParam
257 // accordingly
258 //*****************************************************
259 
xvid4otherDownload(GtkWidget * dialog)260 void xvid4otherDownload(GtkWidget *dialog)
261 {
262 	MENU_GET(optionmenuMS,guiLevel);
263 	MENU_GET(optionmenuVHQ,vhqmode);
264 
265 	localParam.mpegQuantizer=RADIO_GET(radiobuttonMpeg);
266         if(RADIO_GET(radiobuttonCustomMatrix))
267         {
268             localParam.useCustomIntra=1;
269             localParam.useCustomInter=1;
270         }else
271         {
272             localParam.useCustomIntra=0;
273             localParam.useCustomInter=0;
274         }
275 	CHECK_GET(checkbuttonInterlaced,	interlaced);
276 	CHECK_GET(checkbutton4MV,		inter4mv);
277 	CHECK_GET(checkbuttonTrellis,		trellis);
278 	CHECK_GET(checkbuttonCartoon,		cartoon);
279 	CHECK_GET(checkbuttonGreyScale,		greyscale);
280 	CHECK_GET(checkbuttonChroma,		chroma_opt);
281 	CHECK_GET(checkbuttonChromaMotion,	chroma_me);
282 	CHECK_GET(checkbuttonGMC,		gmc);
283 	CHECK_GET(checkbuttonBVHQ,		bvhq);
284 	CHECK_GET(checkbutton_par_asinput,	par_as_input);
285 	CHECK_GET(checkbuttonQPel,		qpel);
286 	CHECK_GET(checkbuttonHQAC,		hqac);
287 	CHECK_GET(checkbuttonTurbo,		turbo);
288 	CHECK_GET(checkbuttonPacked,		packed);
289 
290 
291 	SPIN_GET(spinbuttonIMaxPeriod,  max_key_interval);
292   	ENTRY_GET(entryIInterv,			kfthreshold);
293 	SPIN_GET(spinbuttonBFrame,		bframes);
294 
295 	SPIN_GET(spinbutton_par_width,	par_width);
296 	SPIN_GET(spinbutton_par_height,	par_height);
297 
298 
299   	ENTRY_GET(entryIBoost		,	keyframe_boost		);
300 
301   	ENTRY_GET(entryHiPass		,	curve_compression_high	);
302   	ENTRY_GET(entryLowPass		,	curve_compression_low	);
303   	ENTRY_GET(entryOvrControl,		overflow_control_strength	);
304 
305 	ENTRY_GET(entryMaxOvrImp	,	max_overflow_improvement	);
306   	ENTRY_GET(entryMaxOvrDeg	,	max_overflow_degradation	);
307 
308   	ENTRY_GET(entryIreduction	,	kfreduction			);
309   	ENTRY_GET(entryIInterv	,	kfthreshold			);
310 	//TOGGLE_SET(toggleHPEL,			halfpel);
311 	SPIN_GET(spinbuttonIMax,	qmax[0]);
312 	SPIN_GET(spinbuttonPMax,	qmax[1]);
313 	SPIN_GET(spinbuttonBMax,	qmax[2]);
314 
315 	SPIN_GET(spinbuttonIMin,	qmin[0]);
316 	SPIN_GET(spinbuttonPMin,	qmin[1]);
317 	SPIN_GET(spinbuttonBMin,	qmin[2]);
318 
319 
320 }
321 //*****************************************************
updateMode(void)322 void updateMode( void )
323 {
324 uint32_t b;
325 		// set the right select button
326  		switch (mMode)
327 	    {
328 	    	case COMPRESS_CBR:
329 			HIST_SET(0);
330 			b=mB;
331 			VAL_SET(b);
332 			gtk_widget_set_sensitive(WID(spinbuttonQuant),0);
333 			gtk_widget_set_sensitive(WID(entryEntry),1);
334 			gtk_label_set_text(GTK_LABEL(WID(label11)),QT_TR_NOOP("Target bitrate (kb/s):"));
335 			break;
336 
337 		case COMPRESS_2PASS:
338 			HIST_SET(2);
339 			VAL_SET(mS);
340 			gtk_widget_set_sensitive(WID(spinbuttonQuant),0);
341 			gtk_widget_set_sensitive(WID(entryEntry),1);
342 			gtk_label_set_text(GTK_LABEL(WID(label11)),QT_TR_NOOP("Target video size (MB):"));
343 			break;
344                 case COMPRESS_2PASS_BITRATE:
345 			HIST_SET(3);
346 			VAL_SET(mA);
347 			gtk_widget_set_sensitive(WID(spinbuttonQuant),0);
348 			gtk_widget_set_sensitive(WID(entryEntry),1);
349 			gtk_label_set_text(GTK_LABEL(WID(label11)),QT_TR_NOOP("Average bitrate (kb/s):"));
350 			break;
351 
352 	    	case COMPRESS_CQ:
353 			HIST_SET(1);
354 			gtk_widget_set_sensitive(WID(entryEntry),0);
355 			gtk_widget_set_sensitive(WID(spinbuttonQuant),1);
356 			gtk_spin_button_set_value(GTK_SPIN_BUTTON(WID(spinbuttonQuant)),(gfloat)mQ);
357 			break;
358 		case COMPRESS_SAME:
359 			HIST_SET(4);
360 			gtk_widget_set_sensitive(WID(entryEntry),0);
361 			gtk_widget_set_sensitive(WID(spinbuttonQuant),0);
362 
363 			break;
364 
365 		}
366 }
367 
368 //*****************************************************
cb_mod(GtkObject * object,gpointer user_data)369 int cb_mod(GtkObject * object, gpointer user_data)
370 {
371 int r;
372 	r=getRangeInMenu(WID(optionmenuType));
373 	switch(r)
374 	{
375 		case 0: mMode=COMPRESS_CBR ;break;
376 		case 1: mMode=COMPRESS_CQ ;break;
377 		case 2: mMode=COMPRESS_2PASS ;break;
378                 case 3: mMode=COMPRESS_2PASS_BITRATE ;break;
379 		case 4: mMode=COMPRESS_SAME;break;
380 
381 	}
382 	updateMode();
383 	printf("Changed!!!\n");
384         return 0;
385 
386 }
387 //*****************************************************
ch_par_asinput(GtkObject * object,gpointer user_data)388 int ch_par_asinput(GtkObject * object, gpointer user_data)
389 {
390 	int on = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(WID(checkbutton_par_asinput)));
391 	gtk_widget_set_sensitive(WID(spinbutton_par_width), on^1);
392 	gtk_widget_set_sensitive(WID(spinbutton_par_height), on^1);
393 
394 	if (on) {
395 		SPIN_GET(spinbutton_par_width,	par_width);
396 		SPIN_GET(spinbutton_par_height,	par_height);
397 		gtk_spin_button_set_value(GTK_SPIN_BUTTON(WID(spinbutton_par_width)), video_body->getPARWidth());
398 		gtk_spin_button_set_value(GTK_SPIN_BUTTON(WID(spinbutton_par_height)), video_body->getPARHeight());
399 	}else{
400 		SPIN_SET(spinbutton_par_width,	par_width);
401 		SPIN_SET(spinbutton_par_height,	par_height);
402 	}
403 
404 	return 0;
405 }
406 //*****************************************************
editMatrix(uint8_t * intra,uint8_t * inter)407 uint8_t editMatrix(uint8_t *intra, uint8_t *inter)
408 {
409 GtkWidget *dialog=NULL;
410 GtkWidget *spinbutton1;
411 GtkObject *spinbutton1_adj;
412 GtkWidget *intraCell[64],*interCell[64];
413 uint8_t ret=0;
414 int code;
415 int col, row;
416 
417       dialog=create_dialog3();
418 
419 	gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
420 										GTK_RESPONSE_OK,
421 										GTK_RESPONSE_CANCEL,
422 										-1);
423       gtk_register_dialog(dialog);
424       //
425       for(int i=0;i<64;i++)
426       {  //Intra
427           col=i%8;
428           row=i>>3;
429           spinbutton1_adj = gtk_adjustment_new (intra[i], 8, 255, 1, 10, 10);
430           intraCell[i]=spinbutton1 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton1_adj), 1, 0);
431      //     gtk_widget_show (spinbutton1);
432           gtk_table_attach (GTK_TABLE (WID(tableIntra)), spinbutton1, col, col+1, row, row+1,
433                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
434                     (GtkAttachOptions) (0), 0, 0);
435 
436 
437        }
438       for(int i=0;i<64;i++)
439       {  //Inter
440           col=i%8;
441           row=i>>3;
442           spinbutton1_adj = gtk_adjustment_new (inter[i], 1, 255, 1, 10, 10);
443           interCell[i]=spinbutton1 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton1_adj), 1, 0);
444       //    gtk_widget_show (spinbutton1);
445           gtk_table_attach (GTK_TABLE (WID(tableInter)), spinbutton1, col, col+1, row, row+1,
446                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
447                     (GtkAttachOptions) (0), 0, 0);
448        }
449       for(int i=0;i<64;i++)
450       {
451         gtk_widget_show (intraCell[i]);
452         gtk_widget_show (interCell[i]);
453       }
454       //
455 
456       CALL_Z(button12,SAVE_MATRIX)
457 _loop:
458       code=gtk_dialog_run(GTK_DIALOG(dialog));
459       if(code==XVID4_RESPONSE_SAVE_MATRIX)
460       {
461         printf("Save\n");
462         char *name;
463         FILE *fd;
464         GUI_FileSelWrite(QT_TR_NOOP("Select Custom Matrix File to write"),&name);
465         if(!name) goto _loop;
466         fd=fopen(name,"wb");
467         if(!fd)
468         {
469             GUI_Error_HIG(QT_TR_NOOP("Error Writing"),QT_TR_NOOP("Error writing the custom matrix file."));
470             ADM_dealloc(name);
471             goto _loop;
472         }
473         for(int i=0;i<64;i++)
474         {
475           inter[i]=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(interCell[i]));
476           intra[i]=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(intraCell[i]));
477         }
478         fwrite(intra,1,64,fd);
479         fwrite(inter,1,64,fd);
480         fclose(fd);
481         ADM_dealloc(name);
482         goto _loop;
483       }
484       if(code==GTK_RESPONSE_OK)
485       {
486         printf("Accept\n");
487         ret=1;
488         for(int i=0;i<64;i++)
489         {
490           intra[i]=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(intraCell[i]));
491           inter[i]=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(interCell[i]));
492         }
493       }else
494       printf("refused\n");
495 /*
496       for(int i=1;i<65;i++)
497       {
498         wid=findMatrixWidget("intra
499       }
500 */
501 
502       gtk_unregister_dialog(dialog);
503       gtk_widget_destroy(dialog);
504       return ret;
505 
506 }
507 //-------------------- Glade-2 here----------
508 //_____KK_______
509 
510 
511 GtkWidget*
create_dialog1(void)512 create_dialog1 (void)
513 {
514   GtkWidget *dialog1;
515   GtkWidget *dialog_vbox1;
516   GtkWidget *notebook1;
517   GtkWidget *vbox2;
518   GtkWidget *frame1;
519   GtkWidget *vbox3;
520   GtkWidget *hbox19;
521   GtkWidget *vbox21;
522   GtkWidget *label10;
523   GtkWidget *label11;
524   GtkWidget *label12;
525   GtkWidget *vbox22;
526   GtkWidget *optionmenuType;
527   GtkWidget *menu1;
528   GtkWidget *one_pass_cbr1;
529   GtkWidget *one_pass_quantizer1;
530   GtkWidget *two_pass1;
531   GtkWidget *two_pass__average_bitrate1;
532   GtkWidget *same_qz_as_input1;
533   GtkWidget *entryEntry;
534   GtkObject *spinbuttonQuant_adj;
535   GtkWidget *spinbuttonQuant;
536   GtkWidget *label9;
537   GtkWidget *hbox7;
538   GtkWidget *vbox4;
539   GtkWidget *checkbuttonInterlaced;
540   GtkWidget *checkbuttonGreyScale;
541   GtkWidget *vbox5;
542   GtkWidget *checkbuttonCartoon;
543   GtkWidget *checkbuttonChroma;
544   GtkWidget *vbox23;
545   GtkWidget *checkbuttonTurbo;
546   GtkWidget *checkbuttonPacked;
547   GtkWidget *labelMain;
548   GtkWidget *vbox6;
549   GtkWidget *hbox8;
550   GtkWidget *vbox8;
551   GtkWidget *labelMotionSearchPrecision;
552   GtkWidget *labelVHQMode;
553   GtkWidget *vbox7;
554   GtkWidget *optionmenuMS;
555   GtkWidget *menu2;
556   GtkWidget *_0___none1;
557   GtkWidget *_1___very_low1;
558   GtkWidget *_2___low2;
559   GtkWidget *_3___medium1;
560   GtkWidget *_4___high1;
561   GtkWidget *_5___very_high1;
562   GtkWidget *_6___ultra_high1;
563   GtkWidget *optionmenuVHQ;
564   GtkWidget *menu3;
565   GtkWidget *_0___off1;
566   GtkWidget *_1___mode_decision1;
567   GtkWidget *_2___limited_search1;
568   GtkWidget *_3___medium_search1;
569   GtkWidget *_4___wide_search1;
570   GtkWidget *hbox10;
571   GtkWidget *checkbuttonChromaMotion;
572   GtkWidget *checkbutton4MV;
573   GtkWidget *checkbuttonHQAC;
574   GtkWidget *hbox9;
575   GtkWidget *labelIFrameIntervalMin;
576   GtkObject *spinbuttonIMinPeriod_adj;
577   GtkWidget *spinbuttonIMinPeriod;
578   GtkWidget *labelIFrameIntervalMax;
579   GtkObject *spinbuttonIMaxPeriod_adj;
580   GtkWidget *spinbuttonIMaxPeriod;
581   GtkWidget *frameAdvancedSimpleProfile;
582   GtkWidget *vbox9;
583   GtkWidget *hbox11;
584   GtkWidget *labelNumberOfBFrames;
585   GtkObject *spinbuttonBFrame_adj;
586   GtkWidget *spinbuttonBFrame;
587   GtkWidget *hbox12;
588   GtkWidget *checkbuttonQPel;
589   GtkWidget *checkbuttonGMC;
590   GtkWidget *checkbuttonBVHQ;
591   GtkWidget *labelAdvancedSimpleProfile;
592   GtkWidget *labelMotionEstimation;
593   GtkWidget *vbox10;
594   GtkWidget *hbox13;
595   GtkWidget *labelQuantizationType;
596   GtkWidget *radiobuttonH263;
597   GSList *radiobuttonH263_group = NULL;
598   GtkWidget *radiobuttonMpeg;
599   GtkWidget *radiobuttonCustomMatrix;
600   GtkWidget *hbox20;
601   GtkWidget *labelLoadCustomMatrix;
602   GtkWidget *buttonLoadMatrix;
603   GtkWidget *alignment6;
604   GtkWidget *hbox21;
605   GtkWidget *image1;
606   GtkWidget *label13;
607   GtkWidget *vseparator1;
608   GtkWidget *buttonCreateCustomMatrix;
609   GtkWidget *frameQuantizationRestrictions;
610   GtkWidget *hbox14;
611   GtkWidget *vbox11;
612   GtkWidget *labelIFrameQuantizerMin;
613   GtkWidget *labelPFrameQuantizerMin;
614   GtkWidget *labelBFrameQuantizaterMin;
615   GtkWidget *vbox12;
616   GtkObject *spinbuttonIMin_adj;
617   GtkWidget *spinbuttonIMin;
618   GtkObject *spinbuttonPMin_adj;
619   GtkWidget *spinbuttonPMin;
620   GtkObject *spinbuttonBMin_adj;
621   GtkWidget *spinbuttonBMin;
622   GtkWidget *vbox13;
623   GtkWidget *labelIFrameQuantizerMax;
624   GtkWidget *labelPFrameQuantizerMax;
625   GtkWidget *labelBFrameQuantizerMax;
626   GtkWidget *vbox14;
627   GtkObject *spinbuttonIMax_adj;
628   GtkWidget *spinbuttonIMax;
629   GtkObject *spinbuttonPMax_adj;
630   GtkWidget *spinbuttonPMax;
631   GtkObject *spinbuttonBMax_adj;
632   GtkWidget *spinbuttonBMax;
633   GtkWidget *labelQuantizerRestrictions;
634   GtkWidget *checkbuttonTrellis;
635   GtkWidget *labelQuantization;
636   GtkWidget *vbox15;
637   GtkWidget *frameTwoPassTuning;
638   GtkWidget *vbox16;
639   GtkWidget *hbox;
640   GtkWidget *vbox17;
641   GtkWidget *labelIFrameBoost;
642   GtkWidget *labelIFrameCloserThan;
643   GtkWidget *labelAreReducedBy;
644   GtkWidget *labelMaxOverflowImprovement;
645   GtkWidget *labelMaxOverflowDegradation;
646   GtkWidget *vbox18;
647   GtkWidget *entryIBoost;
648   GtkWidget *entryIInterv;
649   GtkWidget *entryIreduction;
650   GtkWidget *entryMaxOvrImp;
651   GtkWidget *entryMaxOvrDeg;
652   GtkWidget *labelTwoPassTuning;
653   GtkWidget *frameCurveCompression;
654   GtkWidget *hbox18;
655   GtkWidget *vbox19;
656   GtkWidget *labelHighBitrateScenes;
657   GtkWidget *labelLowBitrateScenes;
658   GtkWidget *labelOverflowControlStrength;
659   GtkWidget *vbox20;
660   GtkWidget *entryHiPass;
661   GtkWidget *entryLowPass;
662   GtkWidget *entryOvrControl;
663   GtkWidget *labelCurveCompression;
664   GtkWidget *labelSecondPass;
665   GtkWidget *dialog_action_area1;
666   GtkWidget *cancelbutton1;
667   GtkWidget *okbutton1;
668   GtkTooltips *tooltips;
669 
670   GtkWidget *frame_par1;
671   GtkWidget *hbox_par1;
672   GtkWidget *label_par1;
673   GtkWidget *label_par2;
674   GtkWidget *checkbutton_par_asinput;
675   GtkObject *spinbutton_par_width_adj;
676   GtkWidget *spinbutton_par_width;
677   GtkObject *spinbutton_par_height_adj;
678   GtkWidget *spinbutton_par_height;
679 
680 
681   tooltips = gtk_tooltips_new ();
682 
683   dialog1 = gtk_dialog_new ();
684   gtk_container_set_border_width (GTK_CONTAINER (dialog1), 2);
685   gtk_window_set_title (GTK_WINDOW (dialog1), QT_TR_NOOP("XviD encoding options"));
686   gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG);
687 
688   dialog_vbox1 = GTK_DIALOG (dialog1)->vbox;
689   gtk_widget_show (dialog_vbox1);
690 
691   notebook1 = gtk_notebook_new ();
692   gtk_widget_show (notebook1);
693   gtk_box_pack_start (GTK_BOX (dialog_vbox1), notebook1, TRUE, TRUE, 0);
694 
695   vbox2 = gtk_vbox_new (FALSE, 5);
696   gtk_widget_show (vbox2);
697   gtk_container_add (GTK_CONTAINER (notebook1), vbox2);
698   gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (notebook1), vbox2,
699                                       FALSE, FALSE, GTK_PACK_START);
700   gtk_container_set_border_width (GTK_CONTAINER (vbox2), 5);
701 
702   frame1 = gtk_frame_new (NULL);
703   gtk_widget_show (frame1);
704   gtk_box_pack_start (GTK_BOX (vbox2), frame1, FALSE, FALSE, 0);
705 
706   vbox3 = gtk_vbox_new (FALSE, 5);
707   gtk_widget_show (vbox3);
708   gtk_container_add (GTK_CONTAINER (frame1), vbox3);
709   gtk_container_set_border_width (GTK_CONTAINER (vbox3), 5);
710 
711   hbox19 = gtk_hbox_new (FALSE, 10);
712   gtk_widget_show (hbox19);
713   gtk_box_pack_start (GTK_BOX (vbox3), hbox19, TRUE, TRUE, 0);
714 
715   vbox21 = gtk_vbox_new (FALSE, 5);
716   gtk_widget_show (vbox21);
717   gtk_box_pack_start (GTK_BOX (hbox19), vbox21, FALSE, FALSE, 0);
718 
719   label10 = gtk_label_new (QT_TR_NOOP("Encoding type:"));
720   gtk_widget_show (label10);
721   gtk_box_pack_start (GTK_BOX (vbox21), label10, TRUE, TRUE, 0);
722   gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5);
723 
724   label11 = gtk_label_new (QT_TR_NOOP("Bitrate (kb/s):"));
725   gtk_widget_show (label11);
726   gtk_box_pack_start (GTK_BOX (vbox21), label11, TRUE, TRUE, 0);
727   gtk_misc_set_alignment (GTK_MISC (label11), 0, 0.5);
728 
729   label12 = gtk_label_new (QT_TR_NOOP("Quantizer:"));
730   gtk_widget_show (label12);
731   gtk_box_pack_start (GTK_BOX (vbox21), label12, TRUE, TRUE, 0);
732   gtk_misc_set_alignment (GTK_MISC (label12), 0, 0.5);
733 
734   vbox22 = gtk_vbox_new (FALSE, 5);
735   gtk_widget_show (vbox22);
736   gtk_box_pack_start (GTK_BOX (hbox19), vbox22, FALSE, FALSE, 0);
737 
738   optionmenuType = gtk_option_menu_new ();
739   gtk_widget_show (optionmenuType);
740   gtk_box_pack_start (GTK_BOX (vbox22), optionmenuType, FALSE, FALSE, 0);
741   gtk_tooltips_set_tip (tooltips, optionmenuType, QT_TR_NOOP("Select 1-pass or 2-pass encoding"), NULL);
742 
743   menu1 = gtk_menu_new ();
744 
745   one_pass_cbr1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("Single Pass - Bitrate"));
746   gtk_widget_show (one_pass_cbr1);
747   gtk_container_add (GTK_CONTAINER (menu1), one_pass_cbr1);
748 
749   one_pass_quantizer1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("Single Pass - Quantizer"));
750   gtk_widget_show (one_pass_quantizer1);
751   gtk_container_add (GTK_CONTAINER (menu1), one_pass_quantizer1);
752 
753   two_pass1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("Two Pass - Video Size"));
754   gtk_widget_show (two_pass1);
755   gtk_container_add (GTK_CONTAINER (menu1), two_pass1);
756 
757   two_pass__average_bitrate1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("Two Pass - Average Bitrate"));
758   gtk_widget_show (two_pass__average_bitrate1);
759   gtk_container_add (GTK_CONTAINER (menu1), two_pass__average_bitrate1);
760 
761   same_qz_as_input1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("Same Quantizer as Input"));
762   gtk_widget_show (same_qz_as_input1);
763   gtk_container_add (GTK_CONTAINER (menu1), same_qz_as_input1);
764 
765   gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenuType), menu1);
766 
767   entryEntry = gtk_entry_new ();
768   gtk_widget_show (entryEntry);
769   gtk_box_pack_start (GTK_BOX (vbox22), entryEntry, FALSE, FALSE, 0);
770   gtk_tooltips_set_tip (tooltips, entryEntry, QT_TR_NOOP("Target video bitrate"), NULL);
771   gtk_entry_set_width_chars (GTK_ENTRY (entryEntry), 10);
772 
773   spinbuttonQuant_adj = gtk_adjustment_new (4, 1, 31, 1, 10, 10);
774   spinbuttonQuant = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonQuant_adj), 1, 0);
775   gtk_widget_show (spinbuttonQuant);
776   gtk_box_pack_start (GTK_BOX (vbox22), spinbuttonQuant, FALSE, FALSE, 0);
777   gtk_tooltips_set_tip (tooltips, spinbuttonQuant, QT_TR_NOOP("Constant quantizer - each frame will get the same compression"), NULL);
778 
779   label9 = gtk_label_new (QT_TR_NOOP("Variable bitrate mode"));
780   gtk_widget_show (label9);
781   gtk_frame_set_label_widget (GTK_FRAME (frame1), label9);
782 
783   hbox7 = gtk_hbox_new (FALSE, 10);
784   gtk_widget_show (hbox7);
785   gtk_box_pack_start (GTK_BOX (vbox2), hbox7, FALSE, FALSE, 0);
786 
787   vbox4 = gtk_vbox_new (FALSE, 0);
788   gtk_widget_show (vbox4);
789   gtk_box_pack_start (GTK_BOX (hbox7), vbox4, FALSE, FALSE, 0);
790 
791   checkbuttonInterlaced = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("_Interlaced"));
792   gtk_widget_show (checkbuttonInterlaced);
793   gtk_box_pack_start (GTK_BOX (vbox4), checkbuttonInterlaced, FALSE, FALSE, 0);
794   gtk_tooltips_set_tip (tooltips, checkbuttonInterlaced, QT_TR_NOOP("Enables interlaced frame support - use only if your source contains interlacing artifacts (i.e. fields instead of progressive frames)"), NULL);
795 
796   checkbuttonGreyScale = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("_Greyscale"));
797   gtk_widget_show (checkbuttonGreyScale);
798   gtk_box_pack_start (GTK_BOX (vbox4), checkbuttonGreyScale, FALSE, FALSE, 0);
799   gtk_tooltips_set_tip (tooltips, checkbuttonGreyScale, QT_TR_NOOP("Encode in black & white"), NULL);
800 
801   vbox5 = gtk_vbox_new (FALSE, 0);
802   gtk_widget_show (vbox5);
803   gtk_box_pack_start (GTK_BOX (hbox7), vbox5, FALSE, FALSE, 0);
804 
805   checkbuttonCartoon = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("Ca_rtoon mode"));
806   gtk_widget_show (checkbuttonCartoon);
807   gtk_box_pack_start (GTK_BOX (vbox5), checkbuttonCartoon, FALSE, FALSE, 0);
808   gtk_tooltips_set_tip (tooltips, checkbuttonCartoon, QT_TR_NOOP("Enables special motion estimation features for cartoons/anime"), NULL);
809 
810   checkbuttonChroma = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("C_hroma optimizer"));
811   gtk_widget_show (checkbuttonChroma);
812   gtk_box_pack_start (GTK_BOX (vbox5), checkbuttonChroma, FALSE, FALSE, 0);
813   gtk_tooltips_set_tip (tooltips, checkbuttonChroma, QT_TR_NOOP("Enables a chroma optimizer prefilter"), NULL);
814 
815   vbox23 = gtk_vbox_new (FALSE, 0);
816   gtk_widget_show (vbox23);
817   gtk_box_pack_start (GTK_BOX (hbox7), vbox23, TRUE, TRUE, 0);
818 
819   checkbuttonTurbo = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("Turbo Mode"));
820   gtk_widget_show (checkbuttonTurbo);
821   gtk_box_pack_start (GTK_BOX (vbox23), checkbuttonTurbo, FALSE, FALSE, 0);
822   gtk_tooltips_set_tip (tooltips, checkbuttonTurbo, QT_TR_NOOP("Enables fast 1st pass encoding"), NULL);
823 
824   checkbuttonPacked = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("Packed bitstream"));
825   gtk_widget_show (checkbuttonPacked);
826   gtk_box_pack_start (GTK_BOX (vbox23), checkbuttonPacked, FALSE, FALSE, 0);
827   gtk_tooltips_set_tip (tooltips, checkbuttonPacked, QT_TR_NOOP("Enables Divx like packed vop, DO NOT SET, it is ugly"), NULL);
828 
829   labelMain = gtk_label_new (QT_TR_NOOP("Main"));
830   gtk_widget_show (labelMain);
831   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), labelMain);
832 
833   vbox6 = gtk_vbox_new (FALSE, 5);
834   gtk_widget_show (vbox6);
835   gtk_container_add (GTK_CONTAINER (notebook1), vbox6);
836   gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (notebook1), vbox6,
837                                       FALSE, FALSE, GTK_PACK_START);
838   gtk_container_set_border_width (GTK_CONTAINER (vbox6), 5);
839 
840   hbox8 = gtk_hbox_new (FALSE, 10);
841   gtk_widget_show (hbox8);
842   gtk_box_pack_start (GTK_BOX (vbox6), hbox8, FALSE, FALSE, 0);
843 
844   vbox8 = gtk_vbox_new (FALSE, 10);
845   gtk_widget_show (vbox8);
846   gtk_box_pack_start (GTK_BOX (hbox8), vbox8, FALSE, FALSE, 0);
847 
848   labelMotionSearchPrecision = gtk_label_new (QT_TR_NOOP("Motion search precision:"));
849   gtk_widget_show (labelMotionSearchPrecision);
850   gtk_box_pack_start (GTK_BOX (vbox8), labelMotionSearchPrecision, TRUE, TRUE, 0);
851 
852   labelVHQMode = gtk_label_new (QT_TR_NOOP("VHQ mode:"));
853   gtk_widget_show (labelVHQMode);
854   gtk_box_pack_start (GTK_BOX (vbox8), labelVHQMode, TRUE, TRUE, 0);
855   gtk_label_set_justify (GTK_LABEL (labelVHQMode), GTK_JUSTIFY_FILL);
856   gtk_misc_set_alignment (GTK_MISC (labelVHQMode), 0, 0.5);
857 
858   vbox7 = gtk_vbox_new (FALSE, 10);
859   gtk_widget_show (vbox7);
860   gtk_box_pack_start (GTK_BOX (hbox8), vbox7, FALSE, FALSE, 0);
861 
862   optionmenuMS = gtk_option_menu_new ();
863   gtk_widget_show (optionmenuMS);
864   gtk_box_pack_start (GTK_BOX (vbox7), optionmenuMS, FALSE, FALSE, 0);
865   gtk_tooltips_set_tip (tooltips, optionmenuMS, QT_TR_NOOP("Higher settings give higher quality results, at the cost of slower encoding"), NULL);
866 
867   menu2 = gtk_menu_new ();
868 
869   _0___none1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("0 - None"));
870   gtk_widget_show (_0___none1);
871   gtk_container_add (GTK_CONTAINER (menu2), _0___none1);
872 
873   _1___very_low1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("1 - Very low"));
874   gtk_widget_show (_1___very_low1);
875   gtk_container_add (GTK_CONTAINER (menu2), _1___very_low1);
876 
877   _2___low2 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("2 - Low"));
878   gtk_widget_show (_2___low2);
879   gtk_container_add (GTK_CONTAINER (menu2), _2___low2);
880 
881   _3___medium1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("3 - Medium"));
882   gtk_widget_show (_3___medium1);
883   gtk_container_add (GTK_CONTAINER (menu2), _3___medium1);
884 
885   _4___high1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("4 - High"));
886   gtk_widget_show (_4___high1);
887   gtk_container_add (GTK_CONTAINER (menu2), _4___high1);
888 
889   _5___very_high1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("5 - Very high"));
890   gtk_widget_show (_5___very_high1);
891   gtk_container_add (GTK_CONTAINER (menu2), _5___very_high1);
892 
893   _6___ultra_high1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("6 - Ultra high"));
894   gtk_widget_show (_6___ultra_high1);
895   gtk_container_add (GTK_CONTAINER (menu2), _6___ultra_high1);
896 
897   gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenuMS), menu2);
898 
899   optionmenuVHQ = gtk_option_menu_new ();
900   gtk_widget_show (optionmenuVHQ);
901   gtk_box_pack_start (GTK_BOX (vbox7), optionmenuVHQ, FALSE, FALSE, 0);
902   gtk_tooltips_set_tip (tooltips, optionmenuVHQ, QT_TR_NOOP("VHQ enables an additional search process to increase quality"), NULL);
903 
904   menu3 = gtk_menu_new ();
905 
906   _0___off1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("0 - Off"));
907   gtk_widget_show (_0___off1);
908   gtk_container_add (GTK_CONTAINER (menu3), _0___off1);
909 
910   _1___mode_decision1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("1 - Mode decision"));
911   gtk_widget_show (_1___mode_decision1);
912   gtk_container_add (GTK_CONTAINER (menu3), _1___mode_decision1);
913 
914   _2___limited_search1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("2 - Limited search"));
915   gtk_widget_show (_2___limited_search1);
916   gtk_container_add (GTK_CONTAINER (menu3), _2___limited_search1);
917 
918   _3___medium_search1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("3 - Medium search"));
919   gtk_widget_show (_3___medium_search1);
920   gtk_container_add (GTK_CONTAINER (menu3), _3___medium_search1);
921 
922   _4___wide_search1 = gtk_menu_item_new_with_mnemonic (QT_TR_NOOP("4 - Wide search"));
923   gtk_widget_show (_4___wide_search1);
924   gtk_container_add (GTK_CONTAINER (menu3), _4___wide_search1);
925 
926   gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenuVHQ), menu3);
927 
928   hbox10 = gtk_hbox_new (FALSE, 10);
929   gtk_widget_show (hbox10);
930   gtk_box_pack_start (GTK_BOX (vbox6), hbox10, FALSE, FALSE, 0);
931 
932   checkbuttonChromaMotion = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("C_hroma motion"));
933   gtk_widget_show (checkbuttonChromaMotion);
934   gtk_box_pack_start (GTK_BOX (hbox10), checkbuttonChromaMotion, FALSE, FALSE, 0);
935   gtk_tooltips_set_tip (tooltips, checkbuttonChromaMotion, QT_TR_NOOP("Use chroma information to estimate motion"), NULL);
936 
937   checkbutton4MV = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("_4MV"));
938   gtk_widget_show (checkbutton4MV);
939   gtk_box_pack_start (GTK_BOX (hbox10), checkbutton4MV, FALSE, FALSE, 0);
940   gtk_tooltips_set_tip (tooltips, checkbutton4MV, QT_TR_NOOP("Use 4 motion vectors per macroblock, might give better compression"), NULL);
941 
942   checkbuttonHQAC = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("HQ _AC"));
943   gtk_widget_show (checkbuttonHQAC);
944   gtk_box_pack_start (GTK_BOX (hbox10), checkbuttonHQAC, FALSE, FALSE, 0);
945   gtk_tooltips_set_tip (tooltips, checkbuttonHQAC, QT_TR_NOOP("Enable a better prediction of AC component. Turns on Lumi masking - applies more compression to dark/light areas that the eye cannot notice easily"), NULL);
946 
947   hbox9 = gtk_hbox_new (FALSE, 10);
948   gtk_widget_show (hbox9);
949   gtk_box_pack_start (GTK_BOX (vbox6), hbox9, FALSE, FALSE, 0);
950 
951   labelIFrameIntervalMin = gtk_label_new (QT_TR_NOOP("I-frame interval - Min:"));
952   gtk_widget_show (labelIFrameIntervalMin);
953   gtk_box_pack_start (GTK_BOX (hbox9), labelIFrameIntervalMin, FALSE, FALSE, 0);
954 
955   spinbuttonIMinPeriod_adj = gtk_adjustment_new (1, 1, 9, 1, 10, 10);
956   spinbuttonIMinPeriod = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonIMinPeriod_adj), 1, 0);
957   gtk_widget_show (spinbuttonIMinPeriod);
958   gtk_box_pack_start (GTK_BOX (hbox9), spinbuttonIMinPeriod, FALSE, FALSE, 0);
959   gtk_tooltips_set_tip (tooltips, spinbuttonIMinPeriod, QT_TR_NOOP("Minimum space between I-frames, 1 will disable forced I-frame spacing"), NULL);
960 
961   labelIFrameIntervalMax = gtk_label_new (QT_TR_NOOP("Max:"));
962   gtk_widget_show (labelIFrameIntervalMax);
963   gtk_box_pack_start (GTK_BOX (hbox9), labelIFrameIntervalMax, FALSE, FALSE, 0);
964 
965   spinbuttonIMaxPeriod_adj = gtk_adjustment_new (250, 1, 500, 1, 10, 10);
966   spinbuttonIMaxPeriod = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonIMaxPeriod_adj), 1, 0);
967   gtk_widget_show (spinbuttonIMaxPeriod);
968   gtk_box_pack_start (GTK_BOX (hbox9), spinbuttonIMaxPeriod, FALSE, FALSE, 0);
969   gtk_tooltips_set_tip (tooltips, spinbuttonIMaxPeriod, QT_TR_NOOP("Maximum number of frames allowed between I-frames"), NULL);
970 
971   frameAdvancedSimpleProfile = gtk_frame_new (NULL);
972   gtk_widget_show (frameAdvancedSimpleProfile);
973   gtk_box_pack_start (GTK_BOX (vbox6), frameAdvancedSimpleProfile, FALSE, FALSE, 0);
974 
975   vbox9 = gtk_vbox_new (FALSE, 5);
976   gtk_widget_show (vbox9);
977   gtk_container_add (GTK_CONTAINER (frameAdvancedSimpleProfile), vbox9);
978   gtk_container_set_border_width (GTK_CONTAINER (vbox9), 5);
979 
980   hbox11 = gtk_hbox_new (FALSE, 10);
981   gtk_widget_show (hbox11);
982   gtk_box_pack_start (GTK_BOX (vbox9), hbox11, FALSE, FALSE, 0);
983 
984   labelNumberOfBFrames = gtk_label_new (QT_TR_NOOP("Number of B-frames:"));
985   gtk_widget_show (labelNumberOfBFrames);
986   gtk_box_pack_start (GTK_BOX (hbox11), labelNumberOfBFrames, FALSE, FALSE, 0);
987 
988   spinbuttonBFrame_adj = gtk_adjustment_new (1, 0, 3, 1, 1, 1);
989   spinbuttonBFrame = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonBFrame_adj), 1, 0);
990   gtk_widget_show (spinbuttonBFrame);
991   gtk_box_pack_start (GTK_BOX (hbox11), spinbuttonBFrame, FALSE, FALSE, 0);
992   gtk_tooltips_set_tip (tooltips, spinbuttonBFrame, QT_TR_NOOP("Maximum number of sequential B-frames (when set to 0, the original I/P encoder is used)"), NULL);
993 
994   hbox12 = gtk_hbox_new (FALSE, 10);
995   gtk_widget_show (hbox12);
996   gtk_box_pack_start (GTK_BOX (vbox9), hbox12, FALSE, FALSE, 0);
997 
998   checkbuttonQPel = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("_Qpel"));
999   gtk_widget_show (checkbuttonQPel);
1000   gtk_box_pack_start (GTK_BOX (hbox12), checkbuttonQPel, FALSE, FALSE, 0);
1001   gtk_tooltips_set_tip (tooltips, checkbuttonQPel, QT_TR_NOOP("Use Quarter pixel resolution for a more precise motion estimation"), NULL);
1002 
1003   checkbuttonGMC = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("_GMC"));
1004   gtk_widget_show (checkbuttonGMC);
1005   gtk_box_pack_start (GTK_BOX (hbox12), checkbuttonGMC, FALSE, FALSE, 0);
1006   gtk_tooltips_set_tip (tooltips, checkbuttonGMC, QT_TR_NOOP("Global Motion Compensation can save bits on camera pans, zooming and rotation"), NULL);
1007 
1008   checkbuttonBVHQ = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("_BVHQ"));
1009   gtk_widget_show (checkbuttonBVHQ);
1010   gtk_box_pack_start (GTK_BOX (hbox12), checkbuttonBVHQ, FALSE, FALSE, 0);
1011   gtk_tooltips_set_tip (tooltips, checkbuttonBVHQ, QT_TR_NOOP("Produces nicer-looking B-frames"), NULL);
1012 
1013   labelAdvancedSimpleProfile = gtk_label_new (QT_TR_NOOP("Advanced Simple Profile"));
1014   gtk_widget_show (labelAdvancedSimpleProfile);
1015   gtk_frame_set_label_widget (GTK_FRAME (frameAdvancedSimpleProfile), labelAdvancedSimpleProfile);
1016 
1017   frame_par1 = gtk_frame_new (NULL);
1018   gtk_widget_show (frame_par1);
1019   gtk_box_pack_start (GTK_BOX (vbox6), frame_par1, TRUE, TRUE, 1);
1020   hbox_par1 = gtk_hbox_new (FALSE, 0);
1021   gtk_widget_show (hbox_par1);
1022   gtk_container_add (GTK_CONTAINER (frame_par1), hbox_par1);
1023   gtk_container_set_border_width (GTK_CONTAINER (hbox_par1), 5);
1024 
1025   checkbutton_par_asinput = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("As Input"));
1026   gtk_widget_show (checkbutton_par_asinput);
1027   gtk_box_pack_start (GTK_BOX (hbox_par1), checkbutton_par_asinput, FALSE, FALSE, 10);
1028   gtk_tooltips_set_tip (tooltips, checkbutton_par_asinput, QT_TR_NOOP("Get PAR from input video file"), NULL);
1029 
1030   spinbutton_par_width_adj = gtk_adjustment_new (1, 1, 255, 1, 1, 1);
1031   spinbutton_par_width = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_par_width_adj), 1, 0);
1032   gtk_widget_show (spinbutton_par_width);
1033   gtk_box_pack_start (GTK_BOX (hbox_par1), spinbutton_par_width, FALSE, FALSE, 0);
1034   gtk_tooltips_set_tip (tooltips, spinbutton_par_width, QT_TR_NOOP("Pixel Width"), NULL);
1035 
1036   label_par1 = gtk_label_new (QT_TR_NOOP(":"));
1037   gtk_widget_show (label_par1);
1038   gtk_box_pack_start (GTK_BOX (hbox_par1), label_par1, FALSE, FALSE, 2);
1039   gtk_label_set_justify (GTK_LABEL (label_par1), GTK_JUSTIFY_CENTER);
1040 
1041   spinbutton_par_height_adj = gtk_adjustment_new (1, 1, 255, 1, 1, 1);
1042   spinbutton_par_height = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_par_height_adj), 1, 0);
1043   gtk_widget_show (spinbutton_par_height);
1044   gtk_box_pack_start (GTK_BOX (hbox_par1), spinbutton_par_height, FALSE, FALSE, 0);
1045   gtk_tooltips_set_tip (tooltips, spinbutton_par_height, QT_TR_NOOP("Pixel Height"), NULL);
1046   label_par2 = gtk_label_new (QT_TR_NOOP("Pixel Aspect Ratio"));
1047   gtk_widget_show (label_par2);
1048   gtk_frame_set_label_widget (GTK_FRAME (frame_par1), label_par2);
1049   gtk_label_set_use_markup (GTK_LABEL (label_par2), TRUE);
1050 
1051   labelMotionEstimation = gtk_label_new (QT_TR_NOOP("Motion & Misc"));
1052   gtk_widget_show (labelMotionEstimation);
1053   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), labelMotionEstimation);
1054 
1055   vbox10 = gtk_vbox_new (FALSE, 5);
1056   gtk_widget_show (vbox10);
1057   gtk_container_add (GTK_CONTAINER (notebook1), vbox10);
1058   gtk_container_set_border_width (GTK_CONTAINER (vbox10), 5);
1059 
1060   hbox13 = gtk_hbox_new (FALSE, 10);
1061   gtk_widget_show (hbox13);
1062   gtk_box_pack_start (GTK_BOX (vbox10), hbox13, FALSE, FALSE, 0);
1063 
1064   labelQuantizationType = gtk_label_new (QT_TR_NOOP("Quantization type:"));
1065   gtk_widget_show (labelQuantizationType);
1066   gtk_box_pack_start (GTK_BOX (hbox13), labelQuantizationType, FALSE, FALSE, 0);
1067 
1068   radiobuttonH263 = gtk_radio_button_new_with_mnemonic (NULL, QT_TR_NOOP("_H.263"));
1069   gtk_widget_show (radiobuttonH263);
1070   gtk_box_pack_start (GTK_BOX (hbox13), radiobuttonH263, FALSE, FALSE, 0);
1071   gtk_tooltips_set_tip (tooltips, radiobuttonH263, QT_TR_NOOP("H.263 quantizers smooth the picture (useful at lower bitrates)"), NULL);
1072   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobuttonH263), radiobuttonH263_group);
1073   radiobuttonH263_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobuttonH263));
1074 
1075   radiobuttonMpeg = gtk_radio_button_new_with_mnemonic (NULL, QT_TR_NOOP("_MPEG"));
1076   gtk_widget_show (radiobuttonMpeg);
1077   gtk_box_pack_start (GTK_BOX (hbox13), radiobuttonMpeg, FALSE, FALSE, 0);
1078   gtk_tooltips_set_tip (tooltips, radiobuttonMpeg, QT_TR_NOOP("MPEG quantizers (slightly slower) produce sharper picture (useful at higher bitrates)"), NULL);
1079   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobuttonMpeg), radiobuttonH263_group);
1080   radiobuttonH263_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobuttonMpeg));
1081 
1082   radiobuttonCustomMatrix = gtk_radio_button_new_with_mnemonic (NULL, QT_TR_NOOP("_Custom Matrix"));
1083   gtk_widget_show (radiobuttonCustomMatrix);
1084   gtk_box_pack_start (GTK_BOX (hbox13), radiobuttonCustomMatrix, FALSE, FALSE, 0);
1085   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobuttonCustomMatrix), radiobuttonH263_group);
1086   radiobuttonH263_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobuttonCustomMatrix));
1087 
1088   hbox20 = gtk_hbox_new (FALSE, 0);
1089   gtk_widget_show (hbox20);
1090   gtk_box_pack_start (GTK_BOX (vbox10), hbox20, FALSE, TRUE, 0);
1091 
1092   labelLoadCustomMatrix = gtk_label_new (QT_TR_NOOP("Load Custom Matrix:  "));
1093   gtk_widget_show (labelLoadCustomMatrix);
1094   gtk_box_pack_start (GTK_BOX (hbox20), labelLoadCustomMatrix, FALSE, FALSE, 0);
1095   gtk_label_set_justify (GTK_LABEL (labelLoadCustomMatrix), GTK_JUSTIFY_RIGHT);
1096 
1097   buttonLoadMatrix = gtk_button_new ();
1098   gtk_widget_show (buttonLoadMatrix);
1099   gtk_box_pack_start (GTK_BOX (hbox20), buttonLoadMatrix, FALSE, FALSE, 0);
1100 
1101   alignment6 = gtk_alignment_new (0.5, 0.5, 0, 0);
1102   gtk_widget_show (alignment6);
1103   gtk_container_add (GTK_CONTAINER (buttonLoadMatrix), alignment6);
1104 
1105   hbox21 = gtk_hbox_new (FALSE, 2);
1106   gtk_widget_show (hbox21);
1107   gtk_container_add (GTK_CONTAINER (alignment6), hbox21);
1108 
1109   image1 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON);
1110   gtk_widget_show (image1);
1111   gtk_box_pack_start (GTK_BOX (hbox21), image1, FALSE, FALSE, 0);
1112 
1113   label13 = gtk_label_new_with_mnemonic (QT_TR_NOOP("Open CQM file"));
1114   gtk_widget_show (label13);
1115   gtk_box_pack_start (GTK_BOX (hbox21), label13, FALSE, FALSE, 0);
1116 
1117   vseparator1 = gtk_vseparator_new ();
1118   gtk_widget_show (vseparator1);
1119   gtk_box_pack_start (GTK_BOX (hbox20), vseparator1, FALSE, TRUE, 0);
1120 
1121   buttonCreateCustomMatrix = gtk_button_new_with_mnemonic (QT_TR_NOOP("Edit Custom Matrix"));
1122   gtk_widget_show (buttonCreateCustomMatrix);
1123   gtk_box_pack_start (GTK_BOX (hbox20), buttonCreateCustomMatrix, FALSE, FALSE, 0);
1124 
1125   frameQuantizationRestrictions = gtk_frame_new (NULL);
1126   gtk_widget_show (frameQuantizationRestrictions);
1127   gtk_box_pack_start (GTK_BOX (vbox10), frameQuantizationRestrictions, FALSE, FALSE, 0);
1128 
1129   hbox14 = gtk_hbox_new (FALSE, 10);
1130   gtk_widget_show (hbox14);
1131   gtk_container_add (GTK_CONTAINER (frameQuantizationRestrictions), hbox14);
1132   gtk_container_set_border_width (GTK_CONTAINER (hbox14), 5);
1133 
1134   vbox11 = gtk_vbox_new (FALSE, 5);
1135   gtk_widget_show (vbox11);
1136   gtk_box_pack_start (GTK_BOX (hbox14), vbox11, FALSE, FALSE, 0);
1137 
1138   labelIFrameQuantizerMin = gtk_label_new (QT_TR_NOOP("I-frame quantizer - Min:"));
1139   gtk_widget_show (labelIFrameQuantizerMin);
1140   gtk_box_pack_start (GTK_BOX (vbox11), labelIFrameQuantizerMin, TRUE, TRUE, 0);
1141   gtk_misc_set_alignment (GTK_MISC (labelIFrameQuantizerMin), 0, 0.5);
1142 
1143   labelPFrameQuantizerMin = gtk_label_new (QT_TR_NOOP("P-frame quantizer - Min:"));
1144   gtk_widget_show (labelPFrameQuantizerMin);
1145   gtk_box_pack_start (GTK_BOX (vbox11), labelPFrameQuantizerMin, TRUE, TRUE, 0);
1146   gtk_misc_set_alignment (GTK_MISC (labelPFrameQuantizerMin), 0, 0.5);
1147 
1148   labelBFrameQuantizaterMin = gtk_label_new (QT_TR_NOOP("B-frame quantizer - Min:"));
1149   gtk_widget_show (labelBFrameQuantizaterMin);
1150   gtk_box_pack_start (GTK_BOX (vbox11), labelBFrameQuantizaterMin, TRUE, TRUE, 0);
1151   gtk_misc_set_alignment (GTK_MISC (labelBFrameQuantizaterMin), 0, 0.5);
1152 
1153   vbox12 = gtk_vbox_new (FALSE, 5);
1154   gtk_widget_show (vbox12);
1155   gtk_box_pack_start (GTK_BOX (hbox14), vbox12, FALSE, FALSE, 0);
1156 
1157   spinbuttonIMin_adj = gtk_adjustment_new (2, 1, 31, 1, 10, 10);
1158   spinbuttonIMin = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonIMin_adj), 1, 0);
1159   gtk_widget_show (spinbuttonIMin);
1160   gtk_box_pack_start (GTK_BOX (vbox12), spinbuttonIMin, FALSE, FALSE, 0);
1161   gtk_tooltips_set_tip (tooltips, spinbuttonIMin, QT_TR_NOOP("Minimum quantizer allowed for I-frames"), NULL);
1162 
1163   spinbuttonPMin_adj = gtk_adjustment_new (2, 1, 31, 1, 10, 10);
1164   spinbuttonPMin = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonPMin_adj), 1, 0);
1165   gtk_widget_show (spinbuttonPMin);
1166   gtk_box_pack_start (GTK_BOX (vbox12), spinbuttonPMin, FALSE, FALSE, 0);
1167   gtk_tooltips_set_tip (tooltips, spinbuttonPMin, QT_TR_NOOP("Minimum quantizer allowed for P-frames"), NULL);
1168 
1169   spinbuttonBMin_adj = gtk_adjustment_new (2, 1, 31, 1, 10, 10);
1170   spinbuttonBMin = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonBMin_adj), 1, 0);
1171   gtk_widget_show (spinbuttonBMin);
1172   gtk_box_pack_start (GTK_BOX (vbox12), spinbuttonBMin, FALSE, FALSE, 0);
1173   gtk_tooltips_set_tip (tooltips, spinbuttonBMin, QT_TR_NOOP("Minimum quantizer allowed for B-frames"), NULL);
1174 
1175   vbox13 = gtk_vbox_new (FALSE, 5);
1176   gtk_widget_show (vbox13);
1177   gtk_box_pack_start (GTK_BOX (hbox14), vbox13, FALSE, FALSE, 0);
1178 
1179   labelIFrameQuantizerMax = gtk_label_new (QT_TR_NOOP("Max:"));
1180   gtk_widget_show (labelIFrameQuantizerMax);
1181   gtk_box_pack_start (GTK_BOX (vbox13), labelIFrameQuantizerMax, TRUE, TRUE, 0);
1182   gtk_misc_set_alignment (GTK_MISC (labelIFrameQuantizerMax), 0, 0.5);
1183 
1184   labelPFrameQuantizerMax = gtk_label_new (QT_TR_NOOP("Max:"));
1185   gtk_widget_show (labelPFrameQuantizerMax);
1186   gtk_box_pack_start (GTK_BOX (vbox13), labelPFrameQuantizerMax, TRUE, TRUE, 0);
1187   gtk_misc_set_alignment (GTK_MISC (labelPFrameQuantizerMax), 0, 0.5);
1188 
1189   labelBFrameQuantizerMax = gtk_label_new (QT_TR_NOOP("Max:"));
1190   gtk_widget_show (labelBFrameQuantizerMax);
1191   gtk_box_pack_start (GTK_BOX (vbox13), labelBFrameQuantizerMax, TRUE, TRUE, 0);
1192   gtk_misc_set_alignment (GTK_MISC (labelBFrameQuantizerMax), 0, 0.5);
1193 
1194   vbox14 = gtk_vbox_new (FALSE, 5);
1195   gtk_widget_show (vbox14);
1196   gtk_box_pack_start (GTK_BOX (hbox14), vbox14, FALSE, FALSE, 0);
1197 
1198   spinbuttonIMax_adj = gtk_adjustment_new (31, 1, 31, 1, 10, 10);
1199   spinbuttonIMax = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonIMax_adj), 1, 0);
1200   gtk_widget_show (spinbuttonIMax);
1201   gtk_box_pack_start (GTK_BOX (vbox14), spinbuttonIMax, FALSE, FALSE, 0);
1202   gtk_tooltips_set_tip (tooltips, spinbuttonIMax, QT_TR_NOOP("Maximum quantizer allowed for I-frames"), NULL);
1203 
1204   spinbuttonPMax_adj = gtk_adjustment_new (31, 1, 31, 1, 10, 10);
1205   spinbuttonPMax = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonPMax_adj), 1, 0);
1206   gtk_widget_show (spinbuttonPMax);
1207   gtk_box_pack_start (GTK_BOX (vbox14), spinbuttonPMax, FALSE, FALSE, 0);
1208   gtk_tooltips_set_tip (tooltips, spinbuttonPMax, QT_TR_NOOP("Maximum quantizer allowed for P-frames"), NULL);
1209 
1210   spinbuttonBMax_adj = gtk_adjustment_new (31, 1, 31, 1, 10, 10);
1211   spinbuttonBMax = gtk_spin_button_new (GTK_ADJUSTMENT (spinbuttonBMax_adj), 1, 0);
1212   gtk_widget_show (spinbuttonBMax);
1213   gtk_box_pack_start (GTK_BOX (vbox14), spinbuttonBMax, FALSE, FALSE, 0);
1214   gtk_tooltips_set_tip (tooltips, spinbuttonBMax, QT_TR_NOOP("Maximum quantizer allowed for B-frames"), NULL);
1215 
1216   labelQuantizerRestrictions = gtk_label_new (QT_TR_NOOP("Quantizer restrictions"));
1217   gtk_widget_show (labelQuantizerRestrictions);
1218   gtk_frame_set_label_widget (GTK_FRAME (frameQuantizationRestrictions), labelQuantizerRestrictions);
1219 
1220   checkbuttonTrellis = gtk_check_button_new_with_mnemonic (QT_TR_NOOP("_Trellis quantization"));
1221   gtk_widget_show (checkbuttonTrellis);
1222   gtk_box_pack_start (GTK_BOX (vbox10), checkbuttonTrellis, FALSE, FALSE, 0);
1223   gtk_tooltips_set_tip (tooltips, checkbuttonTrellis, QT_TR_NOOP("Rate distortion quantization, will find optimal encoding for each block"), NULL);
1224 
1225   labelQuantization = gtk_label_new (QT_TR_NOOP("Quantization"));
1226   gtk_widget_show (labelQuantization);
1227   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), labelQuantization);
1228 
1229   vbox15 = gtk_vbox_new (FALSE, 5);
1230   gtk_widget_show (vbox15);
1231   gtk_container_add (GTK_CONTAINER (notebook1), vbox15);
1232   gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (notebook1), vbox15,
1233                                       FALSE, FALSE, GTK_PACK_START);
1234   gtk_container_set_border_width (GTK_CONTAINER (vbox15), 5);
1235 
1236   frameTwoPassTuning = gtk_frame_new (NULL);
1237   gtk_widget_show (frameTwoPassTuning);
1238   gtk_box_pack_start (GTK_BOX (vbox15), frameTwoPassTuning, FALSE, FALSE, 0);
1239 
1240   vbox16 = gtk_vbox_new (FALSE, 10);
1241   gtk_widget_show (vbox16);
1242   gtk_container_add (GTK_CONTAINER (frameTwoPassTuning), vbox16);
1243   gtk_container_set_border_width (GTK_CONTAINER (vbox16), 5);
1244 
1245   hbox = gtk_hbox_new (FALSE, 10);
1246   gtk_widget_show (hbox);
1247   gtk_box_pack_start (GTK_BOX (vbox16), hbox, FALSE, FALSE, 0);
1248 
1249   vbox17 = gtk_vbox_new (FALSE, 0);
1250   gtk_widget_show (vbox17);
1251   gtk_box_pack_start (GTK_BOX (hbox), vbox17, TRUE, TRUE, 0);
1252 
1253   labelIFrameBoost = gtk_label_new (QT_TR_NOOP("I-frame boost (%):"));
1254   gtk_widget_show (labelIFrameBoost);
1255   gtk_box_pack_start (GTK_BOX (vbox17), labelIFrameBoost, TRUE, TRUE, 0);
1256   gtk_misc_set_alignment (GTK_MISC (labelIFrameBoost), 0, 0.5);
1257 
1258   labelIFrameCloserThan = gtk_label_new (QT_TR_NOOP("I-frames closer than ... frames..."));
1259   gtk_widget_show (labelIFrameCloserThan);
1260   gtk_box_pack_start (GTK_BOX (vbox17), labelIFrameCloserThan, TRUE, TRUE, 0);
1261   gtk_misc_set_alignment (GTK_MISC (labelIFrameCloserThan), 0, 0.5);
1262 
1263   labelAreReducedBy = gtk_label_new (QT_TR_NOOP("...are reduced by (%):"));
1264   gtk_widget_show (labelAreReducedBy);
1265   gtk_box_pack_start (GTK_BOX (vbox17), labelAreReducedBy, TRUE, TRUE, 0);
1266   gtk_misc_set_alignment (GTK_MISC (labelAreReducedBy), 0, 0.5);
1267 
1268   labelMaxOverflowImprovement = gtk_label_new (QT_TR_NOOP("Max overflow improvement (%):"));
1269   gtk_widget_show (labelMaxOverflowImprovement);
1270   gtk_box_pack_start (GTK_BOX (vbox17), labelMaxOverflowImprovement, TRUE, TRUE, 0);
1271   gtk_misc_set_alignment (GTK_MISC (labelMaxOverflowImprovement), 0, 0.5);
1272 
1273   labelMaxOverflowDegradation = gtk_label_new (QT_TR_NOOP("Max overflow degradation (%):"));
1274   gtk_widget_show (labelMaxOverflowDegradation);
1275   gtk_box_pack_start (GTK_BOX (vbox17), labelMaxOverflowDegradation, TRUE, TRUE, 0);
1276   gtk_misc_set_alignment (GTK_MISC (labelMaxOverflowDegradation), 0, 0.5);
1277 
1278   vbox18 = gtk_vbox_new (FALSE, 5);
1279   gtk_widget_show (vbox18);
1280   gtk_box_pack_start (GTK_BOX (hbox), vbox18, FALSE, FALSE, 0);
1281 
1282   entryIBoost = gtk_entry_new ();
1283   gtk_widget_show (entryIBoost);
1284   gtk_box_pack_start (GTK_BOX (vbox18), entryIBoost, FALSE, FALSE, 0);
1285   gtk_tooltips_set_tip (tooltips, entryIBoost, QT_TR_NOOP("A value of 20 will give 20% more bits to every I-frame"), NULL);
1286 
1287   entryIInterv = gtk_entry_new ();
1288   gtk_widget_show (entryIInterv);
1289   gtk_box_pack_start (GTK_BOX (vbox18), entryIInterv, FALSE, FALSE, 0);
1290   gtk_widget_set_size_request (entryIInterv, 158, -1);
1291   gtk_tooltips_set_tip (tooltips, entryIInterv, QT_TR_NOOP("I-frames appearing in the range below this value will be treated as consecutive keyframes"), NULL);
1292 
1293   entryIreduction = gtk_entry_new ();
1294   gtk_widget_show (entryIreduction);
1295   gtk_box_pack_start (GTK_BOX (vbox18), entryIreduction, FALSE, FALSE, 0);
1296   gtk_tooltips_set_tip (tooltips, entryIreduction, QT_TR_NOOP("Reduction of bitrate for the first consecutive I-frames. The last I-frame will get treated normally"), NULL);
1297 
1298   entryMaxOvrImp = gtk_entry_new ();
1299   gtk_widget_show (entryMaxOvrImp);
1300   gtk_box_pack_start (GTK_BOX (vbox18), entryMaxOvrImp, FALSE, FALSE, 0);
1301   gtk_tooltips_set_tip (tooltips, entryMaxOvrImp, QT_TR_NOOP("How much of the overflow the codec can eat into during undersized sections - larger values will bridge the gap faster"), NULL);
1302 
1303   entryMaxOvrDeg = gtk_entry_new ();
1304   gtk_widget_show (entryMaxOvrDeg);
1305   gtk_box_pack_start (GTK_BOX (vbox18), entryMaxOvrDeg, FALSE, FALSE, 0);
1306   gtk_tooltips_set_tip (tooltips, entryMaxOvrDeg, QT_TR_NOOP("How much of the overflow the codec can eat into during oversized sections - larger values will bridge the gap faster"), NULL);
1307 
1308   labelTwoPassTuning = gtk_label_new (QT_TR_NOOP("Two pass tuning"));
1309   gtk_widget_show (labelTwoPassTuning);
1310   gtk_frame_set_label_widget (GTK_FRAME (frameTwoPassTuning), labelTwoPassTuning);
1311 
1312   frameCurveCompression = gtk_frame_new (NULL);
1313   gtk_widget_show (frameCurveCompression);
1314   gtk_box_pack_start (GTK_BOX (vbox15), frameCurveCompression, FALSE, FALSE, 0);
1315 
1316   hbox18 = gtk_hbox_new (FALSE, 10);
1317   gtk_widget_show (hbox18);
1318   gtk_container_add (GTK_CONTAINER (frameCurveCompression), hbox18);
1319   gtk_container_set_border_width (GTK_CONTAINER (hbox18), 5);
1320 
1321   vbox19 = gtk_vbox_new (FALSE, 0);
1322   gtk_widget_show (vbox19);
1323   gtk_box_pack_start (GTK_BOX (hbox18), vbox19, TRUE, TRUE, 0);
1324 
1325   labelHighBitrateScenes = gtk_label_new (QT_TR_NOOP("High bitrate scenes (%):"));
1326   gtk_widget_show (labelHighBitrateScenes);
1327   gtk_box_pack_start (GTK_BOX (vbox19), labelHighBitrateScenes, TRUE, TRUE, 0);
1328   gtk_misc_set_alignment (GTK_MISC (labelHighBitrateScenes), 0, 0.5);
1329 
1330   labelLowBitrateScenes = gtk_label_new (QT_TR_NOOP("Low bitrate scenes (%):"));
1331   gtk_widget_show (labelLowBitrateScenes);
1332   gtk_box_pack_start (GTK_BOX (vbox19), labelLowBitrateScenes, TRUE, TRUE, 0);
1333   gtk_misc_set_alignment (GTK_MISC (labelLowBitrateScenes), 0, 0.5);
1334 
1335   labelOverflowControlStrength = gtk_label_new (QT_TR_NOOP("Overflow control strength (%):"));
1336   gtk_widget_show (labelOverflowControlStrength);
1337   gtk_box_pack_start (GTK_BOX (vbox19), labelOverflowControlStrength, TRUE, TRUE, 0);
1338   gtk_misc_set_alignment (GTK_MISC (labelOverflowControlStrength), 0, 0.5);
1339 
1340   vbox20 = gtk_vbox_new (FALSE, 5);
1341   gtk_widget_show (vbox20);
1342   gtk_box_pack_start (GTK_BOX (hbox18), vbox20, FALSE, FALSE, 0);
1343 
1344   entryHiPass = gtk_entry_new ();
1345   gtk_widget_show (entryHiPass);
1346   gtk_box_pack_start (GTK_BOX (vbox20), entryHiPass, FALSE, FALSE, 0);
1347   gtk_tooltips_set_tip (tooltips, entryHiPass, QT_TR_NOOP("The higher this value, the more bits get taken from frames larger than the average size, and redistributed to others"), NULL);
1348 
1349   entryLowPass = gtk_entry_new ();
1350   gtk_widget_show (entryLowPass);
1351   gtk_box_pack_start (GTK_BOX (vbox20), entryLowPass, FALSE, FALSE, 0);
1352   gtk_tooltips_set_tip (tooltips, entryLowPass, QT_TR_NOOP("The higher this value, the more bits get assigned to frames below the average frame size"), NULL);
1353 
1354   entryOvrControl = gtk_entry_new ();
1355   gtk_widget_show (entryOvrControl);
1356   gtk_box_pack_start (GTK_BOX (vbox20), entryOvrControl, FALSE, FALSE, 0);
1357   gtk_tooltips_set_tip (tooltips, entryOvrControl, QT_TR_NOOP("0 = default from core (let XviD decide), else overflow payback percent per frame"), NULL);
1358 
1359   labelCurveCompression = gtk_label_new (QT_TR_NOOP("Curve compression"));
1360   gtk_widget_show (labelCurveCompression);
1361   gtk_frame_set_label_widget (GTK_FRAME (frameCurveCompression), labelCurveCompression);
1362 
1363   labelSecondPass = gtk_label_new (QT_TR_NOOP("Second Pass"));
1364   gtk_widget_show (labelSecondPass);
1365   gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), labelSecondPass);
1366 
1367   dialog_action_area1 = GTK_DIALOG (dialog1)->action_area;
1368   gtk_widget_show (dialog_action_area1);
1369   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
1370 
1371   cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
1372   gtk_widget_show (cancelbutton1);
1373   gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), cancelbutton1, GTK_RESPONSE_CANCEL);
1374   GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
1375 
1376   okbutton1 = gtk_button_new_from_stock ("gtk-ok");
1377   gtk_widget_show (okbutton1);
1378   gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), okbutton1, GTK_RESPONSE_OK);
1379   GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
1380 
1381   /* Store pointers to all widgets, for use by lookup_widget(). */
1382   GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1");
1383   GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1");
1384   GLADE_HOOKUP_OBJECT (dialog1, notebook1, "notebook1");
1385   GLADE_HOOKUP_OBJECT (dialog1, vbox2, "vbox2");
1386   GLADE_HOOKUP_OBJECT (dialog1, frame1, "frame1");
1387   GLADE_HOOKUP_OBJECT (dialog1, vbox3, "vbox3");
1388   GLADE_HOOKUP_OBJECT (dialog1, hbox19, "hbox19");
1389   GLADE_HOOKUP_OBJECT (dialog1, vbox21, "vbox21");
1390   GLADE_HOOKUP_OBJECT (dialog1, label10, "label10");
1391   GLADE_HOOKUP_OBJECT (dialog1, label11, "label11");
1392   GLADE_HOOKUP_OBJECT (dialog1, label12, "label12");
1393   GLADE_HOOKUP_OBJECT (dialog1, vbox22, "vbox22");
1394   GLADE_HOOKUP_OBJECT (dialog1, optionmenuType, "optionmenuType");
1395   GLADE_HOOKUP_OBJECT (dialog1, menu1, "menu1");
1396   GLADE_HOOKUP_OBJECT (dialog1, one_pass_cbr1, "one_pass_cbr1");
1397   GLADE_HOOKUP_OBJECT (dialog1, one_pass_quantizer1, "one_pass_quantizer1");
1398   GLADE_HOOKUP_OBJECT (dialog1, two_pass1, "two_pass1");
1399   GLADE_HOOKUP_OBJECT (dialog1, two_pass__average_bitrate1, "two_pass__average_bitrate1");
1400   GLADE_HOOKUP_OBJECT (dialog1, same_qz_as_input1, "same_qz_as_input1");
1401   GLADE_HOOKUP_OBJECT (dialog1, entryEntry, "entryEntry");
1402   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonQuant, "spinbuttonQuant");
1403   GLADE_HOOKUP_OBJECT (dialog1, label9, "label9");
1404   GLADE_HOOKUP_OBJECT (dialog1, hbox7, "hbox7");
1405   GLADE_HOOKUP_OBJECT (dialog1, vbox4, "vbox4");
1406   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonInterlaced, "checkbuttonInterlaced");
1407   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonGreyScale, "checkbuttonGreyScale");
1408   GLADE_HOOKUP_OBJECT (dialog1, vbox5, "vbox5");
1409   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonCartoon, "checkbuttonCartoon");
1410   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonChroma, "checkbuttonChroma");
1411   GLADE_HOOKUP_OBJECT (dialog1, vbox23, "vbox23");
1412   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonTurbo, "checkbuttonTurbo");
1413   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonPacked, "checkbuttonPacked");
1414   GLADE_HOOKUP_OBJECT (dialog1, labelMain, "labelMain");
1415   GLADE_HOOKUP_OBJECT (dialog1, vbox6, "vbox6");
1416   GLADE_HOOKUP_OBJECT (dialog1, hbox8, "hbox8");
1417   GLADE_HOOKUP_OBJECT (dialog1, vbox8, "vbox8");
1418   GLADE_HOOKUP_OBJECT (dialog1, labelMotionSearchPrecision, "labelMotionSearchPrecision");
1419   GLADE_HOOKUP_OBJECT (dialog1, labelVHQMode, "labelVHQMode");
1420   GLADE_HOOKUP_OBJECT (dialog1, vbox7, "vbox7");
1421   GLADE_HOOKUP_OBJECT (dialog1, optionmenuMS, "optionmenuMS");
1422   GLADE_HOOKUP_OBJECT (dialog1, menu2, "menu2");
1423   GLADE_HOOKUP_OBJECT (dialog1, _0___none1, "_0___none1");
1424   GLADE_HOOKUP_OBJECT (dialog1, _1___very_low1, "_1___very_low1");
1425   GLADE_HOOKUP_OBJECT (dialog1, _2___low2, "_2___low2");
1426   GLADE_HOOKUP_OBJECT (dialog1, _3___medium1, "_3___medium1");
1427   GLADE_HOOKUP_OBJECT (dialog1, _4___high1, "_4___high1");
1428   GLADE_HOOKUP_OBJECT (dialog1, _5___very_high1, "_5___very_high1");
1429   GLADE_HOOKUP_OBJECT (dialog1, _6___ultra_high1, "_6___ultra_high1");
1430   GLADE_HOOKUP_OBJECT (dialog1, optionmenuVHQ, "optionmenuVHQ");
1431   GLADE_HOOKUP_OBJECT (dialog1, menu3, "menu3");
1432   GLADE_HOOKUP_OBJECT (dialog1, _0___off1, "_0___off1");
1433   GLADE_HOOKUP_OBJECT (dialog1, _1___mode_decision1, "_1___mode_decision1");
1434   GLADE_HOOKUP_OBJECT (dialog1, _2___limited_search1, "_2___limited_search1");
1435   GLADE_HOOKUP_OBJECT (dialog1, _3___medium_search1, "_3___medium_search1");
1436   GLADE_HOOKUP_OBJECT (dialog1, _4___wide_search1, "_4___wide_search1");
1437   GLADE_HOOKUP_OBJECT (dialog1, hbox10, "hbox10");
1438   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonChromaMotion, "checkbuttonChromaMotion");
1439   GLADE_HOOKUP_OBJECT (dialog1, checkbutton4MV, "checkbutton4MV");
1440   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonHQAC, "checkbuttonHQAC");
1441   GLADE_HOOKUP_OBJECT (dialog1, hbox9, "hbox9");
1442   GLADE_HOOKUP_OBJECT (dialog1, labelIFrameIntervalMin, "labelIFrameIntervalMin");
1443   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonIMinPeriod, "spinbuttonIMinPeriod");
1444   GLADE_HOOKUP_OBJECT (dialog1, labelIFrameIntervalMax, "labelIFrameIntervalMax");
1445   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonIMaxPeriod, "spinbuttonIMaxPeriod");
1446   GLADE_HOOKUP_OBJECT (dialog1, frameAdvancedSimpleProfile, "frameAdvancedSimpleProfile");
1447   GLADE_HOOKUP_OBJECT (dialog1, vbox9, "vbox9");
1448   GLADE_HOOKUP_OBJECT (dialog1, hbox11, "hbox11");
1449   GLADE_HOOKUP_OBJECT (dialog1, labelNumberOfBFrames, "labelNumberOfBFrames");
1450   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonBFrame, "spinbuttonBFrame");
1451   GLADE_HOOKUP_OBJECT (dialog1, hbox12, "hbox12");
1452   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonQPel, "checkbuttonQPel");
1453   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonGMC, "checkbuttonGMC");
1454   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonBVHQ, "checkbuttonBVHQ");
1455   GLADE_HOOKUP_OBJECT (dialog1, labelAdvancedSimpleProfile, "labelAdvancedSimpleProfile");
1456   GLADE_HOOKUP_OBJECT (dialog1, checkbutton_par_asinput, "checkbutton_par_asinput");
1457   GLADE_HOOKUP_OBJECT (dialog1, spinbutton_par_width, "spinbutton_par_width");
1458   GLADE_HOOKUP_OBJECT (dialog1, spinbutton_par_height, "spinbutton_par_height");
1459   GLADE_HOOKUP_OBJECT (dialog1, labelMotionEstimation, "labelMotionEstimation");
1460   GLADE_HOOKUP_OBJECT (dialog1, vbox10, "vbox10");
1461   GLADE_HOOKUP_OBJECT (dialog1, hbox13, "hbox13");
1462   GLADE_HOOKUP_OBJECT (dialog1, labelQuantizationType, "labelQuantizationType");
1463   GLADE_HOOKUP_OBJECT (dialog1, radiobuttonH263, "radiobuttonH263");
1464   GLADE_HOOKUP_OBJECT (dialog1, radiobuttonMpeg, "radiobuttonMpeg");
1465   GLADE_HOOKUP_OBJECT (dialog1, radiobuttonCustomMatrix, "radiobuttonCustomMatrix");
1466   GLADE_HOOKUP_OBJECT (dialog1, hbox20, "hbox20");
1467   GLADE_HOOKUP_OBJECT (dialog1, labelLoadCustomMatrix, "labelLoadCustomMatrix");
1468   GLADE_HOOKUP_OBJECT (dialog1, buttonLoadMatrix, "buttonLoadMatrix");
1469   GLADE_HOOKUP_OBJECT (dialog1, alignment6, "alignment6");
1470   GLADE_HOOKUP_OBJECT (dialog1, hbox21, "hbox21");
1471   GLADE_HOOKUP_OBJECT (dialog1, image1, "image1");
1472   GLADE_HOOKUP_OBJECT (dialog1, label13, "label13");
1473   GLADE_HOOKUP_OBJECT (dialog1, vseparator1, "vseparator1");
1474   GLADE_HOOKUP_OBJECT (dialog1, buttonCreateCustomMatrix, "buttonCreateCustomMatrix");
1475   GLADE_HOOKUP_OBJECT (dialog1, frameQuantizationRestrictions, "frameQuantizationRestrictions");
1476   GLADE_HOOKUP_OBJECT (dialog1, hbox14, "hbox14");
1477   GLADE_HOOKUP_OBJECT (dialog1, vbox11, "vbox11");
1478   GLADE_HOOKUP_OBJECT (dialog1, labelIFrameQuantizerMin, "labelIFrameQuantizerMin");
1479   GLADE_HOOKUP_OBJECT (dialog1, labelPFrameQuantizerMin, "labelPFrameQuantizerMin");
1480   GLADE_HOOKUP_OBJECT (dialog1, labelBFrameQuantizaterMin, "labelBFrameQuantizaterMin");
1481   GLADE_HOOKUP_OBJECT (dialog1, vbox12, "vbox12");
1482   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonIMin, "spinbuttonIMin");
1483   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonPMin, "spinbuttonPMin");
1484   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonBMin, "spinbuttonBMin");
1485   GLADE_HOOKUP_OBJECT (dialog1, vbox13, "vbox13");
1486   GLADE_HOOKUP_OBJECT (dialog1, labelIFrameQuantizerMax, "labelIFrameQuantizerMax");
1487   GLADE_HOOKUP_OBJECT (dialog1, labelPFrameQuantizerMax, "labelPFrameQuantizerMax");
1488   GLADE_HOOKUP_OBJECT (dialog1, labelBFrameQuantizerMax, "labelBFrameQuantizerMax");
1489   GLADE_HOOKUP_OBJECT (dialog1, vbox14, "vbox14");
1490   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonIMax, "spinbuttonIMax");
1491   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonPMax, "spinbuttonPMax");
1492   GLADE_HOOKUP_OBJECT (dialog1, spinbuttonBMax, "spinbuttonBMax");
1493   GLADE_HOOKUP_OBJECT (dialog1, labelQuantizerRestrictions, "labelQuantizerRestrictions");
1494   GLADE_HOOKUP_OBJECT (dialog1, checkbuttonTrellis, "checkbuttonTrellis");
1495   GLADE_HOOKUP_OBJECT (dialog1, labelQuantization, "labelQuantization");
1496   GLADE_HOOKUP_OBJECT (dialog1, vbox15, "vbox15");
1497   GLADE_HOOKUP_OBJECT (dialog1, frameTwoPassTuning, "frameTwoPassTuning");
1498   GLADE_HOOKUP_OBJECT (dialog1, vbox16, "vbox16");
1499   GLADE_HOOKUP_OBJECT (dialog1, hbox, "hbox");
1500   GLADE_HOOKUP_OBJECT (dialog1, vbox17, "vbox17");
1501   GLADE_HOOKUP_OBJECT (dialog1, labelIFrameBoost, "labelIFrameBoost");
1502   GLADE_HOOKUP_OBJECT (dialog1, labelIFrameCloserThan, "labelIFrameCloserThan");
1503   GLADE_HOOKUP_OBJECT (dialog1, labelAreReducedBy, "labelAreReducedBy");
1504   GLADE_HOOKUP_OBJECT (dialog1, labelMaxOverflowImprovement, "labelMaxOverflowImprovement");
1505   GLADE_HOOKUP_OBJECT (dialog1, labelMaxOverflowDegradation, "labelMaxOverflowDegradation");
1506   GLADE_HOOKUP_OBJECT (dialog1, vbox18, "vbox18");
1507   GLADE_HOOKUP_OBJECT (dialog1, entryIBoost, "entryIBoost");
1508   GLADE_HOOKUP_OBJECT (dialog1, entryIInterv, "entryIInterv");
1509   GLADE_HOOKUP_OBJECT (dialog1, entryIreduction, "entryIreduction");
1510   GLADE_HOOKUP_OBJECT (dialog1, entryMaxOvrImp, "entryMaxOvrImp");
1511   GLADE_HOOKUP_OBJECT (dialog1, entryMaxOvrDeg, "entryMaxOvrDeg");
1512   GLADE_HOOKUP_OBJECT (dialog1, labelTwoPassTuning, "labelTwoPassTuning");
1513   GLADE_HOOKUP_OBJECT (dialog1, frameCurveCompression, "frameCurveCompression");
1514   GLADE_HOOKUP_OBJECT (dialog1, hbox18, "hbox18");
1515   GLADE_HOOKUP_OBJECT (dialog1, vbox19, "vbox19");
1516   GLADE_HOOKUP_OBJECT (dialog1, labelHighBitrateScenes, "labelHighBitrateScenes");
1517   GLADE_HOOKUP_OBJECT (dialog1, labelLowBitrateScenes, "labelLowBitrateScenes");
1518   GLADE_HOOKUP_OBJECT (dialog1, labelOverflowControlStrength, "labelOverflowControlStrength");
1519   GLADE_HOOKUP_OBJECT (dialog1, vbox20, "vbox20");
1520   GLADE_HOOKUP_OBJECT (dialog1, entryHiPass, "entryHiPass");
1521   GLADE_HOOKUP_OBJECT (dialog1, entryLowPass, "entryLowPass");
1522   GLADE_HOOKUP_OBJECT (dialog1, entryOvrControl, "entryOvrControl");
1523   GLADE_HOOKUP_OBJECT (dialog1, labelCurveCompression, "labelCurveCompression");
1524   GLADE_HOOKUP_OBJECT (dialog1, labelSecondPass, "labelSecondPass");
1525   GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1");
1526   GLADE_HOOKUP_OBJECT (dialog1, cancelbutton1, "cancelbutton1");
1527   GLADE_HOOKUP_OBJECT (dialog1, okbutton1, "okbutton1");
1528   GLADE_HOOKUP_OBJECT_NO_REF (dialog1, tooltips, "tooltips");
1529 
1530   return dialog1;
1531 }
1532 
1533 GtkWidget*
create_dialog3(void)1534 create_dialog3 (void)
1535 {
1536   GtkWidget *dialog3;
1537   GtkWidget *dialog_vbox3;
1538   GtkWidget *vbox26;
1539   GtkWidget *frame7;
1540   GtkWidget *alignment12;
1541   GtkWidget *tableIntra;
1542   GtkWidget *label19;
1543   GtkWidget *frame6;
1544   GtkWidget *alignment11;
1545   GtkWidget *tableInter;
1546   GtkWidget *label18;
1547   GtkWidget *dialog_action_area4;
1548   GtkWidget *button12;
1549   GtkWidget *button13;
1550   GtkWidget *button14;
1551 
1552   dialog3 = gtk_dialog_new ();
1553   gtk_window_set_title (GTK_WINDOW (dialog3), QT_TR_NOOP("Edit Custom Matrix"));
1554   gtk_window_set_type_hint (GTK_WINDOW (dialog3), GDK_WINDOW_TYPE_HINT_DIALOG);
1555 
1556   dialog_vbox3 = GTK_DIALOG (dialog3)->vbox;
1557   gtk_widget_show (dialog_vbox3);
1558 
1559   vbox26 = gtk_vbox_new (FALSE, 0);
1560   gtk_widget_show (vbox26);
1561   gtk_box_pack_start (GTK_BOX (dialog_vbox3), vbox26, TRUE, TRUE, 0);
1562 
1563   frame7 = gtk_frame_new (NULL);
1564   gtk_widget_show (frame7);
1565   gtk_box_pack_start (GTK_BOX (vbox26), frame7, TRUE, TRUE, 0);
1566 
1567   alignment12 = gtk_alignment_new (0.5, 0.5, 1, 1);
1568   gtk_widget_show (alignment12);
1569   gtk_container_add (GTK_CONTAINER (frame7), alignment12);
1570   gtk_alignment_set_padding (GTK_ALIGNMENT (alignment12), 0, 0, 12, 0);
1571 
1572   tableIntra = gtk_table_new (8, 8, FALSE);
1573   gtk_widget_show (tableIntra);
1574   gtk_container_add (GTK_CONTAINER (alignment12), tableIntra);
1575 
1576   label19 = gtk_label_new (QT_TR_NOOP("<b>Intra Matrix</b>"));
1577   gtk_widget_show (label19);
1578   gtk_frame_set_label_widget (GTK_FRAME (frame7), label19);
1579   gtk_label_set_use_markup (GTK_LABEL (label19), TRUE);
1580 
1581   frame6 = gtk_frame_new (NULL);
1582   gtk_widget_show (frame6);
1583   gtk_box_pack_start (GTK_BOX (vbox26), frame6, TRUE, TRUE, 0);
1584 
1585   alignment11 = gtk_alignment_new (0.5, 0.5, 1, 1);
1586   gtk_widget_show (alignment11);
1587   gtk_container_add (GTK_CONTAINER (frame6), alignment11);
1588   gtk_alignment_set_padding (GTK_ALIGNMENT (alignment11), 0, 0, 12, 0);
1589 
1590   tableInter = gtk_table_new (8, 8, FALSE);
1591   gtk_widget_show (tableInter);
1592   gtk_container_add (GTK_CONTAINER (alignment11), tableInter);
1593 
1594   label18 = gtk_label_new (QT_TR_NOOP("<b>Inter Matrix</b>"));
1595   gtk_widget_show (label18);
1596   gtk_frame_set_label_widget (GTK_FRAME (frame6), label18);
1597   gtk_label_set_use_markup (GTK_LABEL (label18), TRUE);
1598 
1599   dialog_action_area4 = GTK_DIALOG (dialog3)->action_area;
1600   gtk_widget_show (dialog_action_area4);
1601   gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
1602 
1603   button12 = gtk_button_new_from_stock ("gtk-save");
1604   gtk_widget_show (button12);
1605   gtk_dialog_add_action_widget (GTK_DIALOG (dialog3), button12, 0);
1606   GTK_WIDGET_SET_FLAGS (button12, GTK_CAN_DEFAULT);
1607 
1608   button13 = gtk_button_new_from_stock ("gtk-cancel");
1609   gtk_widget_show (button13);
1610   gtk_dialog_add_action_widget (GTK_DIALOG (dialog3), button13, GTK_RESPONSE_CANCEL);
1611   GTK_WIDGET_SET_FLAGS (button13, GTK_CAN_DEFAULT);
1612 
1613   button14 = gtk_button_new_from_stock ("gtk-ok");
1614   gtk_widget_show (button14);
1615   gtk_dialog_add_action_widget (GTK_DIALOG (dialog3), button14, GTK_RESPONSE_OK);
1616   GTK_WIDGET_SET_FLAGS (button14, GTK_CAN_DEFAULT);
1617 
1618   /* Store pointers to all widgets, for use by lookup_widget(). */
1619   GLADE_HOOKUP_OBJECT_NO_REF (dialog3, dialog3, "dialog3");
1620   GLADE_HOOKUP_OBJECT_NO_REF (dialog3, dialog_vbox3, "dialog_vbox3");
1621   GLADE_HOOKUP_OBJECT (dialog3, vbox26, "vbox26");
1622   GLADE_HOOKUP_OBJECT (dialog3, frame7, "frame7");
1623   GLADE_HOOKUP_OBJECT (dialog3, alignment12, "alignment12");
1624   GLADE_HOOKUP_OBJECT (dialog3, tableIntra, "tableIntra");
1625   GLADE_HOOKUP_OBJECT (dialog3, label19, "label19");
1626   GLADE_HOOKUP_OBJECT (dialog3, frame6, "frame6");
1627   GLADE_HOOKUP_OBJECT (dialog3, alignment11, "alignment11");
1628   GLADE_HOOKUP_OBJECT (dialog3, tableInter, "tableInter");
1629   GLADE_HOOKUP_OBJECT (dialog3, label18, "label18");
1630   GLADE_HOOKUP_OBJECT_NO_REF (dialog3, dialog_action_area4, "dialog_action_area4");
1631   GLADE_HOOKUP_OBJECT (dialog3, button12, "button12");
1632   GLADE_HOOKUP_OBJECT (dialog3, button13, "button13");
1633   GLADE_HOOKUP_OBJECT (dialog3, button14, "button14");
1634 
1635   return dialog3;
1636 }
1637 #endif
1638