From: jbrjake Date: Wed, 16 May 2007 18:34:29 +0000 (+0000) Subject: MacGui: adds x264 option widgets for b-rdo, weight, and b-pyramid. And a little layou... X-Git-Tag: 0.9.0~247 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed10e79c89fa39abcc408da6780abc1b14f3875b;p=handbrake MacGui: adds x264 option widgets for b-rdo, weight, and b-pyramid. And a little layout reorganization to take advantage of the space freed up by dynaflash's last commit. Yes, I know the dividing lines are ugly. They are temporary. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@588 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- diff --git a/macosx/Controller.h b/macosx/Controller.h index ab2b93111..9d7082521 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -158,6 +158,12 @@ IBOutlet NSPopUpButton * fX264optMotionEstPopUp; IBOutlet NSTextField * fX264optMERangeLabel; IBOutlet NSPopUpButton * fX264optMERangePopUp; + IBOutlet NSTextField * fX264optWeightBLabel; + IBOutlet NSPopUpButton * fX264optWeightBPopUp; + IBOutlet NSTextField * fX264optBRDOLabel; + IBOutlet NSPopUpButton * fX264optBRDOPopUp; + IBOutlet NSTextField * fX264optBPyramidLabel; + IBOutlet NSPopUpButton * fX264optBPyramidPopUp; /* User Preset variables here fPresetNewPicSettingsApply*/ diff --git a/macosx/Controller.mm b/macosx/Controller.mm index 4ab18add3..697842053 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -649,7 +649,9 @@ return registrationDictionary; fX264optBframesPopUp,fX264optRefLabel,fX264optRefPopUp,fX264optNfpskipLabel,fX264optNfpskipPopUp, fX264optNodctdcmtLabel,fX264optNodctdcmtPopUp,fX264optSubmeLabel,fX264optSubmePopUp, fX264optTrellisLabel,fX264optTrellisPopUp,fX264optMixedRefsLabel,fX264optMixedRefsPopUp, - fX264optMotionEstLabel,fX264optMotionEstPopUp,fX264optMERangeLabel,fX264optMERangePopUp}; + fX264optMotionEstLabel,fX264optMotionEstPopUp,fX264optMERangeLabel,fX264optMERangePopUp, + fX264optWeightBLabel,fX264optWeightBPopUp,fX264optBRDOLabel,fX264optBRDOPopUp, + fX264optBPyramidLabel,fX264optBPyramidPopUp}; for( unsigned i = 0; i < sizeof( controls ) / sizeof( NSControl * ); i++ ) @@ -1981,6 +1983,50 @@ the user is using "Custom" settings by determining the sender*/ [fX264optMERangePopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]]; } + /*Weighted B-Frame Prediction fX264optWeightBPopUp BOOLEAN*/ + [fX264optWeightBPopUp removeAllItems]; + [fX264optWeightBPopUp addItemWithTitle:@"Default (No)"]; + for (i=0; i<2;i++) + { + if (i==0) + { + [fX264optWeightBPopUp addItemWithTitle:[NSString stringWithFormat:@"No"]]; + } + else + { + [fX264optWeightBPopUp addItemWithTitle:[NSString stringWithFormat:@"Yes"]]; + } + } + + /*B-Frame Rate Distortion Optimization fX264optBRDOPopUp BOOLEAN*/ + [fX264optBRDOPopUp removeAllItems]; + [fX264optBRDOPopUp addItemWithTitle:@"Default (No)"]; + for (i=0; i<2;i++) + { + if (i==0) + { + [fX264optBRDOPopUp addItemWithTitle:[NSString stringWithFormat:@"No"]]; + } + else + { + [fX264optBRDOPopUp addItemWithTitle:[NSString stringWithFormat:@"Yes"]]; + } + } + + /*B-frame Pyramids fX264optBPyramidPopUp BOOLEAN*/ + [fX264optBPyramidPopUp removeAllItems]; + [fX264optBPyramidPopUp addItemWithTitle:@"Default (No)"]; + for (i=0; i<2;i++) + { + if (i==0) + { + [fX264optBPyramidPopUp addItemWithTitle:[NSString stringWithFormat:@"No"]]; + } + else + { + [fX264optBPyramidPopUp addItemWithTitle:[NSString stringWithFormat:@"Yes"]]; + } + } /* Standardize the option string */ [self X264AdvancedOptionsStandardizeOptString: NULL]; @@ -2085,6 +2131,24 @@ the user is using "Custom" settings by determining the sender*/ if ([cleanOptNameString isEqualToString:@"me-range"] || [cleanOptNameString isEqualToString:@"me_range"]) cleanOptNameString = @"merange"; + /*WeightB*/ + if ([cleanOptNameString isEqualToString:@"weight-b"] || [cleanOptNameString isEqualToString:@"weight_b"]) + { + cleanOptNameString = @"weightb"; + } + + /*BRDO*/ + if ([cleanOptNameString isEqualToString:@"b-rdo"] || [cleanOptNameString isEqualToString:@"b_rdo"]) + { + cleanOptNameString = @"brdo"; + } + + /*B Pyramid*/ + if ([cleanOptNameString isEqualToString:@"b_pyramid"]) + { + cleanOptNameString = @"b-pyramid"; + } + return cleanOptNameString; } @@ -2179,6 +2243,22 @@ the user is using "Custom" settings by determining the sender*/ { [fX264optMERangePopUp selectItemAtIndex:[optValue intValue]-3]; } + /*Weighted B-Frames NSPopUpButton*/ + if ([optName isEqualToString:@"weightb"]) + { + [fX264optWeightBPopUp selectItemAtIndex:[optValue intValue]+1]; + } + /*BRDO NSPopUpButton*/ + if ([optName isEqualToString:@"brdo"]) + { + [fX264optBRDOPopUp selectItemAtIndex:[optValue intValue]+1]; + } + /*B Pyramid NSPopUpButton*/ + if ([optName isEqualToString:@"b-pyramid"]) + { + [fX264optBPyramidPopUp selectItemAtIndex:[optValue intValue]+1]; + } + } } @@ -2226,6 +2306,18 @@ the user is using "Custom" settings by determining the sender*/ { optNameToChange = @"merange"; } + if (sender == fX264optWeightBPopUp) + { + optNameToChange = @"weightb"; + } + if (sender == fX264optBRDOPopUp) + { + optNameToChange = @"brdo"; + } + if (sender == fX264optBPyramidPopUp) + { + optNameToChange = @"b-pyramid"; + } /* Set widgets depending on the opt string in field */ NSString * thisOpt; // The separated option such as "bframes=3" diff --git a/macosx/English.lproj/MainMenu.nib/classes.nib b/macosx/English.lproj/MainMenu.nib/classes.nib index 5367a54d1..237330bef 100644 --- a/macosx/English.lproj/MainMenu.nib/classes.nib +++ b/macosx/English.lproj/MainMenu.nib/classes.nib @@ -136,6 +136,10 @@ fVidTargetSizeField = NSTextField; fVidTwoPassCheck = NSButton; fWindow = NSWindow; + fX264optBPyramidLabel = NSTextField; + fX264optBPyramidPopUp = NSPopUpButton; + fX264optBRDOLabel = NSTextField; + fX264optBRDOPopUp = NSPopUpButton; fX264optBframesLabel = NSTextField; fX264optBframesPopUp = NSPopUpButton; fX264optMERangeLabel = NSTextField; @@ -156,6 +160,8 @@ fX264optTrellisPopUp = NSPopUpButton; fX264optView = NSView; fX264optViewTitleLabel = NSTextField; + fX264optWeightBLabel = NSTextField; + fX264optWeightBPopUp = NSPopUpButton; tableView = NSTableView; }; SUPERCLASS = NSObject; diff --git a/macosx/English.lproj/MainMenu.nib/info.nib b/macosx/English.lproj/MainMenu.nib/info.nib index aa15a2426..899a5acaf 100644 --- a/macosx/English.lproj/MainMenu.nib/info.nib +++ b/macosx/English.lproj/MainMenu.nib/info.nib @@ -22,7 +22,7 @@ 21 IBSystem Version - 8P2137 + 8L127 IBUserGuides 21 @@ -30,7 +30,7 @@ guideLocations Horizontal:576.000000 - Horizontal:319.000000 + Horizontal:309.000000 guidesLocked diff --git a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib index 5208e21f0..d5dd46aad 100644 Binary files a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib and b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib differ