]> granicus.if.org Git - handbrake/commitdiff
MacGui: adds advanced x264 option widgets for analyse, 8x8dct, and, just for eddyg...
authorjbrjake <jb.rubin@gmail.com>
Fri, 27 Jul 2007 01:27:03 +0000 (01:27 +0000)
committerjbrjake <jb.rubin@gmail.com>
Fri, 27 Jul 2007 01:27:03 +0000 (01:27 +0000)
Been awhile since I added any of these; hopefully I didn't break anything in the process.
God do we need to split these and the presets off to separate source files.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@746 b64f7644-9d1e-0410-96f1-a4d463321fa5

macosx/Controller.h
macosx/Controller.mm
macosx/English.lproj/MainMenu.nib/classes.nib
macosx/English.lproj/MainMenu.nib/info.nib
macosx/English.lproj/MainMenu.nib/keyedobjects.nib

index 16383ac80174e96c18198c012d0ad63bc31adac0..685e37ecd02bd2b3942afd30d72b33b0768f3c2d 100644 (file)
     IBOutlet NSTextField         * fX264optDeblockLabel;
     IBOutlet NSPopUpButton       * fX264optAlphaDeblockPopUp;
     IBOutlet NSPopUpButton       * fX264optBetaDeblockPopUp;
+    IBOutlet NSTextField         * fX264optAnalyseLabel;
+    IBOutlet NSPopUpButton       * fX264optAnalysePopUp;
+    IBOutlet NSTextField         * fX264opt8x8dctLabel;
+    IBOutlet NSButton            * fX264opt8x8dctSwitch;
+    IBOutlet NSTextField         * fX264optCabacLabel;
+    IBOutlet NSButton            * fX264optCabacSwitch;
     
        /* User Preset variables here fPresetNewDesc*/
        
index a36398bcc2e004ae984b6adba956aa0e32a35d79..7bf9b50d51331f1aa7e93e49b9183189533a81ca 100644 (file)
@@ -996,7 +996,8 @@ list = hb_get_titles( fHandle );
                fX264optMotionEstLabel,fX264optMotionEstPopUp,fX264optMERangeLabel,fX264optMERangePopUp,
                fX264optWeightBLabel,fX264optWeightBSwitch,fX264optBRDOLabel,fX264optBRDOSwitch,
                fX264optBPyramidLabel,fX264optBPyramidSwitch,fX264optBiMELabel,fX264optBiMESwitch,
-               fX264optDirectPredLabel,fX264optDirectPredPopUp,fX264optDeblockLabel,
+               fX264optDirectPredLabel,fX264optDirectPredPopUp,fX264optDeblockLabel,fX264optAnalyseLabel,
+               fX264optAnalysePopUp,fX264opt8x8dctLabel,fX264opt8x8dctSwitch,fX264optCabacLabel,fX264optCabacSwitch,
                fX264optAlphaDeblockPopUp,fX264optBetaDeblockPopUp,fVidTurboPassCheck,fDstMpgLargeFileCheck,fPicSettingAutoCropLabel,
                fPicSettingAutoCropDsply};
 
@@ -2456,6 +2457,18 @@ the user is using "Custom" settings by determining the sender*/
         [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];
+    
+    /* CABAC fX264opCabacSwitch */
+    [fX264optCabacSwitch setState:1];
+
     /* Standardize the option string */
     [self X264AdvancedOptionsStandardizeOptString: NULL];
     /* Set Current GUI Settings based on newly standardized string */
@@ -2588,6 +2601,13 @@ the user is using "Custom" settings by determining the sender*/
     {
         cleanOptNameString = @"deblock";
     }
+
+    /*Analysis*/
+    if ([cleanOptNameString isEqualToString:@"partitions"])
+    {
+        cleanOptNameString = @"analyse";
+    }
+
         
     return cleanOptNameString; 
 }
@@ -2750,6 +2770,32 @@ the user is using "Custom" settings by determining the sender*/
                             [fX264optBetaDeblockPopUp selectItemAtIndex:7];                        
                         }
                     }
