diff options
author | dynaflash <[email protected]> | 2008-10-14 17:34:23 +0000 |
---|---|---|
committer | dynaflash <[email protected]> | 2008-10-14 17:34:23 +0000 |
commit | f2b3f4b94b12f2c70923274fceeded392f2df846 (patch) | |
tree | 30527b489508f5f9e7c058825dab743e27f691b3 /macosx/HBPresets.m | |
parent | 18daea7ae350040ce3307d18e3cedcb9e9c5f5f2 (diff) |
MacGui: Finally!! Nested Presets - Initial implementation
- Currently just in the Built In presets.
- Special thanks to jbrjake for updating the new built in presets :)
-- jbrjake's notes on built in preset changes:
--- no more blind, broke, bedlam, or deux six quatre presets
--- detelecine and decomb for animation and television high profile presets
--- new x264 settings for most presets, which are still in a state of flux
--- iPod Hi-Rez renamed iPod Legacy, iPod Low-Rez renamed iPod Classic & iPod Nano, iPhone / iPod Touch renamed iPhone & iPod Touch
- Make sure to Update your Built In presets.
- Selecting the default preset (whether user specified or the hb default) automatically expands the proper parent folders
- "Folders" are stored as a different type of preset with key "Folder" where a value of 1 is a folder and 0 is a regular preset.
- Children presets (which can also be folder presets with their own children) are stored in an array in the folder preset with key "ChildrenArray"
- Levels are limited to three (including the root level).
- Though most of the code for creating custom user specified folders and dragging and dropping user presets into those folders is done, its not fully tested so is not currently implemented. In other words custom presets are still only at the root level.
- Known issue: dragging and dropping within custom user presets seems a touch "glitchy". Though in testing presets have not been lost.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1831 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx/HBPresets.m')
-rw-r--r-- | macosx/HBPresets.m | 581 |
1 files changed, 248 insertions, 333 deletions
diff --git a/macosx/HBPresets.m b/macosx/HBPresets.m index 893112bd4..a1fac57cc 100644 --- a/macosx/HBPresets.m +++ b/macosx/HBPresets.m @@ -18,218 +18,210 @@ { /* We receive the user presets array of dictionaries from controller.mm */ /* We re-create new built in presets programmatically and add them to our presets array */ - [UserPresets addObject:[self createAnimationPreset]]; - [UserPresets addObject:[self createAppleTVPreset]]; - [UserPresets addObject:[self createBedlamPreset]]; - [UserPresets addObject:[self createBlindPreset]]; - [UserPresets addObject:[self createBrokePreset]]; - [UserPresets addObject:[self createClassicPreset]]; - [UserPresets addObject:[self createCRFPreset]]; - [UserPresets addObject:[self createDeuxSixQuatrePreset]]; - [UserPresets addObject:[self createFilmPreset]]; - [UserPresets addObject:[self createiPhonePreset]]; - [UserPresets addObject:[self createIpodHighPreset]]; - [UserPresets addObject:[self createIpodLowPreset]]; - [UserPresets addObject:[self createNormalPreset]]; - [UserPresets addObject:[self createPSPPreset]]; - [UserPresets addObject:[self createPSThreePreset]]; - [UserPresets addObject:[self createQuickTimePreset]]; - [UserPresets addObject:[self createTelevisionPreset]]; - [UserPresets addObject:[self create360Preset]]; + + /* Note: the built in presets will *not* sort themselves alphabetically, so they will + * appear in the order you create them + */ + /* Built in preset folders at the root of the hierarchy */ + [UserPresets addObject:[self createApplePresetFolder]]; + [UserPresets addObject:[self createBasicPresetFolder]]; + [UserPresets addObject:[self createHiProfilePresetFolder]]; + [UserPresets addObject:[self createGamingConsolesPresetFolder]]; + + /* Independent presets at the root hierarchy level would go here */ + /* return the newly regenerated preset array back to Controller.mm */ return UserPresets; } #pragma mark - -#pragma mark Built In Preset Definitions - -/* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */ -/* Note: For now, you can no longer have reference to any main window fields in your key values */ +#pragma mark Built In Preset Folder Definitions -- (NSDictionary *)create360Preset +- (NSDictionary *)createApplePresetFolder { NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; +/*Set whether or not this is a folder, 1 is bool for folder*/ + [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"]; + /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"Xbox 360" forKey:@"PresetName"]; + [preset setObject:@"Apple" forKey:@"PresetName"]; /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; /*Set whether or not this is default, at creation set to 0*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; - - /*Get the whether or not to apply pic settings in the AddPresetPanel*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; - - /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"]; - - /* File Format */ - [preset setObject:@"MP4 file" forKey:@"FileFormat"]; - - /* Chapter Markers*/ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"]; - - /* Video encoder */ - [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; - /* x264 Option String */ - [preset setObject:@"level=40:ref=2:mixed-refs:bframes=3:weightb:subme=7:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1" forKey:@"x264Option"]; + /* Lets initalize the child array of dictionaries for folders, this + is an array of dictionaries much like the root level of presets and + may contain folders and presets alike, etc.*/ + NSMutableArray *childrenArray = [[NSMutableArray alloc] init]; + /* we actually call the methods for the nests here */ + [childrenArray addObject:[self createAppleUniversalPreset]]; + [childrenArray addObject:[self createAppleTVPreset]]; + [childrenArray addObject:[self createAppleIpodFamilyPresetFolder]]; + [childrenArray addObject:[self createQuickTimePreset]]; + [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"]; + + [childrenArray autorelease]; - /* Video quality */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; - [preset setObject:@"700" forKey:@"VideoTargetSize"]; - [preset setObject:@"2000" forKey:@"VideoAvgBitrate"]; - [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; - /* Video framerate */ - [preset setObject:@"Same as source" forKey:@"VideoFramerate"]; - /* GrayScale */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"]; + [preset autorelease]; + return preset; +} - /* 2 Pass Encoding */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"]; +- (NSDictionary *)createAppleIpodFamilyPresetFolder +{ + NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; +/*Set whether or not this is a folder, 1 is bool for folder*/ + [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"]; - /*Picture Settings*/ - /* Use Max Picture settings for whatever the dvd is.*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"]; - /* Explicitly set the filters for built-in presets */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"]; + /* Get the New Preset Name from the field in the AddPresetPanel */ + [preset setObject:@"iPod & iPhone" forKey:@"PresetName"]; - /* Set crop settings here */ - /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"]; + /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ + [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; - /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track - * not listed will be set to "None" and not encoded */ + /*Set whether or not this is default, at creation set to 0*/ + [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; - /* Track 1 */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"]; - [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"]; - [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"]; - [preset setObject:@"48" forKey:@"Audio1Samplerate"]; - [preset setObject:@"160" forKey:@"Audio1Bitrate"]; - [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"]; + /* Lets initalize the child array of dictionaries for folders, this + is an array of dictionaries much like the root level of presets and + may contain folders and presets alike, etc.*/ + NSMutableArray *childrenArray = [[NSMutableArray alloc] init]; + /* we actually call the methods for the nests here */ + [childrenArray addObject:[self createIpodLowPreset]]; + [childrenArray addObject:[self createiPhonePreset]]; + [childrenArray addObject:[self createIpodHighPreset]]; - /* Subtitles*/ - [preset setObject:@"None" forKey:@"Subtitles"]; + [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"]; + + [childrenArray autorelease]; + + [preset autorelease]; return preset; } -- (NSDictionary *)createAnimationPreset +- (NSDictionary *)createGamingConsolesPresetFolder { NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; +/*Set whether or not this is a folder, 1 is bool for folder*/ + [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"]; + /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"Animation" forKey:@"PresetName"]; + [preset setObject:@"Gaming Consoles" forKey:@"PresetName"]; - /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ + /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; /*Set whether or not this is default, at creation set to 0*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; + + /* Lets initalize the child array of dictionaries for folders, this + is an array of dictionaries much like the root level of presets and + may contain folders and presets alike, etc.*/ + NSMutableArray *childrenArray = [[NSMutableArray alloc] init]; + /* we actually call the methods for the nests here */ + [childrenArray addObject:[self createPSPPreset]]; + [childrenArray addObject:[self createPSThreePreset]]; + [childrenArray addObject:[self create360Preset]]; + [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"]; + + [childrenArray autorelease]; - /*Get the whether or not to apply pic settings in the AddPresetPanel*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; - /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"]; - /* File Format */ - [preset setObject:@"MKV file" forKey:@"FileFormat"]; + [preset autorelease]; + return preset; +} - /* Chapter Markers*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"]; - /* Video encoder */ - [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; +- (NSDictionary *)createBasicPresetFolder +{ + NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; +/*Set whether or not this is a folder, 1 is bool for folder*/ + [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"]; - /* x264 Option String */ - [preset setObject:@"ref=5:mixed-refs:bframes=6:subme=7:weightb:direct=auto:b-pyramid:me=umh:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2" forKey:@"x264Option"]; - /* Video quality */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; - [preset setObject:@"700" forKey:@"VideoTargetSize"]; - [preset setObject:@"1000" forKey:@"VideoAvgBitrate"]; - [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; + /* Get the New Preset Name from the field in the AddPresetPanel */ + [preset setObject:@"Basic" forKey:@"PresetName"]; - /* Video framerate */ - [preset setObject:@"Same as source" forKey:@"VideoFramerate"]; + /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ + [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; - /* GrayScale */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"]; + /*Set whether or not this is default, at creation set to 0*/ + [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; + + /* Lets initalize the child array of dictionaries for folders, this + is an array of dictionaries much like the root level of presets and + may contain folders and presets alike, etc.*/ + NSMutableArray *childrenArray = [[NSMutableArray alloc] init]; + /* we actually call the methods for the nests here */ + [childrenArray addObject:[self createNormalPreset]]; + [childrenArray addObject:[self createClassicPreset]]; + [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"]; + + [childrenArray autorelease]; - /* 2 Pass Encoding */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"]; - /*Picture Settings*/ - /* Basic Picture Settings */ - /* Use Max Picture settings for whatever the dvd is.*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"]; - /* Filters. For animation, use slower deinterlacing. */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"]; - [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"]; + [preset autorelease]; + return preset; +} - /* Set crop settings here */ - /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"]; +- (NSDictionary *)createHiProfilePresetFolder +{ + NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; +/*Set whether or not this is a folder, 1 is bool for folder*/ + [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"]; - /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track - * not listed will be set to "None" and not encoded */ + + /* Get the New Preset Name from the field in the AddPresetPanel */ + [preset setObject:@"High Profile" forKey:@"PresetName"]; + + /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ + [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; + + /*Set whether or not this is default, at creation set to 0*/ + [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; - /* Track 1 */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"]; - [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"]; - [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"]; - [preset setObject:@"Auto" forKey:@"Audio1Samplerate"]; - [preset setObject:@"160" forKey:@"Audio1Bitrate"]; - [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"]; + /* Lets initalize the child array of dictionaries for folders, this + is an array of dictionaries much like the root level of presets and + may contain folders and presets alike, etc.*/ + NSMutableArray *childrenArray = [[NSMutableArray alloc] init]; + /* we actually call the methods for the nests here */ + [childrenArray addObject:[self createAnimationPreset]]; + [childrenArray addObject:[self createCRFPreset]]; + [childrenArray addObject:[self createFilmPreset]]; + [childrenArray addObject:[self createTelevisionPreset]]; + [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"]; - /* Subtitles*/ - [preset setObject:@"None" forKey:@"Subtitles"]; - + [childrenArray autorelease]; [preset autorelease]; return preset; } -- (NSDictionary *)createAppleTVPreset + +#pragma mark - + +#pragma mark Built In Preset Definitions + +/* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */ +/* Note: For now, you can no longer have reference to any main window fields in your key values */ + +- (NSDictionary *)create360Preset { NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"AppleTV" forKey:@"PresetName"]; + [preset setObject:@"Xbox 360" forKey:@"PresetName"]; /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; @@ -241,27 +233,24 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's settings for the AppleTV, including Dolby Digital 5.1 AC3 sound. Provides a good balance between quality and file size, and optimizes performance." forKey:@"PresetDescription"]; + [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MP4 file" forKey:@"FileFormat"]; - /* 64-bit MP4 file */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"]; - /* Chapter Markers*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"]; /* Video encoder */ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; - - /* x264 Option String (We can use this to tweak the appleTV output)*/ - [preset setObject:@"bframes=3:ref=1:me=umh:no-fast-pskip=1:trellis=1:cabac=0" forKey:@"x264Option"]; + + /* x264 Option String */ + [preset setObject:@"level=40:ref=2:mixed-refs:bframes=3:weightb:subme=7:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; [preset setObject:@"700" forKey:@"VideoTargetSize"]; - [preset setObject:@"2500" forKey:@"VideoAvgBitrate"]; + [preset setObject:@"2000" forKey:@"VideoAvgBitrate"]; [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; /* Video framerate */ @@ -273,7 +262,7 @@ /* 2 Pass Encoding */ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"]; - /* Basic Picture Settings */ + /*Picture Settings*/ /* Use Max Picture settings for whatever the dvd is.*/ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"]; @@ -306,18 +295,7 @@ [preset setObject:@"48" forKey:@"Audio1Samplerate"]; [preset setObject:@"160" forKey:@"Audio1Bitrate"]; [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"]; - - /* Track 2 */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"]; - [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"]; - [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"]; - [preset setObject:@"Auto" forKey:@"Audio2Samplerate"]; - /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use - * the sources bitrate, however we need to initially set the value to something so - * the macgui doesnt barf, so 160 seems as good as anything */ - [preset setObject:@"160" forKey:@"Audio2Bitrate"]; - [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"]; - + /* Subtitles*/ [preset setObject:@"None" forKey:@"Subtitles"]; @@ -325,12 +303,12 @@ return preset; } -- (NSDictionary *)createBedlamPreset +- (NSDictionary *)createAnimationPreset { NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"Bedlam" forKey:@"PresetName"]; + [preset setObject:@"Animation" forKey:@"PresetName"]; /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; @@ -342,7 +320,7 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's settings maxed out for slowest encoding and highest quality. Use at your own risk. So slow it's not just insane...it's a trip to the looney bin." forKey:@"PresetDescription"]; + [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MKV file" forKey:@"FileFormat"]; @@ -354,12 +332,12 @@ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=16:mixed-refs:bframes=16:weightb:direct=auto:b-pyramid:me=esa:subme=9:me-range=64:analyse=all:8x8dct:trellis=1:no-fast-pskip:no-dct-decimate:filter=-2,-1" forKey:@"x264Option"]; + [preset setObject:@"ref=5:mixed-refs:bframes=6:weightb:direct=auto:b-pyramid:me=umh:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2:psy-rd=1,1:subme=9" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; [preset setObject:@"700" forKey:@"VideoTargetSize"]; - [preset setObject:@"1800" forKey:@"VideoAvgBitrate"]; + [preset setObject:@"1000" forKey:@"VideoAvgBitrate"]; [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; /* Video framerate */ @@ -373,6 +351,7 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"]; /*Picture Settings*/ + /* Basic Picture Settings */ /* Use Max Picture settings for whatever the dvd is.*/ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"]; [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; @@ -381,13 +360,14 @@ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"]; [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"]; - /* Explicitly set the filters for built-in presets */ + /* Filters. For animation, use slower deinterlacing. */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"]; + [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"]; + [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"]; /* Set crop settings here */ /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ @@ -401,15 +381,12 @@ /* Track 1 */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"]; - [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"]; - [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"]; + [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"]; + [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"]; [preset setObject:@"Auto" forKey:@"Audio1Samplerate"]; - /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use - * the sources bitrate, however we need to initially set the value to something so - * the macgui doesnt barf, so 160 seems as good as anything */ [preset setObject:@"160" forKey:@"Audio1Bitrate"]; [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"]; - + /* Subtitles*/ [preset setObject:@"None" forKey:@"Subtitles"]; @@ -417,16 +394,17 @@ return preset; } -- (NSDictionary *)createBlindPreset +- (NSDictionary *)createAppleTVPreset { NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"Blind" forKey:@"PresetName"]; + [preset setObject:@"AppleTV" forKey:@"PresetName"]; - /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ + /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; - + /*Set whether or not this is a folder, 1 is bool for folder*/ + [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"]; /*Set whether or not this is default, at creation set to 0*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; @@ -434,25 +412,28 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's preset for impatient people who don't care about picture quality." forKey:@"PresetDescription"]; + [preset setObject:@"HandBrake's settings for the AppleTV, including Dolby Digital 5.1 AC3 sound. Provides a good balance between quality and file size, and optimizes performance." forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MP4 file" forKey:@"FileFormat"]; + /* 64-bit MP4 file */ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"]; + /* Chapter Markers*/ [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"]; /* Video encoder */ - [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"]; + [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; - /* x264 Option String */ - [preset setObject:@"" forKey:@"x264Option"]; + /* x264 Option String (We can use this to tweak the appleTV output)*/ + [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=9:analyse=all" forKey:@"x264Option"]; /* Video quality */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; + [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"]; [preset setObject:@"700" forKey:@"VideoTargetSize"]; - [preset setObject:@"512" forKey:@"VideoAvgBitrate"]; - [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; + [preset setObject:@"2500" forKey:@"VideoAvgBitrate"]; + [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"]; /* Video framerate */ [preset setObject:@"Same as source" forKey:@"VideoFramerate"]; @@ -462,16 +443,14 @@ /* 2 Pass Encoding */ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"]; - /*Picture Settings*/ - /* Use a width of 512 to save on space for Blind */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; - [preset setObject:[NSNumber numberWithInt:512] forKey:@"PictureWidth"]; + /* Basic Picture Settings */ + /* Use Max Picture settings for whatever the dvd is.*/ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; + [preset setObject:[NSNumber numberWithInt:960] forKey:@"PictureWidth"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"]; + [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"]; /* Explicitly set the filters for built-in presets */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"]; @@ -483,6 +462,7 @@ /* Set crop settings here */ /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"]; @@ -495,10 +475,21 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"]; [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"]; [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"]; - [preset setObject:@"Auto" forKey:@"Audio1Samplerate"]; - [preset setObject:@"128" forKey:@"Audio1Bitrate"]; + [preset setObject:@"48" forKey:@"Audio1Samplerate"]; + [preset setObject:@"160" forKey:@"Audio1Bitrate"]; [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"]; + /* Track 2 */ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"]; + [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"]; + [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"]; + [preset setObject:@"Auto" forKey:@"Audio2Samplerate"]; + /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use + * the sources bitrate, however we need to initially set the value to something so + * the macgui doesnt barf, so 160 seems as good as anything */ + [preset setObject:@"160" forKey:@"Audio2Bitrate"]; + [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"]; + /* Subtitles*/ [preset setObject:@"None" forKey:@"Subtitles"]; @@ -506,16 +497,17 @@ return preset; } -- (NSDictionary *)createBrokePreset +- (NSDictionary *)createAppleUniversalPreset { NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"Broke" forKey:@"PresetName"]; + [preset setObject:@"Universal" forKey:@"PresetName"]; - /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ + /*Set whether or not this is a user preset where 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; - + /*Set whether or not this is a folder, 1 is bool for folder*/ + [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"]; /*Set whether or not this is default, at creation set to 0*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; @@ -523,25 +515,28 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's preset for people without a lot of money to waste on hard drives. Tries to maximize quality for burning to CDs, so you can party like it's 1999." forKey:@"PresetDescription"]; + [preset setObject:@"HandBrake's universally compatible, full resolution settings for all current Apple devices: iPod, iPhone, AppleTV, and Macs" forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MP4 file" forKey:@"FileFormat"]; + /* 64-bit MP4 file */ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"]; + /* Chapter Markers*/ [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"]; /* Video encoder */ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; - /* x264 Option String */ - [preset setObject:@"ref=3:mixed-refs:bframes=16:weightb:b-pyramid:direct=auto:subme=7:me=umh:trellis=1:analyse=all:8x8dct:no-fast-pskip" forKey:@"x264Option"]; + /* x264 Option String (We can use this to tweak the appleTV output)*/ + [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:analyse=all:me=umh:no-fast-pskip=1:subme=8" forKey:@"x264Option"]; /* Video quality */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoQualityType"]; - [preset setObject:@"695" forKey:@"VideoTargetSize"]; - [preset setObject:@"1600" forKey:@"VideoAvgBitrate"]; - [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; + [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"]; + [preset setObject:@"700" forKey:@"VideoTargetSize"]; + [preset setObject:@"2500" forKey:@"VideoAvgBitrate"]; + [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"]; /* Video framerate */ [preset setObject:@"Same as source" forKey:@"VideoFramerate"]; @@ -550,17 +545,15 @@ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"]; /* 2 Pass Encoding */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"]; - /*Picture Settings*/ - /* Use a width of 640 for Broke */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; - [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"]; + /* Basic Picture Settings */ + /* Use Max Picture settings for whatever the dvd is.*/ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; + [preset setObject:[NSNumber numberWithInt:720] forKey:@"PictureWidth"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"]; + [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"]; /* Explicitly set the filters for built-in presets */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"]; @@ -572,6 +565,7 @@ /* Set crop settings here */ /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"]; @@ -584,10 +578,21 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"]; [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"]; [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"]; - [preset setObject:@"Auto" forKey:@"Audio1Samplerate"]; - [preset setObject:@"128" forKey:@"Audio1Bitrate"]; + [preset setObject:@"48" forKey:@"Audio1Samplerate"]; + [preset setObject:@"160" forKey:@"Audio1Bitrate"]; [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"]; + /* Track 2 */ + [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"]; + [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"]; + [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"]; + [preset setObject:@"Auto" forKey:@"Audio2Samplerate"]; + /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use + * the sources bitrate, however we need to initially set the value to something so + * the macgui doesnt barf, so 160 seems as good as anything */ + [preset setObject:@"160" forKey:@"Audio2Bitrate"]; + [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"]; + /* Subtitles*/ [preset setObject:@"None" forKey:@"Subtitles"]; @@ -712,13 +717,13 @@ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=3:mixed-refs:bframes=3:b-pyramid:subme=7:weightb:filter=-2,-1:trellis=1:analyse=all:8x8dct:me=umh" forKey:@"x264Option"]; + [preset setObject:@"ref=3:mixed-refs:bframes=3:b-pyramid:weightb:filter=-2,-1:trellis=1:analyse=all:8x8dct:me=umh:subme=9:psy-rd=1,1" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"]; [preset setObject:@"700" forKey:@"VideoTargetSize"]; [preset setObject:@"2000" forKey:@"VideoAvgBitrate"]; - [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; + [preset setObject:[NSNumber numberWithFloat:0.60] forKey:@"VideoQualitySlider"]; /* Video framerate */ [preset setObject:@"Same as source" forKey:@"VideoFramerate"]; @@ -775,98 +780,6 @@ return preset; } -- (NSDictionary *)createDeuxSixQuatrePreset -{ - NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; - - /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"Deux Six Quatre" forKey:@"PresetName"]; - - /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; - - /*Set whether or not this is default, at creation set to 0*/ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"]; - - /*Get the whether or not to apply pic settings in the AddPresetPanel*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; - - /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's preset for true high profile x264 quality. A good balance of quality and speed, based on community standards found in the wild. This preset will give you a much better sense of x264's capabilities than vanilla main profile." forKey:@"PresetDescription"]; - - /* File Format */ - [preset setObject:@"MKV file" forKey:@"FileFormat"]; - - /* Chapter Markers*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"]; - - /* Video encoder */ - [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; - - /* x264 Option String */ - [preset setObject:@"ref=5:mixed-refs:bframes=3:weightb:b-pyramid:me=umh:subme=8:trellis=1:analyse=all:8x8dct:no-fast-pskip" forKey:@"x264Option"]; - - /* Video quality */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; - [preset setObject:@"700" forKey:@"VideoTargetSize"]; - [preset setObject:@"1600" forKey:@"VideoAvgBitrate"]; - [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; - - /* Video framerate */ - [preset setObject:@"Same as source" forKey:@"VideoFramerate"]; - - /* GrayScale */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"]; - - /* 2 Pass Encoding */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"]; - - /*Picture Settings*/ - /* Use Max Picture settings for whatever the dvd is.*/ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"]; - - /* Explicitly set the filters for built-in presets */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"]; - - /* Set crop settings here */ - /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"]; - - /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track - * not listed will be set to "None" and not encoded */ - - /* Track 1 */ - [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"]; - [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"]; - [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"]; - [preset setObject:@"Auto" forKey:@"Audio1Samplerate"]; - /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use - * the sources bitrate, however we need to initially set the value to something so - * the macgui doesnt barf, so 160 seems as good as anything */ - [preset setObject:@"160" forKey:@"Audio1Bitrate"]; - [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"]; - - /* Subtitles*/ - [preset setObject:@"None" forKey:@"Subtitles"]; - - [preset autorelease]; - return preset; -} - - (NSDictionary *)createFilmPreset { NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; @@ -896,7 +809,7 @@ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=3:mixed-refs:bframes=6:weightb:direct=auto:b-pyramid:me=umh:subme=8:analyse=all:8x8dct:trellis=1:no-fast-pskip" forKey:@"x264Option"]; + [preset setObject:@"ref=3:mixed-refs:bframes=6:weightb:direct=auto:b-pyramid:me=umh:subme=9:analyse=all:8x8dct:trellis=1:no-fast-pskip:psy-rd=1,1" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; @@ -964,7 +877,7 @@ NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"iPhone / iPod Touch" forKey:@"PresetName"]; + [preset setObject:@"iPhone & iPod Touch" forKey:@"PresetName"]; /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; @@ -1052,7 +965,7 @@ NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"iPod High-Rez" forKey:@"PresetName"]; + [preset setObject:@"iPod Legacy" forKey:@"PresetName"]; /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; @@ -1064,7 +977,7 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's high resolution settings for the iPod. Good video quality, great for viewing on a TV using your iPod" forKey:@"PresetDescription"]; + [preset setObject:@"HandBrake's high resolution settings for older 5 and 5.5G iPods. Good video quality, great for viewing on a TV using your iPod" forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MP4 file" forKey:@"FileFormat"]; @@ -1140,7 +1053,7 @@ NSMutableDictionary *preset = [[NSMutableDictionary alloc] init]; /* Get the New Preset Name from the field in the AddPresetPanel */ - [preset setObject:@"iPod Low-Rez" forKey:@"PresetName"]; + [preset setObject:@"iPod Classic & iPod Nano" forKey:@"PresetName"]; /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"]; @@ -1464,6 +1377,7 @@ /* Set crop settings here */ /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ + [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureAutoCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"]; @@ -1504,7 +1418,7 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"]; /* Get the New Preset Description from the field in the AddPresetPanel */ - [preset setObject:@"HandBrake's high quality settings for use with QuickTime. It can be slow, so use it when the Normal preset doesn't look good enough." forKey:@"PresetDescription"]; + [preset setObject:@"HandBrake's high profile settings for use with QuickTime. It can be slow, so use it when the Normal preset doesn't look good enough." forKey:@"PresetDescription"]; /* File Format */ [preset setObject:@"MP4 file" forKey:@"FileFormat"]; @@ -1516,12 +1430,12 @@ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=3:mixed-refs:bframes=3:subme=7:weightb:direct=auto:me=umh:analyse=all:trellis=1:no-fast-pskip" forKey:@"x264Option"]; + [preset setObject:@"ref=3:mixed-refs:bframes=3:weightb:direct=auto:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip=1:psy-rd=1,1" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; [preset setObject:@"700" forKey:@"VideoTargetSize"]; - [preset setObject:@"2000" forKey:@"VideoAvgBitrate"]; + [preset setObject:@"1800" forKey:@"VideoAvgBitrate"]; [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"]; /* Video framerate */ @@ -1605,7 +1519,7 @@ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"]; /* x264 Option String */ - [preset setObject:@"ref=3:mixed-refs:bframes=6:subme=7:weightb:direct=auto:b-pyramid:me=umh:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip" forKey:@"x264Option"]; + [preset setObject:@"ref=3:mixed-refs:bframes=6:weightb:direct=auto:b-pyramid:me=umh:subme=9:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip=1:psy-rd=1,1" forKey:@"x264Option"]; /* Video quality */ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"]; @@ -1629,15 +1543,16 @@ [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"]; + [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"]; [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"]; - [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"]; - [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDenoise"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"]; + [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"]; + [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"]; [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"]; - [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"]; + [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"]; /* Set crop settings here */ /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */ |