summaryrefslogtreecommitdiffstats
path: root/macosx/HBAdvancedController.m
diff options
context:
space:
mode:
authorjbrjake <[email protected]>2008-10-09 17:50:44 +0000
committerjbrjake <[email protected]>2008-10-09 17:50:44 +0000
commit93288096cd99266708044c4bf177374e8f1a46de (patch)
treeb9dde196dac782433f4b00539d8a8c431115bbb9 /macosx/HBAdvancedController.m
parentffe47d6ff6ac8b5241081d382302694bfe297fee (diff)
Bumps x264 to r999, bringing with it, among other things, the removal of the b-rdo and bime options and new subme modes to replace them.
Subme 5 or greater now includes bime. Subme 7 is now subme 6 with b-rdo Subme 8 is the old subme 7 with b-rdo Subme 9 is new, does RD-refinement for b-frames. MacGui presets and advanced tab have been updated to reflect these changes (don't forget to update built-in presets). CLI will wait, as manicure.rb is in a state of flux. WinGui and LinGui still need to be updated. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1821 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx/HBAdvancedController.m')
-rw-r--r--macosx/HBAdvancedController.m96
1 files changed, 8 insertions, 88 deletions
diff --git a/macosx/HBAdvancedController.m b/macosx/HBAdvancedController.m
index c035ddd6b..b3ddeb013 100644
--- a/macosx/HBAdvancedController.m
+++ b/macosx/HBAdvancedController.m
@@ -68,8 +68,7 @@
fX264optNodctdcmtLabel,fX264optNodctdcmtSwitch,fX264optSubmeLabel,fX264optSubmePopUp,
fX264optTrellisLabel,fX264optTrellisPopUp,fX264optMixedRefsLabel,fX264optMixedRefsSwitch,
fX264optMotionEstLabel,fX264optMotionEstPopUp,fX264optMERangeLabel,fX264optMERangePopUp,
- fX264optWeightBLabel,fX264optWeightBSwitch,fX264optBRDOLabel,fX264optBRDOSwitch,
- fX264optBPyramidLabel,fX264optBPyramidSwitch,fX264optBiMELabel,fX264optBiMESwitch,
+ fX264optWeightBLabel,fX264optWeightBSwitch, fX264optBPyramidLabel,fX264optBPyramidSwitch,
fX264optDirectPredLabel,fX264optDirectPredPopUp,fX264optDeblockLabel,fX264optAnalyseLabel,
fX264optAnalysePopUp,fX264opt8x8dctLabel,fX264opt8x8dctSwitch,fX264optCabacLabel,fX264optCabacSwitch,
fX264optAlphaDeblockPopUp,fX264optBetaDeblockPopUp};
@@ -131,7 +130,7 @@
/*Sub Me fX264optSubmePopUp*/
[fX264optSubmePopUp removeAllItems];
[fX264optSubmePopUp addItemWithTitle:@"Default (6)"];
- for (i=0; i<8;i++)
+ for (i=0; i<10;i++)
{
[fX264optSubmePopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
}
@@ -169,18 +168,10 @@
[fX264optWeightBSwitch setState:0];
[fX264optWeightBSwitch setWantsLayer:YES];
- /*B-Frame Rate Distortion Optimization fX264optBRDOSwitch BOOLEAN*/
- [fX264optBRDOSwitch setState:0];
- [fX264optBRDOSwitch setWantsLayer:YES];
-
/*B-frame Pyramids fX264optBPyramidSwitch BOOLEAN*/
[fX264optBPyramidSwitch setState:0];
[fX264optBPyramidSwitch setWantsLayer:YES];
- /*Bidirectional Motion Estimation Refinement fX264optBiMESwitch BOOLEAN*/
- [fX264optBiMESwitch setState:0];
- [fX264optBiMESwitch setWantsLayer:YES];
-
/*Direct B-Frame Prediction Mode fX264optDirectPredPopUp*/
[fX264optDirectPredPopUp removeAllItems];
[fX264optDirectPredPopUp addItemWithTitle:@"Default (Spatial)"];
@@ -344,12 +335,6 @@
cleanOptNameString = @"weightb";
}
- /*BRDO*/
- if ([cleanOptNameString isEqualToString:@"b-rdo"] || [cleanOptNameString isEqualToString:@"b_rdo"])
- {
- cleanOptNameString = @"brdo";
- }
-
/*B Pyramid*/
if ([cleanOptNameString isEqualToString:@"b_pyramid"])
{
@@ -385,7 +370,6 @@
/* Lots of situations to cover.
- 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)
- refs (under 2, disable mixed-refs)
*/
@@ -397,27 +381,17 @@
that can only be used when b-frames are enabled. */
[[fX264optWeightBSwitch animator] setHidden:YES];
[[fX264optWeightBLabel animator] setHidden:YES];
- if ( [fX264optWeightBSwitch state] == 1 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
+ if ( [fX264optWeightBSwitch state] == 1 && sender != fX264optWeightBSwitch && sender != fX264optBPyramidSwitch && sender != fX264optDirectPredPopUp)
[fX264optWeightBSwitch performClick:self];
- [[fX264optBRDOSwitch animator] setHidden:YES];
- [[fX264optBRDOLabel animator] setHidden:YES];
- if ( [fX264optBRDOSwitch state] == 1 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
- [fX264optBRDOSwitch performClick:self];
-
[[fX264optBPyramidSwitch animator] setHidden:YES];
[[fX264optBPyramidLabel animator] setHidden:YES];
- if ( [fX264optBPyramidSwitch state] == 1 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
+ if ( [fX264optBPyramidSwitch state] == 1 && sender != fX264optWeightBSwitch && sender != fX264optBPyramidSwitch && sender != fX264optDirectPredPopUp)
[fX264optBPyramidSwitch performClick:self];
- [[fX264optBiMESwitch animator] setHidden:YES];
- [[fX264optBiMELabel animator] setHidden:YES];
- if ( [fX264optBiMESwitch state] == 1 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
- [fX264optBiMESwitch performClick:self];
-
[[fX264optDirectPredPopUp animator] setHidden:YES];
[[fX264optDirectPredLabel animator] setHidden:YES];
- if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 0 && sender != fX264optWeightBSwitch && sender != fX264optBRDOSwitch && sender != fX264optBPyramidSwitch && sender != fX264optBiMESwitch && sender != fX264optDirectPredPopUp)
+ if ( [fX264optDirectPredPopUp indexOfSelectedItem] > 0 && sender != fX264optWeightBSwitch && sender != fX264optBPyramidSwitch && sender != fX264optDirectPredPopUp)
{
[fX264optDirectPredPopUp selectItemAtIndex: 0];
[[fX264optDirectPredPopUp cell] performClick:self];
@@ -435,16 +409,6 @@
[[fX264optWeightBSwitch animator] setHidden:NO];
[[fX264optWeightBLabel animator] setHidden:NO];
- [[fX264optBiMESwitch animator] setHidden:NO];
- [[fX264optBiMELabel animator] setHidden:NO];
-
- 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];
- }
-
[[fX264optDirectPredPopUp animator] setHidden:NO];
[[fX264optDirectPredLabel animator] setHidden:NO];
}
@@ -456,16 +420,6 @@
[[fX264optBPyramidSwitch animator] setHidden:NO];
[[fX264optBPyramidLabel animator] setHidden:NO];
- [[fX264optBiMESwitch animator] setHidden:NO];
- [[fX264optBiMELabel animator] setHidden:NO];
-
- 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];
- }
-
[[fX264optDirectPredPopUp animator] setHidden:NO];
[[fX264optDirectPredLabel animator] setHidden:NO];
}
@@ -486,22 +440,6 @@
[[fX264optTrellisLabel animator] setHidden:NO];
}
- if ( [fX264optSubmePopUp indexOfSelectedItem] < 7 && [fX264optSubmePopUp indexOfSelectedItem] != 0 )
- {
- /* When subme < 6, B-RDO doesn't work. */
- [[fX264optBRDOSwitch animator] setHidden:YES];
- [[fX264optBRDOLabel animator] setHidden:YES];
- if ( [fX264optBRDOSwitch state] == 1 && sender != fX264optBRDOSwitch )
- [fX264optBRDOSwitch performClick:self];
- }
- else if ( [fX264optBframesPopUp indexOfSelectedItem ] >= 2 )
- {
- /* Make sure to only display B-RDO if allowed by both
- the subme and bframe option settings. */
- [[fX264optBRDOSwitch animator] setHidden:NO];
- [[fX264optBRDOLabel animator] setHidden:NO];
- }
-
if ( [fX264optAnalysePopUp indexOfSelectedItem] == 1)
{
/* No analysis? Disable 8x8dct */
@@ -628,21 +566,11 @@
{
[fX264optWeightBSwitch setState:[optValue intValue]];
}
- /*BRDO NSButton*/
- if ([optName isEqualToString:@"brdo"])
- {
- [fX264optBRDOSwitch setState:[optValue intValue]];
- }
/*B Pyramid NSPButton*/
if ([optName isEqualToString:@"b-pyramid"])
{
[fX264optBPyramidSwitch setState:[optValue intValue]];
}
- /*Bidirectional Motion Estimation Refinement NSButton*/
- if ([optName isEqualToString:@"bime"])
- {
- [fX264optBiMESwitch setState:[optValue intValue]];
- }
/*Direct B-frame Prediction NSPopUpButton*/
if ([optName isEqualToString:@"direct"])
{
@@ -778,18 +706,10 @@
{
optNameToChange = @"weightb";
}
- if (sender == fX264optBRDOSwitch)
- {
- optNameToChange = @"brdo";
- }
if (sender == fX264optBPyramidSwitch)
{
optNameToChange = @"b-pyramid";
}
- if (sender == fX264optBiMESwitch)
- {
- optNameToChange = @"bime";
- }
if (sender == fX264optDirectPredPopUp)
{
optNameToChange = @"direct";
@@ -899,7 +819,7 @@
thisOpt = [NSString stringWithFormat:@"%@=%d,%d",optName, ([fX264optAlphaDeblockPopUp indexOfSelectedItem] != 0) ? [fX264optAlphaDeblockPopUp indexOfSelectedItem]-7 : 0,([fX264optBetaDeblockPopUp indexOfSelectedItem] != 0) ? [fX264optBetaDeblockPopUp indexOfSelectedItem]-7 : 0];
}
}
- else if /*Boolean Switches*/ ([optNameToChange isEqualToString:@"mixed-refs"] || [optNameToChange isEqualToString:@"weightb"] || [optNameToChange isEqualToString:@"brdo"] || [optNameToChange isEqualToString:@"bime"] || [optNameToChange isEqualToString:@"b-pyramid"] || [optNameToChange isEqualToString:@"no-fast-pskip"] || [optNameToChange isEqualToString:@"no-dct-decimate"] || [optNameToChange isEqualToString:@"8x8dct"] )
+ else if /*Boolean Switches*/ ([optNameToChange isEqualToString:@"mixed-refs"] || [optNameToChange isEqualToString:@"weightb"] || [optNameToChange isEqualToString:@"b-pyramid"] || [optNameToChange isEqualToString:@"no-fast-pskip"] || [optNameToChange isEqualToString:@"no-dct-decimate"] || [optNameToChange isEqualToString:@"8x8dct"] )
{
/* Here is where we take care of the boolean options that work overtly:
no-dct-decimate being on means no-dct-decimate=1, etc. Some options
@@ -1158,7 +1078,7 @@
If only one filter is at 0, both need to be overtly specified. */
[fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@=%@", [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"%d,%d", ([fX264optAlphaDeblockPopUp indexOfSelectedItem] != 0) ? [fX264optAlphaDeblockPopUp indexOfSelectedItem]-7 : 0, ([fX264optBetaDeblockPopUp indexOfSelectedItem] != 0) ? [fX264optBetaDeblockPopUp indexOfSelectedItem]-7 : 0]]];
}
- else if /*Boolean Switches*/ ([optNameToChange isEqualToString:@"mixed-refs"] || [optNameToChange isEqualToString:@"weightb"] || [optNameToChange isEqualToString:@"brdo"] || [optNameToChange isEqualToString:@"bime"] || [optNameToChange isEqualToString:@"b-pyramid"] || [optNameToChange isEqualToString:@"no-fast-pskip"] || [optNameToChange isEqualToString:@"no-dct-decimate"] || [optNameToChange isEqualToString:@"8x8dct"] )
+ else if /*Boolean Switches*/ ([optNameToChange isEqualToString:@"mixed-refs"] || [optNameToChange isEqualToString:@"weightb"] || [optNameToChange isEqualToString:@"b-pyramid"] || [optNameToChange isEqualToString:@"no-fast-pskip"] || [optNameToChange isEqualToString:@"no-dct-decimate"] || [optNameToChange isEqualToString:@"8x8dct"] )
{
/* This covers all the boolean options that need to be specified only when true. */
if ([sender state] == 0)
@@ -1302,7 +1222,7 @@
just a little more fun, values start at -6 instead of at zero. */
[fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@:%@=%@", [NSString stringWithFormat:[fDisplayX264Options stringValue]], [NSString stringWithFormat:optNameToChange], [NSString stringWithFormat:@"%d,%d", ([fX264optAlphaDeblockPopUp indexOfSelectedItem] != 0) ? [fX264optAlphaDeblockPopUp indexOfSelectedItem]-7 : 0, ([fX264optBetaDeblockPopUp indexOfSelectedItem] != 0) ? [fX264optBetaDeblockPopUp indexOfSelectedItem]-7 : 0]]];
}
- else if /*Boolean Switches*/ ([optNameToChange isEqualToString:@"mixed-refs"] || [optNameToChange isEqualToString:@"weightb"] || [optNameToChange isEqualToString:@"brdo"] || [optNameToChange isEqualToString:@"bime"] || [optNameToChange isEqualToString:@"b-pyramid"] || [optNameToChange isEqualToString:@"no-fast-pskip"] || [optNameToChange isEqualToString:@"no-dct-decimate"] || [optNameToChange isEqualToString:@"8x8dct"] )
+ else if /*Boolean Switches*/ ([optNameToChange isEqualToString:@"mixed-refs"] || [optNameToChange isEqualToString:@"weightb"] || [optNameToChange isEqualToString:@"b-pyramid"] || [optNameToChange isEqualToString:@"no-fast-pskip"] || [optNameToChange isEqualToString:@"no-dct-decimate"] || [optNameToChange isEqualToString:@"8x8dct"] )
{
/* Covers all the normal booleans, that only need to be included in the string when they're true. */
if ([sender state] == 0)