/* HBAdvancedController
This file is part of the HandBrake source code.
- Homepage: <http://handbrake.m0k.org/>.
+ Homepage: <http://handbrake.fr/>.
It may be used under the terms of the GNU General Public License. */
#import "HBAdvancedController.h"
- (void) setOptions: (NSString *)string
{
[fDisplayX264Options setStringValue:string];
- [self X264AdvancedOptionsSet:NULL];
+ [self X264AdvancedOptionsSet:nil];
}
- (void) setHidden: (BOOL) hide
/*Sub Me fX264optSubmePopUp*/
[fX264optSubmePopUp removeAllItems];
- [fX264optSubmePopUp addItemWithTitle:@"Default (4)"];
+ [fX264optSubmePopUp addItemWithTitle:@"Default (6)"];
for (i=0; i<8;i++)
{
[fX264optSubmePopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
{
[fX264optAlphaDeblockPopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
}
-
+
/*Beta Deblock*/
[fX264optBetaDeblockPopUp removeAllItems];
[fX264optBetaDeblockPopUp addItemWithTitle:@"Default (0)"];
for (i=-6; i<7;i++)
{
[fX264optBetaDeblockPopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
- }
-
+ }
+
/* Analysis fX264optAnalysePopUp */
[fX264optAnalysePopUp removeAllItems];
[fX264optAnalysePopUp addItemWithTitle:@"Default (some)"]; /* 0=default */
[fX264optAnalysePopUp addItemWithTitle:[NSString stringWithFormat:@"None"]]; /* 1=none */
[fX264optAnalysePopUp addItemWithTitle:[NSString stringWithFormat:@"All"]]; /* 2=all */
-
+
/* 8x8 DCT fX264op8x8dctSwitch */
[fX264opt8x8dctSwitch setState:0];
[fX264opt8x8dctSwitch setWantsLayer:YES];
-
+
/* CABAC fX264opCabacSwitch */
[fX264optCabacSwitch setState:1];
-
+
/* Standardize the option string */
- [self X264AdvancedOptionsStandardizeOptString: NULL];
+ [self X264AdvancedOptionsStandardizeOptString:nil];
/* Set Current GUI Settings based on newly standardized string */
- [self X264AdvancedOptionsSetCurrentSettings: NULL];
-
+ [self X264AdvancedOptionsSetCurrentSettings:nil];
+
/* Fade out options that don't apply */
[self X264AdvancedOptionsAnimate: sender];
}
- B-frames (when 0 turn of b-frame specific stuff, when < 2 disable b-pyramid)
- CABAC (when 0 turn off trellis)
- subme (if under 6 turn off brdo)
- - analysis (if none, turn off 8x8dct and direct pred)
+ - analysis (if none, turn off 8x8dct)
- refs (under 2, disable mixed-refs)
*/
[[fX264optDirectPredPopUp animator] setHidden:YES];
[[fX264optDirectPredLabel animator] setHidden:YES];
- [fX264optDirectPredPopUp selectItemAtIndex: 0];
- if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 1 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
+ if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 0 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
+ {
+ [fX264optDirectPredPopUp selectItemAtIndex: 0];
[[fX264optDirectPredPopUp cell] performClick:self];
+
+ }
}
else if ( [fX264optBframesPopUp indexOfSelectedItem ] == 2)
{
[[fX264optBiMESwitch animator] setHidden:NO];
[[fX264optBiMELabel animator] setHidden:NO];
- if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7)
+ if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7 || [fX264optSubmePopUp indexOfSelectedItem] == 0 )
{
/* Only show B-RDO if both bframes and subme allow it. */
[[fX264optBRDOSwitch animator] setHidden:NO];
[[fX264optBRDOLabel animator] setHidden:NO];
}
-
- if ( [fX264optAnalysePopUp indexOfSelectedItem] != 1)
- {
- /* Only show direct pred when allowed by both bframes and analysis.*/
- [[fX264optDirectPredPopUp animator] setHidden:NO];
- [[fX264optDirectPredLabel animator] setHidden:NO];
- }
+
+ [[fX264optDirectPredPopUp animator] setHidden:NO];
+ [[fX264optDirectPredLabel animator] setHidden:NO];
}
else
{
[[fX264optBiMESwitch animator] setHidden:NO];
[[fX264optBiMELabel animator] setHidden:NO];
- if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7)
+ if ( [fX264optSubmePopUp indexOfSelectedItem] >= 7 || [fX264optSubmePopUp indexOfSelectedItem] == 0 )
{
/* Only show B-RDO if both bframes and subme allow it. */
[[fX264optBRDOSwitch animator] setHidden:NO];
[[fX264optBRDOLabel animator] setHidden:NO];
}
- if ( [fX264optAnalysePopUp indexOfSelectedItem] != 1)
- {
- /* Only show direct pred when allowed by both bframes and analysis.*/
- [[fX264optDirectPredPopUp animator] setHidden:NO];
- [[fX264optDirectPredLabel animator] setHidden:NO];
- }
+ [[fX264optDirectPredPopUp animator] setHidden:NO];
+ [[fX264optDirectPredLabel animator] setHidden:NO];
}
if ( [fX264optCabacSwitch state] == false)
[[fX264optTrellisLabel animator] setHidden:NO];
}
- if ( [fX264optSubmePopUp indexOfSelectedItem] < 7)
+ if ( [fX264optSubmePopUp indexOfSelectedItem] < 7 && [fX264optSubmePopUp indexOfSelectedItem] != 0 )
{
/* When subme < 6, B-RDO doesn't work. */
[[fX264optBRDOSwitch animator] setHidden:YES];
if ( [fX264optAnalysePopUp indexOfSelectedItem] == 1)
{
- /* No analysis? Disable 8x8dct and direct pred */
+ /* No analysis? Disable 8x8dct */
[[fX264opt8x8dctSwitch animator] setHidden:YES];
[[fX264opt8x8dctLabel animator] setHidden:YES];
if ( [fX264opt8x8dctSwitch state] == 1 && sender != fX264opt8x8dctSwitch )
[fX264opt8x8dctSwitch performClick:self];
-
- [[fX264optDirectPredPopUp animator] setHidden:YES];
- [[fX264optDirectPredLabel animator] setHidden:YES];
- [fX264optDirectPredPopUp selectItemAtIndex: 0];
- if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 1 && sender != fX264optDirectPredPopUp)
- [[fX264optDirectPredPopUp cell] performClick:self];
}
else
{
[[fX264opt8x8dctSwitch animator] setHidden:NO];
[[fX264opt8x8dctLabel animator] setHidden:NO];
-
- if ( [fX264optBframesPopUp indexOfSelectedItem ] >= 2)
- {
- /* Onlt show direct pred when allowed by both analysis and bframes */
- [[fX264optDirectPredPopUp animator] setHidden:NO];
- [[fX264optDirectPredLabel animator] setHidden:NO];
- }
}
if ( [fX264optRefPopUp indexOfSelectedItem] < 3)