@@ -402,21 +402,109 @@ def init_preset(self):
402
402
"preset: The slower the preset, the better the compression and quality\n "
403
403
"Slow is highest personal recommenced, as past that is much smaller gains"
404
404
),
405
- connect = "default" ,
405
+ connect = self . preset_update ,
406
406
opt = "preset" ,
407
407
)
408
408
return layout
409
409
410
+ def preset_update (self ):
411
+ def set_aq (num ):
412
+ if self .widgets .tune .currentIndex () == 0 :
413
+ self .widgets .aq_mode .setCurrentIndex (num )
414
+ if self .widgets ["tune" ].currentText () == "animation" :
415
+ bframes = 5
416
+ if self .widgets .preset .currentIndex () >= 2 :
417
+ bframes = 6
418
+ if self .widgets .preset .currentIndex () >= 7 :
419
+ bframes = 10
420
+ self .widgets .bframes .setCurrentIndex (bframes )
421
+
422
+ if self .widgets ["preset" ].currentText () == "ultrafast" :
423
+ self .widgets .bframes .setCurrentIndex (3 )
424
+ self .widgets .b_adapt .setCurrentIndex (0 )
425
+ set_aq (0 )
426
+ elif self .widgets ["preset" ].currentText () == "superfast" :
427
+ self .widgets .bframes .setCurrentIndex (3 )
428
+ self .widgets .b_adapt .setCurrentIndex (0 )
429
+ set_aq (0 )
430
+ elif self .widgets ["preset" ].currentText () == "veryfast" :
431
+ self .widgets .bframes .setCurrentIndex (4 )
432
+ self .widgets .b_adapt .setCurrentIndex (0 )
433
+ set_aq (2 )
434
+ elif self .widgets ["preset" ].currentText () == "faster" :
435
+ self .widgets .bframes .setCurrentIndex (4 )
436
+ self .widgets .b_adapt .setCurrentIndex (0 )
437
+ set_aq (2 )
438
+ elif self .widgets ["preset" ].currentText () == "fast" :
439
+ self .widgets .bframes .setCurrentIndex (4 )
440
+ self .widgets .b_adapt .setCurrentIndex (0 )
441
+ set_aq (2 )
442
+ elif self .widgets ["preset" ].currentText () == "medium" :
443
+ self .widgets .bframes .setCurrentIndex (4 )
444
+ self .widgets .b_adapt .setCurrentIndex (2 )
445
+ set_aq (2 )
446
+ elif self .widgets ["preset" ].currentText () == "slow" :
447
+ self .widgets .bframes .setCurrentIndex (4 )
448
+ self .widgets .b_adapt .setCurrentIndex (2 )
449
+ set_aq (2 )
450
+ elif self .widgets ["preset" ].currentText () == "slower" :
451
+ self .widgets .bframes .setCurrentIndex (8 )
452
+ self .widgets .b_adapt .setCurrentIndex (2 )
453
+ set_aq (2 )
454
+ elif self .widgets ["preset" ].currentText () == "veryslow" :
455
+ self .widgets .bframes .setCurrentIndex (8 )
456
+ self .widgets .b_adapt .setCurrentIndex (2 )
457
+ set_aq (2 )
458
+ elif self .widgets ["preset" ].currentText () == "placebo" :
459
+ self .widgets .bframes .setCurrentIndex (8 )
460
+ self .widgets .b_adapt .setCurrentIndex (2 )
461
+ set_aq (2 )
462
+
410
463
def init_tune (self ):
411
464
return self ._add_combo_box (
412
465
label = "Tune" ,
413
466
widget_name = "tune" ,
414
467
options = ["default" , "psnr" , "ssim" , "grain" , "zerolatency" , "fastdecode" , "animation" ],
415
468
tooltip = "tune: Tune the settings for a particular type of source or situation" ,
416
- connect = "default" ,
469
+ connect = self . tune_update ,
417
470
opt = "tune" ,
418
471
)
419
472
473
+ def tune_update (self ):
474
+ self .widgets .aq_mode .setEnabled (True )
475
+ self .widgets .bframes .setEnabled (True )
476
+ self .widgets .b_adapt .setEnabled (True )
477
+ self .widgets .frame_threads .setEnabled (True )
478
+ self .widgets .aq_mode .setCurrentIndex (2 )
479
+ self .widgets .bframes .setCurrentIndex (4 )
480
+ self .widgets .b_adapt .setCurrentIndex (2 )
481
+ self .widgets .frame_threads .setCurrentIndex (0 )
482
+
483
+ if self .widgets ["tune" ].currentText () == "grain" :
484
+ self .widgets .aq_mode .setCurrentIndex (0 )
485
+ self .widgets .aq_mode .setEnabled (False )
486
+ self .widgets .bframes .setCurrentIndex (4 )
487
+ self .widgets .b_adapt .setCurrentIndex (2 )
488
+ elif self .widgets ["tune" ].currentText () == "psnr" :
489
+ self .widgets .aq_mode .setCurrentIndex (0 )
490
+ self .widgets .aq_mode .setEnabled (False )
491
+ self .widgets .bframes .setCurrentIndex (4 )
492
+ self .widgets .b_adapt .setCurrentIndex (2 )
493
+ elif self .widgets ["tune" ].currentText () == "zerolatency" :
494
+ self .widgets .bframes .setCurrentIndex (0 )
495
+ self .widgets .b_adapt .setCurrentIndex (0 )
496
+ self .widgets .frame_treahds .setCurrentIndex (1 )
497
+ self .widgets .bframes .setEnabled (False )
498
+ self .widgets .b_adapt .setEnabled (False )
499
+ self .widgets .frame_threads .setEnabled (False )
500
+ elif self .widgets ["tune" ].currentText () == "animation" :
501
+ bframes = 5
502
+ if self .widgets .preset .currentIndex () >= 2 :
503
+ bframes = 6
504
+ if self .widgets .preset .currentIndex () >= 7 :
505
+ bframes = 10
506
+ self .widgets .bframes .setCurrentIndex (bframes )
507
+
420
508
def init_profile (self ):
421
509
return self ._add_combo_box (
422
510
label = "Profile_encoderopt" ,
0 commit comments