+                }
+                /* Analysis NSPopUpButton */
+                if ([optName isEqualToString:@"analyse"])
+                {
+                    if ([optValue isEqualToString:@"p8x8,b8x8,i8x8,i4x4"])
+                    {
+                        [fX264optAnalysePopUp selectItemAtIndex:0];
+                    }
+                    if ([optValue isEqualToString:@"none"])
+                    {
+                        [fX264optAnalysePopUp selectItemAtIndex:1];
+                    }
+                    if ([optValue isEqualToString:@"all"])
+                    {
+                        [fX264optAnalysePopUp selectItemAtIndex:2];
+                    }
+                }
+                /* 8x8 DCT NSButton */
+                if ([optName isEqualToString:@"8x8dct"])
+                {
+                    [fX264opt8x8dctSwitch setState:[optValue intValue]];
+                }
+                /* CABAC NSButton */
+                if ([optName isEqualToString:@"cabac"])
+                {
+                    [fX264optCabacSwitch setState:[optValue intValue]];
                 }                                                                 
             }
         }
@@ -2825,6 +2871,18 @@ the user is using "Custom" settings by determining the sender*/
     {
         optNameToChange = @"deblock";
     }        
+    if (sender == fX264optAnalysePopUp)
+    {
+        optNameToChange = @"analyse";
+    }
+    if (sender == fX264opt8x8dctSwitch)
+    {
+        optNameToChange = @"8x8dct";
+    }
+    if (sender == fX264optCabacSwitch)
+    {
+        optNameToChange = @"cabac";
+    }
     
     /* Set widgets depending on the opt string in field */
     NSString * thisOpt; // The separated option such as "bframes=3"
@@ -2887,7 +2945,7 @@ the user is using "Custom" settings by determining the sender*/
                             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"])
+                    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"] )
                     {
                         if ([sender state] == 0)
                         {
@@ -2897,6 +2955,17 @@ the user is using "Custom" settings by determining the sender*/
                         {
                             thisOpt = [NSString stringWithFormat:@"%@=%d",optName,1];
                         }
+                    }
+                    else if ([optNameToChange isEqualToString:@"cabac"])
+                    {
+                        if ([sender state] == 1)
+                        {
+                            thisOpt = @"";
+                        }
+                        else
+                        {
+                            thisOpt = [NSString stringWithFormat:@"%@=%d",optName,0];
+                        }
                     }                                        
                     else if (([sender indexOfSelectedItem] == 0) && (sender != fX264optAlphaDeblockPopUp) && (sender != fX264optBetaDeblockPopUp) ) // means that "unspecified" is chosen, lets then remove it from the string
                     {
@@ -2950,6 +3019,22 @@ the user is using "Custom" settings by determining the sender*/
                                 break;
                         }
                     }
+                    else if ([optNameToChange isEqualToString:@"analyse"])
+                    {
+                        switch ([sender indexOfSelectedItem])
+                        {   
+                            case 1:
+                               thisOpt = [NSString stringWithFormat:@"%@=%@",optName,@"none"];
+                               break;
+                            case 2:
+                               thisOpt = [NSString stringWithFormat:@"%@=%@",optName,@"all"];
+                               break;
+                            
+                            default:
+                                break;
+                        }
+                    }
                     else if ([optNameToChange isEqualToString:@"merange"])
                     {
                         thisOpt = [NSString stringWithFormat:@"%@=%d",optName,[sender indexOfSelectedItem]+3];
@@ -3042,6 +3127,24 @@ the user is using "Custom" settings by determining the sender*/
                         break;
                 }
             }
+            else if ([optNameToChange isEqualToString:@"analyse"])
+            {
+                switch ([sender indexOfSelectedItem])
+                {   
+                    case 1:
+                        [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@=%@", 
+                            [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"none"]]];
+                        break;
+               
+                    case 2:
+                        [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@=%@", 
+                            [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"all"]]];
+                        break;
+                   
+                   default:
+                        break;
+                }
+            }
 
             else if ([optNameToChange isEqualToString:@"merange"])
             {
@@ -3052,7 +3155,7 @@ the user is using "Custom" settings by determining the sender*/
             {
                 [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"])            {
+            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"] )            {
                 if ([sender state] == 0)
                 {
                     [fDisplayX264Options setStringValue:[NSString stringWithFormat:@""]];                    
@@ -3062,6 +3165,18 @@ the user is using "Custom" settings by determining the sender*/
                     [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@=%@", 
                         [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"%d",[sender state]]]];
                 }
+            }
+            else if ([optNameToChange isEqualToString:@"cabac"])
+            {
+                if ([sender state] == 1)
+                {
+                    [fDisplayX264Options setStringValue:[NSString stringWithFormat:@""]];                                        
+                }
+                else
+                {
+                    [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@=%@", 
+                        [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"%d",[sender state]]]];                    
+                }
             }            
             else
             {
@@ -3135,6 +3250,26 @@ the user is using "Custom" settings by determining the sender*/
                          break;
                 }
             }
