3 This file is part of the HandBrake source code.
4 Homepage: <http://handbrake.fr/>.
5 It may be used under the terms of the GNU General Public License. */
9 @implementation HBPresets
16 /* Called by -addFactoryPresets in Controller.mm */
17 - (NSMutableArray *) generateBuiltinPresets: (NSMutableArray *) UserPresets
19 /* We receive the user presets array of dictionaries from controller.mm */
20 /* We re-create new built in presets programmatically and add them to our presets array */
22 /* Note: the built in presets will *not* sort themselves alphabetically, so they will
23 * appear in the order you create them
25 /* Built in preset folders at the root of the hierarchy */
26 [UserPresets addObject:[self createApplePresetFolder]];
27 [UserPresets addObject:[self createBasicPresetFolder]];
28 [UserPresets addObject:[self createHiProfilePresetFolder]];
29 [UserPresets addObject:[self createGamingConsolesPresetFolder]];
31 /* Independent presets at the root hierarchy level would go here */
33 /* return the newly regenerated preset array back to Controller.mm */
39 #pragma mark Built In Preset Folder Definitions
41 - (NSDictionary *)createApplePresetFolder
43 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
44 /*Set whether or not this is a folder, 1 is bool for folder*/
45 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
48 /* Get the New Preset Name from the field in the AddPresetPanel */
49 [preset setObject:@"Apple" forKey:@"PresetName"];
51 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
52 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
54 /*Set whether or not this is default, at creation set to 0*/
55 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
57 /* Lets initalize the child array of dictionaries for folders, this
58 is an array of dictionaries much like the root level of presets and
59 may contain folders and presets alike, etc.*/
60 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
61 /* we actually call the methods for the nests here */
62 [childrenArray addObject:[self createAppleUniversalPreset]];
63 [childrenArray addObject:[self createAppleTVPreset]];
64 [childrenArray addObject:[self createAppleIpodFamilyPresetFolder]];
65 [childrenArray addObject:[self createQuickTimePreset]];
66 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
68 [childrenArray autorelease];
76 - (NSDictionary *)createAppleIpodFamilyPresetFolder
78 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
79 /*Set whether or not this is a folder, 1 is bool for folder*/
80 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
83 /* Get the New Preset Name from the field in the AddPresetPanel */
84 [preset setObject:@"iPod & iPhone" forKey:@"PresetName"];
86 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
87 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
89 /*Set whether or not this is default, at creation set to 0*/
90 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
92 /* Lets initalize the child array of dictionaries for folders, this
93 is an array of dictionaries much like the root level of presets and
94 may contain folders and presets alike, etc.*/
95 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
96 /* we actually call the methods for the nests here */
97 [childrenArray addObject:[self createIpodLowPreset]];
98 [childrenArray addObject:[self createiPhonePreset]];
99 [childrenArray addObject:[self createIpodHighPreset]];
101 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
103 [childrenArray autorelease];
107 [preset autorelease];
111 - (NSDictionary *)createGamingConsolesPresetFolder
113 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
114 /*Set whether or not this is a folder, 1 is bool for folder*/
115 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
118 /* Get the New Preset Name from the field in the AddPresetPanel */
119 [preset setObject:@"Gaming Consoles" forKey:@"PresetName"];
121 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
122 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
124 /*Set whether or not this is default, at creation set to 0*/
125 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
127 /* Lets initalize the child array of dictionaries for folders, this
128 is an array of dictionaries much like the root level of presets and
129 may contain folders and presets alike, etc.*/
130 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
131 /* we actually call the methods for the nests here */
132 [childrenArray addObject:[self createPSPPreset]];
133 [childrenArray addObject:[self createPSThreePreset]];
134 [childrenArray addObject:[self create360Preset]];
135 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
137 [childrenArray autorelease];
141 [preset autorelease];
146 - (NSDictionary *)createBasicPresetFolder
148 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
149 /*Set whether or not this is a folder, 1 is bool for folder*/
150 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
153 /* Get the New Preset Name from the field in the AddPresetPanel */
154 [preset setObject:@"Basic" forKey:@"PresetName"];
156 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
157 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
159 /*Set whether or not this is default, at creation set to 0*/
160 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
162 /* Lets initalize the child array of dictionaries for folders, this
163 is an array of dictionaries much like the root level of presets and
164 may contain folders and presets alike, etc.*/
165 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
166 /* we actually call the methods for the nests here */
167 [childrenArray addObject:[self createNormalPreset]];
168 [childrenArray addObject:[self createClassicPreset]];
169 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
171 [childrenArray autorelease];
175 [preset autorelease];
179 - (NSDictionary *)createHiProfilePresetFolder
181 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
182 /*Set whether or not this is a folder, 1 is bool for folder*/
183 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
186 /* Get the New Preset Name from the field in the AddPresetPanel */
187 [preset setObject:@"High Profile" forKey:@"PresetName"];
189 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
190 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
192 /*Set whether or not this is default, at creation set to 0*/
193 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
195 /* Lets initalize the child array of dictionaries for folders, this
196 is an array of dictionaries much like the root level of presets and
197 may contain folders and presets alike, etc.*/
198 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
199 /* we actually call the methods for the nests here */
200 [childrenArray addObject:[self createAnimationPreset]];
201 [childrenArray addObject:[self createCRFPreset]];
202 [childrenArray addObject:[self createFilmPreset]];
203 [childrenArray addObject:[self createTelevisionPreset]];
204 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
206 [childrenArray autorelease];
207 [preset autorelease];
214 #pragma mark Built In Preset Definitions
216 /* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */
217 /* Note: For now, you can no longer have reference to any main window fields in your key values */
219 - (NSDictionary *)create360Preset
221 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
223 /* Get the New Preset Name from the field in the AddPresetPanel */
224 [preset setObject:@"Xbox 360" forKey:@"PresetName"];
226 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
227 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
229 /*Set whether or not this is default, at creation set to 0*/
230 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
232 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
233 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
235 /* Get the New Preset Description from the field in the AddPresetPanel */
236 [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"];
239 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
242 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
245 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
247 /* x264 Option String */
248 [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"];
251 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
252 [preset setObject:@"700" forKey:@"VideoTargetSize"];
253 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
254 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
256 /* Video framerate */
257 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
260 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
262 /* 2 Pass Encoding */
263 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
266 /* Use Max Picture settings for whatever the dvd is.*/
267 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
268 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
269 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
270 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
271 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
273 /* Explicitly set the filters for built-in presets */
274 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
275 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
276 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
277 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
278 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
279 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
281 /* Set crop settings here */
282 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
283 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
284 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
285 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
286 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
288 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
289 * not listed will be set to "None" and not encoded */
292 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
293 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
294 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
295 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
296 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
297 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
300 [preset setObject:@"None" forKey:@"Subtitles"];
302 [preset autorelease];
306 - (NSDictionary *)createAnimationPreset
308 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
310 /* Get the New Preset Name from the field in the AddPresetPanel */
311 [preset setObject:@"Animation" forKey:@"PresetName"];
313 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
314 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
316 /*Set whether or not this is default, at creation set to 0*/
317 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
319 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
320 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
322 /* Get the New Preset Description from the field in the AddPresetPanel */
323 [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"];
326 [preset setObject:@"MKV file" forKey:@"FileFormat"];
329 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
332 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
334 /* x264 Option String */
335 [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"];
338 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
339 [preset setObject:@"700" forKey:@"VideoTargetSize"];
340 [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
341 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
343 /* Video framerate */
344 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
347 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
349 /* 2 Pass Encoding */
350 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
351 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
354 /* Basic Picture Settings */
355 /* Use Max Picture settings for whatever the dvd is.*/
356 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
357 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
358 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
359 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
360 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
361 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
363 /* Filters. For animation, use slower deinterlacing. */
364 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
365 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
366 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"];
367 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
368 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
369 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
370 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"];
372 /* Set crop settings here */
373 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
374 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
375 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
376 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
377 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
379 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
380 * not listed will be set to "None" and not encoded */
383 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
384 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
385 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
386 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
387 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
388 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
391 [preset setObject:@"None" forKey:@"Subtitles"];
393 [preset autorelease];
397 - (NSDictionary *)createAppleTVPreset
399 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
401 /* Get the New Preset Name from the field in the AddPresetPanel */
402 [preset setObject:@"AppleTV" forKey:@"PresetName"];
404 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
405 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
406 /*Set whether or not this is a folder, 1 is bool for folder*/
407 [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
408 /*Set whether or not this is default, at creation set to 0*/
409 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
411 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
412 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
414 /* Get the New Preset Description from the field in the AddPresetPanel */
415 [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"];
418 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
420 /* 64-bit MP4 file */
421 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
424 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
427 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
429 /* x264 Option String (We can use this to tweak the appleTV output)*/
430 [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"];
433 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
434 [preset setObject:@"700" forKey:@"VideoTargetSize"];
435 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
436 [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
438 /* Video framerate */
439 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
442 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
444 /* 2 Pass Encoding */
445 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
447 /* Basic Picture Settings */
448 /* Use Max Picture settings for whatever the dvd is.*/
449 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
450 [preset setObject:[NSNumber numberWithInt:960] forKey:@"PictureWidth"];
451 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
452 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
453 [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
455 /* Explicitly set the filters for built-in presets */
456 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
457 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
458 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
459 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
460 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
461 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
463 /* Set crop settings here */
464 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
465 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
466 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
467 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
468 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
469 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
471 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
472 * not listed will be set to "None" and not encoded */
475 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
476 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
477 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
478 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
479 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
480 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
483 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
484 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
485 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
486 [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
487 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
488 * the sources bitrate, however we need to initially set the value to something so
489 * the macgui doesnt barf, so 160 seems as good as anything */
490 [preset setObject:@"160" forKey:@"Audio2Bitrate"];
491 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
494 [preset setObject:@"None" forKey:@"Subtitles"];
496 [preset autorelease];
500 - (NSDictionary *)createAppleUniversalPreset
502 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
504 /* Get the New Preset Name from the field in the AddPresetPanel */
505 [preset setObject:@"Universal" forKey:@"PresetName"];
507 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
508 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
509 /*Set whether or not this is a folder, 1 is bool for folder*/
510 [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
511 /*Set whether or not this is default, at creation set to 0*/
512 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
514 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
515 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
517 /* Get the New Preset Description from the field in the AddPresetPanel */
518 [preset setObject:@"HandBrake's universally compatible, full resolution settings for all current Apple devices: iPod, iPhone, AppleTV, and Macs" forKey:@"PresetDescription"];
521 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
523 /* 64-bit MP4 file */
524 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
527 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
530 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
532 /* x264 Option String (We can use this to tweak the appleTV output)*/
533 [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:analyse=all:me=umh:no-fast-pskip=1:subme=8" forKey:@"x264Option"];
536 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
537 [preset setObject:@"700" forKey:@"VideoTargetSize"];
538 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
539 [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
541 /* Video framerate */
542 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
545 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
547 /* 2 Pass Encoding */
548 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
550 /* Basic Picture Settings */
551 /* Use Max Picture settings for whatever the dvd is.*/
552 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
553 [preset setObject:[NSNumber numberWithInt:720] forKey:@"PictureWidth"];
554 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
555 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
556 [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
558 /* Explicitly set the filters for built-in presets */
559 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
560 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
561 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
562 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
563 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
564 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
566 /* Set crop settings here */
567 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
568 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
569 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
570 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
571 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
572 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
574 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
575 * not listed will be set to "None" and not encoded */
578 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
579 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
580 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
581 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
582 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
583 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
586 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
587 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
588 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
589 [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
590 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
591 * the sources bitrate, however we need to initially set the value to something so
592 * the macgui doesnt barf, so 160 seems as good as anything */
593 [preset setObject:@"160" forKey:@"Audio2Bitrate"];
594 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
597 [preset setObject:@"None" forKey:@"Subtitles"];
599 [preset autorelease];
603 - (NSDictionary *)createClassicPreset
605 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
607 /* Get the New Preset Name from the field in the AddPresetPanel */
608 [preset setObject:@"Classic" forKey:@"PresetName"];
610 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
611 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
613 /*Set whether or not this is default, at creation set to 0*/
614 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
616 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
617 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
619 /* Get the New Preset Description from the field in the AddPresetPanel */
620 [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
623 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
626 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
629 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
631 /* x264 Option String */
632 [preset setObject:@"" forKey:@"x264Option"];
635 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
636 [preset setObject:@"700" forKey:@"VideoTargetSize"];
637 [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
638 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
640 /* Video framerate */
641 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
644 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
646 /* 2 Pass Encoding */
647 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
650 /* Use Max Picture settings for whatever the dvd is.*/
651 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
652 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
653 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
654 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
655 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
656 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
658 /* Explicitly set the filters for built-in presets */
659 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
660 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
661 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
662 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
663 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
664 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
666 /* Set crop settings here */
667 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
668 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
669 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
670 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
671 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
673 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
674 * not listed will be set to "None" and not encoded */
677 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
678 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
679 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
680 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
681 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
682 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
685 [preset setObject:@"None" forKey:@"Subtitles"];
687 [preset autorelease];
691 - (NSDictionary *)createCRFPreset
693 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
695 /* Get the New Preset Name from the field in the AddPresetPanel */
696 [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
698 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
699 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
701 /*Set whether or not this is default, at creation set to 0*/
702 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
704 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
705 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
707 /* Get the New Preset Description from the field in the AddPresetPanel */
708 [preset setObject:@"HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates." forKey:@"PresetDescription"];
711 [preset setObject:@"MKV file" forKey:@"FileFormat"];
714 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
717 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
719 /* x264 Option String */
720 [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"];
723 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
724 [preset setObject:@"700" forKey:@"VideoTargetSize"];
725 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
726 [preset setObject:[NSNumber numberWithFloat:0.60] forKey:@"VideoQualitySlider"];
728 /* Video framerate */
729 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
732 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
734 /* 2 Pass Encoding */
735 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
736 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
739 /* Use Max Picture settings for whatever the dvd is.*/
740 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
741 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
742 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
743 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
744 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
745 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
747 /* Explicitly set the filters for built-in presets */
748 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
749 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
750 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
751 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
752 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
753 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
755 /* Set crop settings here */
756 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
757 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
758 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
759 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
760 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
762 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
763 * not listed will be set to "None" and not encoded */
766 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
767 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
768 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
769 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
770 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
771 * the sources bitrate, however we need to initially set the value to something so
772 * the macgui doesnt barf, so 160 seems as good as anything */
773 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
774 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
777 [preset setObject:@"None" forKey:@"Subtitles"];
779 [preset autorelease];
783 - (NSDictionary *)createFilmPreset
785 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
787 /* Get the New Preset Name from the field in the AddPresetPanel */
788 [preset setObject:@"Film" forKey:@"PresetName"];
790 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
791 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
793 /*Set whether or not this is default, at creation set to 0*/
794 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
796 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
797 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
799 /* Get the New Preset Description from the field in the AddPresetPanel */
800 [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
803 [preset setObject:@"MKV file" forKey:@"FileFormat"];
806 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
809 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
811 /* x264 Option String */
812 [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"];
815 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
816 [preset setObject:@"700" forKey:@"VideoTargetSize"];
817 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
818 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
820 /* Video framerate */
821 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
824 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
826 /* 2 Pass Encoding */
827 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
828 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
831 /* Use Max Picture settings for whatever the dvd is.*/
832 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
833 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
834 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
835 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
836 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
837 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
839 /* Explicitly set the filters for built-in presets */
840 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
841 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
842 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
843 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
844 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
845 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
847 /* Set crop settings here */
848 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
849 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
850 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
851 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
852 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
854 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
855 * not listed will be set to "None" and not encoded */
858 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
859 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
860 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
861 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
862 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
863 * the sources bitrate, however we need to initially set the value to something so
864 * the macgui doesnt barf, so 160 seems as good as anything */
865 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
866 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
869 [preset setObject:@"None" forKey:@"Subtitles"];
871 [preset autorelease];
875 - (NSDictionary *)createiPhonePreset
877 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
879 /* Get the New Preset Name from the field in the AddPresetPanel */
880 [preset setObject:@"iPhone & iPod Touch" forKey:@"PresetName"];
882 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
883 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
885 /*Set whether or not this is default, at creation set to 0*/
886 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
888 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
889 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
891 /* Get the New Preset Description from the field in the AddPresetPanel */
892 [preset setObject:@"HandBrake's settings for the iPhone and iPod Touch." forKey:@"PresetDescription"];
895 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
898 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
901 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
902 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
903 /* x264 Option String */
904 [preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
907 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
908 [preset setObject:@"700" forKey:@"VideoTargetSize"];
909 [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
910 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
912 /* Video framerate */
913 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
916 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
918 /* 2 Pass Encoding */
919 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
922 /* Use a width of 480 for the iPhone*/
923 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
924 [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
925 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
926 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
927 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
929 /* Explicitly set the filters for built-in presets */
930 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
931 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
932 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
933 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
934 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
935 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
937 /* Set crop settings here */
938 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
939 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
940 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
941 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
942 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
943 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
945 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
946 * not listed will be set to "None" and not encoded */
949 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
950 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
951 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
952 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
953 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
954 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
957 [preset setObject:@"None" forKey:@"Subtitles"];
959 [preset autorelease];
963 - (NSDictionary *)createIpodHighPreset
965 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
967 /* Get the New Preset Name from the field in the AddPresetPanel */
968 [preset setObject:@"iPod Legacy" forKey:@"PresetName"];
970 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
971 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
973 /*Set whether or not this is default, at creation set to 0*/
974 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
976 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
977 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
979 /* Get the New Preset Description from the field in the AddPresetPanel */
980 [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"];
983 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
986 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
989 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
990 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
991 /* x264 Option String */
992 [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
995 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
996 [preset setObject:@"700" forKey:@"VideoTargetSize"];
997 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
998 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1000 /* Video framerate */
1001 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1004 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1006 /* 2 Pass Encoding */
1007 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1009 /*Picture Settings*/
1010 /* Use a width of 640 for iPod TV-out */
1011 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1012 [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
1013 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1014 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1015 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1017 /* Explicitly set the filters for built-in presets */
1018 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1019 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1020 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1021 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1022 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1023 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1025 /* Set crop settings here */
1026 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1027 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1028 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1029 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1030 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1031 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1033 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1034 * not listed will be set to "None" and not encoded */
1037 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1038 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1039 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1040 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1041 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1042 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1045 [preset setObject:@"None" forKey:@"Subtitles"];
1047 [preset autorelease];
1051 - (NSDictionary *)createIpodLowPreset
1053 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1055 /* Get the New Preset Name from the field in the AddPresetPanel */
1056 [preset setObject:@"iPod Classic & iPod Nano" forKey:@"PresetName"];
1058 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1059 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1061 /*Set whether or not this is default, at creation set to 0*/
1062 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1064 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1065 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1067 /* Get the New Preset Description from the field in the AddPresetPanel */
1068 [preset setObject:@"HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
1071 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1073 /* Chapter Markers*/
1074 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1077 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1078 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1079 /* x264 Option String */
1080 [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
1083 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1084 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1085 [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
1086 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1088 /* Video framerate */
1089 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1092 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1094 /* 2 Pass Encoding */
1095 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1097 /*Picture Settings*/
1098 /* Use a width of 320 for the iPod screen */
1099 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1100 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1101 [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
1102 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1103 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1104 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1106 /* Explicitly set the filters for built-in presets */
1107 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1108 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1109 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1110 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1111 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1112 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1114 /* Set crop settings here */
1115 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1116 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1117 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1118 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1119 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1121 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1122 * not listed will be set to "None" and not encoded */
1125 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1126 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1127 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1128 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1129 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1130 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1133 [preset setObject:@"None" forKey:@"Subtitles"];
1135 [preset autorelease];
1139 - (NSDictionary *)createNormalPreset
1141 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1143 /* Get the New Preset Name from the field in the AddPresetPanel */
1144 [preset setObject:@"Normal" forKey:@"PresetName"];
1146 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1147 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1149 /*Set whether or not this is default, at creation set to 0*/
1150 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
1152 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1153 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1155 /* Get the New Preset Description from the field in the AddPresetPanel */
1156 [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
1159 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1161 /* Chapter Markers*/
1162 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1165 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1167 /* x264 Option String */
1168 [preset setObject:@"ref=2:bframes=2:me=umh" forKey:@"x264Option"];
1171 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1172 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1173 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1174 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1176 /* Video framerate */
1177 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1180 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1182 /* 2 Pass Encoding */
1183 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1184 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1186 /*Picture Settings*/
1187 /* Use Max Picture settings for whatever the dvd is.*/
1188 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1189 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1190 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1191 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1192 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1193 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1195 /* Explicitly set the filters for built-in presets */
1196 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1197 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1198 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1199 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1200 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1201 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1203 /* Set crop settings here */
1204 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1205 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1206 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1207 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1208 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1210 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1211 * not listed will be set to "None" and not encoded */
1214 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1215 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1216 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1217 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1218 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1219 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1222 [preset setObject:@"None" forKey:@"Subtitles"];
1224 [preset autorelease];
1228 - (NSDictionary *)createPSPPreset
1230 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1232 /* Get the New Preset Name from the field in the AddPresetPanel */
1233 [preset setObject:@"PSP" forKey:@"PresetName"];
1235 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1236 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1238 /*Set whether or not this is default, at creation set to 0*/
1239 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1241 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1242 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1244 /* Get the New Preset Description from the field in the AddPresetPanel */
1245 [preset setObject:@"HandBrake's settings for the Sony PlayStation Portable." forKey:@"PresetDescription"];
1248 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1250 /* Chapter Markers*/
1251 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1254 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
1256 /* x264 Option String (We can use this to tweak the appleTV output)*/
1257 [preset setObject:@"" forKey:@"x264Option"];
1260 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1261 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1262 [preset setObject:@"1024" forKey:@"VideoAvgBitrate"];
1263 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1265 /* Video framerate */
1266 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1269 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1271 /* 2 Pass Encoding */
1272 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1274 /*Picture Settings*/
1275 /* Use dimensions of 368*208 for robust PSP compatibility */
1276 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1277 [preset setObject:@"368" forKey:@"PictureWidth"];
1278 [preset setObject:@"208" forKey:@"PictureHeight"];
1279 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1280 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1282 /* Explicitly set the filters for built-in presets */
1283 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1284 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1285 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1286 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1287 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1288 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1290 /* Set crop settings here */
1291 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1292 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1293 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1294 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1295 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1296 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1298 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1299 * not listed will be set to "None" and not encoded */
1302 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1303 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1304 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1305 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1306 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1307 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1310 [preset setObject:@"None" forKey:@"Subtitles"];
1312 [preset autorelease];
1316 - (NSDictionary *)createPSThreePreset
1318 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1320 /* Get the New Preset Name from the field in the AddPresetPanel */
1321 [preset setObject:@"PS3" forKey:@"PresetName"];
1323 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1324 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1326 /*Set whether or not this is default, at creation set to 0*/
1327 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1329 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1330 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1332 /* Get the New Preset Description from the field in the AddPresetPanel */
1333 [preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
1336 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1338 /* Chapter Markers*/
1339 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
1342 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1344 /* x264 Option String (We can use this to tweak the appleTV output)*/
1345 [preset setObject:@"level=41:me=umh" forKey:@"x264Option"];
1348 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1349 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1350 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
1351 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1353 /* Video framerate */
1354 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1357 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1359 /* 2 Pass Encoding */
1360 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1362 /*Picture Settings*/
1363 /* Use Max Picture settings for whatever the dvd is.*/
1364 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1365 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1366 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1367 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1368 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1370 /* Explicitly set the filters for built-in presets */
1371 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1372 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1373 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1374 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1375 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1376 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1378 /* Set crop settings here */
1379 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1380 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureAutoCrop"];
1381 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1382 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1383 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1384 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1386 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1387 * not listed will be set to "None" and not encoded */
1390 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1391 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1392 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1393 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1394 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1395 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1398 [preset setObject:@"None" forKey:@"Subtitles"];
1400 [preset autorelease];
1404 - (NSDictionary *)createQuickTimePreset
1406 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1408 /* Get the New Preset Name from the field in the AddPresetPanel */
1409 [preset setObject:@"QuickTime" forKey:@"PresetName"];
1411 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1412 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1414 /*Set whether or not this is default, at creation set to 0*/
1415 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1417 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1418 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1420 /* Get the New Preset Description from the field in the AddPresetPanel */
1421 [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"];
1424 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1426 /* Chapter Markers*/
1427 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1430 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1432 /* x264 Option String */
1433 [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"];
1436 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1437 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1438 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
1439 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1441 /* Video framerate */
1442 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1445 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1447 /* 2 Pass Encoding */
1448 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1449 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1451 /*Picture Settings*/
1452 /* Use Max Picture settings for whatever the dvd is.*/
1453 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1454 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1455 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1456 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1457 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1458 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1460 /* Explicitly set the filters for built-in presets */
1461 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1462 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1463 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1464 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1465 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1466 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1468 /* Set crop settings here */
1469 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1470 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1471 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1472 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1473 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1475 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1476 * not listed will be set to "None" and not encoded */
1479 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1480 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1481 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1482 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1483 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1484 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1487 [preset setObject:@"None" forKey:@"Subtitles"];
1489 [preset autorelease];
1493 - (NSDictionary *)createTelevisionPreset
1495 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1497 /* Get the New Preset Name from the field in the AddPresetPanel */
1498 [preset setObject:@"Television" forKey:@"PresetName"];
1500 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1501 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1503 /*Set whether or not this is default, at creation set to 0*/
1504 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1506 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1507 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1509 /* Get the New Preset Description from the field in the AddPresetPanel */
1510 [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
1513 [preset setObject:@"MKV file" forKey:@"FileFormat"];
1515 /* Chapter Markers*/
1516 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1519 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1521 /* x264 Option String */
1522 [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"];
1525 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1526 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1527 [preset setObject:@"1300" forKey:@"VideoAvgBitrate"];
1528 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1530 /* Video framerate */
1531 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1534 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1536 /* 2 Pass Encoding */
1537 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1538 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1540 /*Picture Settings*/
1541 /* Use Max Picture settings for whatever the dvd is.*/
1542 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1543 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1544 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1545 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1546 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1547 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1549 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1550 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1551 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"];
1552 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1553 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1554 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1555 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"];
1557 /* Set crop settings here */
1558 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1559 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1560 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1561 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1562 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1564 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1565 * not listed will be set to "None" and not encoded */
1568 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1569 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1570 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1571 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1572 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1573 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1576 [preset setObject:@"None" forKey:@"Subtitles"];
1578 [preset autorelease];