+            else if ([optNameToChange isEqualToString:@"analyse"])
+            {
+                switch ([sender indexOfSelectedItem])
+                {   
+                    case 1:
+                         [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@:%@=%@", 
+                             [NSString stringWithFormat:[fDisplayX264Options stringValue]],
+                             [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"none"]]];
+                         break;
+
+                    case 2:
+                         [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@:%@=%@", 
+                             [NSString stringWithFormat:[fDisplayX264Options stringValue]],
+                             [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"all"]]];
+                         break;
+
+                    default:
+                         break;
+                }
+            }
 
             else if ([optNameToChange isEqualToString:@"merange"])
             {
@@ -3145,7 +3280,7 @@ the user is using "Custom" settings by determining the sender*/
             {
                 [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"])
+            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"] )
             {
                 if ([sender state] == 0)
                 {
@@ -3157,6 +3292,18 @@ the user is using "Custom" settings by determining the sender*/
                         [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"%d",[sender state]]]];                
                 }
             }
+            else if ([optNameToChange isEqualToString:@"cabac"])
+            {
+                if ([sender state] == 1)
+                {
+                    [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@",[NSString stringWithFormat:[fDisplayX264Options stringValue]]]];                    
+                }
+                else
+                {
+                    [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@:%@=%@",[NSString stringWithFormat:[fDisplayX264Options stringValue]], 
+                        [NSString stringWithFormat:optNameToChange],[NSString stringWithFormat:@"%d",[sender state]]]];
+                }
+            }
             else
             {
                 [fDisplayX264Options setStringValue:[NSString stringWithFormat:@"%@:%@=%@",[NSString stringWithFormat:[fDisplayX264Options stringValue]], 
index f5db02cb8ac55d3d17425c21381a2059ef957674..f7a627c78687d7256dfec3dd0aa2759103a9eec9 100644 (file)
                 fVidTurboPassCheck = NSButton; 
                 fVidTwoPassCheck = NSButton; 
                 fWindow = NSWindow; 
+                fX264opt8x8dctLabel = NSTextField; 
+                fX264opt8x8dctSwitch = NSButton; 
                 fX264optAlphaDeblockPopUp = NSPopUpButton; 
+                fX264optAnalyseLabel = NSTextField; 
+                fX264optAnalysePopUp = NSPopUpButton; 
                 fX264optBPyramidLabel = NSTextField; 
                 fX264optBPyramidSwitch = NSButton; 
                 fX264optBRDOLabel = NSTextField; 
                 fX264optBframesPopUp = NSPopUpButton; 
                 fX264optBiMELabel = NSTextField; 
                 fX264optBiMESwitch = NSButton; 
+                fX264optCabacLabel = NSTextField; 
+                fX264optCabacSwitch = NSButton; 
                 fX264optDeblockLabel = NSTextField; 
                 fX264optDirectPredLabel = NSTextField; 
                 fX264optDirectPredPopUp = NSPopUpButton; 
index f5460bdc4316280b82e123e45d0f0f5b4c605f13..e6b203aaa339c3cc0819fddc33234d0f565e067a 100644 (file)
@@ -7,9 +7,9 @@
        <key>IBEditorPositions</key>
        <dict>
                <key>1843</key>
-               <string>620 338 200 530 0 0 1440 878 </string>
+               <string>873 440 200 530 0 0 1920 1058 </string>
                <key>29</key>
-               <string>155 478 365 44 0 0 1440 878 </string>
+               <string>224 581 365 44 0 0 1920 1058 </string>
        </dict>
        <key>IBFramework Version</key>
        <string>446.1</string>
        <integer>4</integer>
        <key>IBOpenObjects</key>
        <array>
+               <integer>1843</integer>
+               <integer>1162</integer>
                <integer>29</integer>
                <integer>21</integer>
-               <integer>1162</integer>
-               <integer>1843</integer>
        </array>
        <key>IBSystem Version</key>
-       <string>8R2218</string>
+       <string>8R218</string>
        <key>IBUserGuides</key>
        <dict>
                <key>21</key>
index 609ee5b88f3939b89d25ab14ac8fb8dd4640b142..51112c94c96a94eb74fb7252e1b7cd29d20329c3 100644 (file)
Binary files a/macosx/English.lproj/MainMenu.nib/keyedobjects.nib and b/macosx/English.lproj/MainMenu.nib/keyedobjects.nib differ