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 createIpodLowPreset]];
64 [childrenArray addObject:[self createiPhonePreset]];
65 [childrenArray addObject:[self createAppleTVPreset]];
66 [childrenArray addObject:[self createQuickTimePreset]];
67 [childrenArray addObject:[self createLegacyPresetFolder]];
69 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
71 [childrenArray autorelease];
79 - (NSDictionary *)createGamingConsolesPresetFolder
81 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
82 /*Set whether or not this is a folder, 1 is bool for folder*/
83 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
86 /* Get the New Preset Name from the field in the AddPresetPanel */
87 [preset setObject:@"Gaming Consoles" forKey:@"PresetName"];
89 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
90 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
92 /*Set whether or not this is default, at creation set to 0*/
93 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
95 /* Lets initalize the child array of dictionaries for folders, this
96 is an array of dictionaries much like the root level of presets and
97 may contain folders and presets alike, etc.*/
98 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
99 /* we actually call the methods for the nests here */
100 [childrenArray addObject:[self createPSPPreset]];
101 [childrenArray addObject:[self createPSThreePreset]];
102 [childrenArray addObject:[self create360Preset]];
103 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
105 [childrenArray autorelease];
109 [preset autorelease];
114 - (NSDictionary *)createBasicPresetFolder
116 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
117 /*Set whether or not this is a folder, 1 is bool for folder*/
118 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
121 /* Get the New Preset Name from the field in the AddPresetPanel */
122 [preset setObject:@"Basic" forKey:@"PresetName"];
124 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
125 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
127 /*Set whether or not this is default, at creation set to 0*/
128 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
130 /* Lets initalize the child array of dictionaries for folders, this
131 is an array of dictionaries much like the root level of presets and
132 may contain folders and presets alike, etc.*/
133 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
134 /* we actually call the methods for the nests here */
135 [childrenArray addObject:[self createNormalPreset]];
136 [childrenArray addObject:[self createClassicPreset]];
137 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
139 [childrenArray autorelease];
143 [preset autorelease];
147 - (NSDictionary *)createHiProfilePresetFolder
149 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
150 /*Set whether or not this is a folder, 1 is bool for folder*/
151 [preset setObject:[NSNumber numberWithBool: YES] forKey:@"Folder"];
154 /* Get the New Preset Name from the field in the AddPresetPanel */
155 [preset setObject:@"High Profile" forKey:@"PresetName"];
157 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
158 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
160 /*Set whether or not this is default, at creation set to 0*/
161 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
163 /* Lets initalize the child array of dictionaries for folders, this
164 is an array of dictionaries much like the root level of presets and
165 may contain folders and presets alike, etc.*/
166 NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
167 /* we actually call the methods for the nests here */
168 [childrenArray addObject:[self createAnimationPreset]];
169 [childrenArray addObject:[self createCRFPreset]];
170 [childrenArray addObject:[self createFilmPreset]];
171 [childrenArray addObject:[self createTelevisionPreset]];
172 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
174 [childrenArray autorelease];
175 [preset autorelease];
179 - (NSDictionary *)createLegacyPresetFolder
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:@"Legacy" 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 createAppleTVLegacyPreset]];
201 [childrenArray addObject:[self createiPhoneLegacyPreset]];
202 [childrenArray addObject:[self createIpodHighPreset]];
203 [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
205 [childrenArray autorelease];
209 [preset autorelease];
216 #pragma mark Built In Preset Definitions
218 /* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */
219 /* Note: For now, you can no longer have reference to any main window fields in your key values */
221 - (NSDictionary *)create360Preset
223 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
225 /* Get the New Preset Name from the field in the AddPresetPanel */
226 [preset setObject:@"Xbox 360" forKey:@"PresetName"];
228 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
229 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
231 /*Set whether or not this is default, at creation set to 0*/
232 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
234 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
235 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
237 /* Get the New Preset Description from the field in the AddPresetPanel */
238 [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"];
241 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
244 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
247 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
249 /* x264 Option String */
250 [preset setObject:@"level=40:ref=2:mixed-refs:bframes=3:weightb:subme=9:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1" forKey:@"x264Option"];
253 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
254 [preset setObject:@"700" forKey:@"VideoTargetSize"];
255 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
256 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
258 /* Video framerate */
259 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
262 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
264 /* 2 Pass Encoding */
265 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
268 /* Use Max Picture settings for whatever the dvd is.*/
269 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
270 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
271 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
272 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
273 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
275 /* Explicitly set the filters for built-in presets */
276 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
277 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
278 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
279 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
280 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
281 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
283 /* Set crop settings here */
284 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
285 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
286 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
287 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
288 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
290 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
291 * not listed will be set to "None" and not encoded */
294 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
295 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
296 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
297 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
298 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
299 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
302 [preset setObject:@"None" forKey:@"Subtitles"];
304 [preset autorelease];
308 - (NSDictionary *)createAnimationPreset
310 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
312 /* Get the New Preset Name from the field in the AddPresetPanel */
313 [preset setObject:@"Animation" forKey:@"PresetName"];
315 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
316 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
318 /*Set whether or not this is default, at creation set to 0*/
319 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
321 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
322 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
324 /* Get the New Preset Description from the field in the AddPresetPanel */
325 [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"];
328 [preset setObject:@"MKV file" forKey:@"FileFormat"];
331 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
334 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
336 /* x264 Option String */
337 [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"];
340 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
341 [preset setObject:@"700" forKey:@"VideoTargetSize"];
342 [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
343 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
345 /* Video framerate */
346 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
349 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
351 /* 2 Pass Encoding */
352 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
353 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
356 /* Basic Picture Settings */
357 /* Use Max Picture settings for whatever the dvd is.*/
358 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
359 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
360 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
361 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
362 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
363 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
365 /* Filters. For animation, use slower deinterlacing. */
366 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
367 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
368 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"];
369 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
370 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
371 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
372 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"];
374 /* Set crop settings here */
375 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
376 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
377 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
378 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
379 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
381 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
382 * not listed will be set to "None" and not encoded */
385 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
386 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
387 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
388 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
389 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
390 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
393 [preset setObject:@"None" forKey:@"Subtitles"];
395 [preset autorelease];
399 - (NSDictionary *)createAppleTVPreset
401 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
403 /* Get the New Preset Name from the field in the AddPresetPanel */
404 [preset setObject:@"AppleTV" forKey:@"PresetName"];
406 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
407 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
408 /*Set whether or not this is a folder, 1 is bool for folder*/
409 [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
410 /*Set whether or not this is default, at creation set to 0*/
411 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
413 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
414 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
416 /* Get the New Preset Description from the field in the AddPresetPanel */
417 [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"];
420 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
422 /* 64-bit MP4 file */
423 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
426 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
429 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
431 /* x264 Option String (We can use this to tweak the appleTV output)*/
432 [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=7:analyse=all" forKey:@"x264Option"];
435 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
436 [preset setObject:@"700" forKey:@"VideoTargetSize"];
437 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
438 [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
440 /* Video framerate */
441 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
444 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
446 /* 2 Pass Encoding */
447 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
449 /* Basic Picture Settings */
450 /* Use Max Picture settings for whatever the dvd is.*/
451 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
452 [preset setObject:[NSNumber numberWithInt:960] forKey:@"PictureWidth"];
453 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
454 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
455 [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
457 /* Explicitly set the filters for built-in presets */
458 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
459 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
460 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
461 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
462 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
463 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
465 /* Set crop settings here */
466 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
467 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
468 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
469 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
470 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
471 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
473 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
474 * not listed will be set to "None" and not encoded */
477 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
478 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
479 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
480 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
481 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
482 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
485 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
486 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
487 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
488 [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
489 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
490 * the sources bitrate, however we need to initially set the value to something so
491 * the macgui doesnt barf, so 160 seems as good as anything */
492 [preset setObject:@"160" forKey:@"Audio2Bitrate"];
493 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
496 [preset setObject:@"None" forKey:@"Subtitles"];
498 [preset autorelease];
502 - (NSDictionary *)createAppleTVLegacyPreset
504 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
506 /* Get the New Preset Name from the field in the AddPresetPanel */
507 [preset setObject:@"AppleTV Legacy" forKey:@"PresetName"];
509 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
510 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
512 /*Set whether or not this is default, at creation set to 0*/
513 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
515 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
516 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
518 /* Get the New Preset Description from the field in the AddPresetPanel */
519 [preset setObject:@"HandBrake's deprecated settings for the AppleTV, including Dolby Digital 5.1 AC3 sound. Provides a good balance between quality and file size, and optimizes performance. This is the AppleTV preset from HandBrake 0.9.2, and while it is offered as a service to legacy users, it is no longer supported." forKey:@"PresetDescription"];
522 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
524 /* 64-bit MP4 file */
525 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
528 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
531 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
533 /* x264 Option String (We can use this to tweak the appleTV output)*/
534 [preset setObject:@"bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0" forKey:@"x264Option"];
537 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
538 [preset setObject:@"700" forKey:@"VideoTargetSize"];
539 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
540 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
542 /* Video framerate */
543 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
546 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
548 /* 2 Pass Encoding */
549 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
551 /* Basic Picture Settings */
552 /* Use Max Picture settings for whatever the dvd is.*/
553 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
554 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
555 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
556 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
557 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
559 /* Explicitly set the filters for built-in presets */
560 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
561 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
562 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
563 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
564 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
565 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
567 /* Set crop settings here */
568 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
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 *)createAppleUniversalPreset
605 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
607 /* Get the New Preset Name from the field in the AddPresetPanel */
608 [preset setObject:@"Universal" forKey:@"PresetName"];
610 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
611 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
612 /*Set whether or not this is a folder, 1 is bool for folder*/
613 [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
614 /*Set whether or not this is default, at creation set to 0*/
615 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
617 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
618 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
620 /* Get the New Preset Description from the field in the AddPresetPanel */
621 [preset setObject:@"HandBrake's universally compatible, full resolution settings for all current Apple devices: iPod, iPhone, AppleTV, and Macs" forKey:@"PresetDescription"];
624 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
626 /* 64-bit MP4 file */
627 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
630 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
633 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
635 /* x264 Option String (We can use this to tweak the appleTV output)*/
636 [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
639 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
640 [preset setObject:@"700" forKey:@"VideoTargetSize"];
641 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
642 [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
644 /* Video framerate */
645 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
648 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
650 /* 2 Pass Encoding */
651 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
653 /* Basic Picture Settings */
654 /* Use Max Picture settings for whatever the dvd is.*/
655 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
656 [preset setObject:[NSNumber numberWithInt:720] forKey:@"PictureWidth"];
657 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
658 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
659 [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
661 /* Explicitly set the filters for built-in presets */
662 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
663 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
664 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
665 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
666 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
667 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
669 /* Set crop settings here */
670 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
671 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
672 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
673 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
674 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
675 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
677 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
678 * not listed will be set to "None" and not encoded */
681 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
682 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
683 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
684 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
685 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
686 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
689 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
690 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
691 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
692 [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
693 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
694 * the sources bitrate, however we need to initially set the value to something so
695 * the macgui doesnt barf, so 160 seems as good as anything */
696 [preset setObject:@"160" forKey:@"Audio2Bitrate"];
697 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
700 [preset setObject:@"None" forKey:@"Subtitles"];
702 [preset autorelease];
706 - (NSDictionary *)createClassicPreset
708 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
710 /* Get the New Preset Name from the field in the AddPresetPanel */
711 [preset setObject:@"Classic" forKey:@"PresetName"];
713 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
714 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
716 /*Set whether or not this is default, at creation set to 0*/
717 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
719 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
720 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
722 /* Get the New Preset Description from the field in the AddPresetPanel */
723 [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
726 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
729 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
732 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
734 /* x264 Option String */
735 [preset setObject:@"" forKey:@"x264Option"];
738 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
739 [preset setObject:@"700" forKey:@"VideoTargetSize"];
740 [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
741 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
743 /* Video framerate */
744 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
747 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
749 /* 2 Pass Encoding */
750 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
753 /* Use Max Picture settings for whatever the dvd is.*/
754 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
755 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
756 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
757 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
758 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
759 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
761 /* Explicitly set the filters for built-in presets */
762 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
763 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
764 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
765 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
766 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
767 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
769 /* Set crop settings here */
770 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
771 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
772 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
773 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
774 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
776 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
777 * not listed will be set to "None" and not encoded */
780 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
781 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
782 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
783 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
784 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
785 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
788 [preset setObject:@"None" forKey:@"Subtitles"];
790 [preset autorelease];
794 - (NSDictionary *)createCRFPreset
796 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
798 /* Get the New Preset Name from the field in the AddPresetPanel */
799 [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
801 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
802 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
804 /*Set whether or not this is default, at creation set to 0*/
805 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
807 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
808 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
810 /* Get the New Preset Description from the field in the AddPresetPanel */
811 [preset setObject:@"HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates." forKey:@"PresetDescription"];
814 [preset setObject:@"MKV file" forKey:@"FileFormat"];
817 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
820 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
822 /* x264 Option String */
823 [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"];
826 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
827 [preset setObject:@"700" forKey:@"VideoTargetSize"];
828 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
829 [preset setObject:[NSNumber numberWithFloat:0.60] forKey:@"VideoQualitySlider"];
831 /* Video framerate */
832 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
835 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
837 /* 2 Pass Encoding */
838 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
839 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
842 /* Use Max Picture settings for whatever the dvd is.*/
843 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
844 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
845 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
846 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
847 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
848 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
850 /* Explicitly set the filters for built-in presets */
851 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
852 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
853 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
854 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
855 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
856 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
858 /* Set crop settings here */
859 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
860 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
861 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
862 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
863 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
865 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
866 * not listed will be set to "None" and not encoded */
869 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
870 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
871 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
872 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
873 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
874 * the sources bitrate, however we need to initially set the value to something so
875 * the macgui doesnt barf, so 160 seems as good as anything */
876 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
877 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
880 [preset setObject:@"None" forKey:@"Subtitles"];
882 [preset autorelease];
886 - (NSDictionary *)createFilmPreset
888 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
890 /* Get the New Preset Name from the field in the AddPresetPanel */
891 [preset setObject:@"Film" forKey:@"PresetName"];
893 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
894 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
896 /*Set whether or not this is default, at creation set to 0*/
897 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
899 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
900 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
902 /* Get the New Preset Description from the field in the AddPresetPanel */
903 [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
906 [preset setObject:@"MKV file" forKey:@"FileFormat"];
909 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
912 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
914 /* x264 Option String */
915 [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"];
918 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
919 [preset setObject:@"700" forKey:@"VideoTargetSize"];
920 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
921 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
923 /* Video framerate */
924 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
927 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
929 /* 2 Pass Encoding */
930 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
931 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
934 /* Use Max Picture settings for whatever the dvd is.*/
935 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
936 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
937 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
938 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
939 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
940 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
942 /* Explicitly set the filters for built-in presets */
943 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
944 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
945 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
946 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
947 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
948 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
950 /* Set crop settings here */
951 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
952 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
953 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
954 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
955 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
957 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
958 * not listed will be set to "None" and not encoded */
961 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
962 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
963 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
964 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
965 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
966 * the sources bitrate, however we need to initially set the value to something so
967 * the macgui doesnt barf, so 160 seems as good as anything */
968 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
969 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
972 [preset setObject:@"None" forKey:@"Subtitles"];
974 [preset autorelease];
978 - (NSDictionary *)createiPhonePreset
980 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
982 /* Get the New Preset Name from the field in the AddPresetPanel */
983 [preset setObject:@"iPhone & iPod Touch" forKey:@"PresetName"];
985 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
986 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
988 /*Set whether or not this is default, at creation set to 0*/
989 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
991 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
992 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
994 /* Get the New Preset Description from the field in the AddPresetPanel */
995 [preset setObject:@"HandBrake's settings for the iPhone and iPod Touch." forKey:@"PresetDescription"];
998 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1000 /* Chapter Markers*/
1001 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1004 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1005 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
1006 /* x264 Option String */
1007 [preset setObject:@"level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
1010 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
1011 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1012 [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
1013 [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
1015 /* Video framerate */
1016 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1019 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1021 /* 2 Pass Encoding */
1022 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1024 /*Picture Settings*/
1025 /* Use a width of 480 for the iPhone*/
1026 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1027 [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
1028 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1029 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1030 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1032 /* Explicitly set the filters for built-in presets */
1033 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1034 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1035 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1036 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1037 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1038 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1040 /* Set crop settings here */
1041 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1042 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1043 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1044 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1045 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1046 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1048 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1049 * not listed will be set to "None" and not encoded */
1052 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1053 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1054 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1055 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1056 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1057 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1060 [preset setObject:@"None" forKey:@"Subtitles"];
1062 [preset autorelease];
1066 - (NSDictionary *)createiPhoneLegacyPreset
1068 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1070 /* Get the New Preset Name from the field in the AddPresetPanel */
1071 [preset setObject:@"iPhone Legacy" forKey:@"PresetName"];
1073 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1074 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1076 /*Set whether or not this is default, at creation set to 0*/
1077 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1079 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1080 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1082 /* Get the New Preset Description from the field in the AddPresetPanel */
1083 [preset setObject:@"HandBrake's deprecated settings for the iPhone and iPod Touch. This is the iPhone preset from HandBrake 0.9.2, and while it is offered as a service to legacy users, it is no longer supported." forKey:@"PresetDescription"];
1086 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1088 /* Chapter Markers*/
1089 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1092 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1093 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1094 /* x264 Option String */
1095 [preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
1098 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1099 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1100 [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
1101 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1103 /* Video framerate */
1104 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1107 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1109 /* 2 Pass Encoding */
1110 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1112 /*Picture Settings*/
1113 /* Use a width of 480 for the iPhone*/
1114 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1115 [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
1116 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1117 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1118 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1120 /* Explicitly set the filters for built-in presets */
1121 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1122 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1123 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1124 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1125 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1126 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1128 /* Set crop settings here */
1129 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1130 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1131 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1132 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1133 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1134 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1136 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1137 * not listed will be set to "None" and not encoded */
1140 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1141 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1142 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1143 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1144 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1145 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1148 [preset setObject:@"None" forKey:@"Subtitles"];
1150 [preset autorelease];
1154 - (NSDictionary *)createIpodHighPreset
1156 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1158 /* Get the New Preset Name from the field in the AddPresetPanel */
1159 [preset setObject:@"iPod Legacy" forKey:@"PresetName"];
1161 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1162 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1164 /*Set whether or not this is default, at creation set to 0*/
1165 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1167 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1168 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1170 /* Get the New Preset Description from the field in the AddPresetPanel */
1171 [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. This is the iPod High-Rez preset from 0.9.2." forKey:@"PresetDescription"];
1174 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1176 /* Chapter Markers*/
1177 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1180 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1181 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1182 /* x264 Option String */
1183 [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"];
1186 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1187 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1188 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1189 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1191 /* Video framerate */
1192 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1195 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1197 /* 2 Pass Encoding */
1198 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1200 /*Picture Settings*/
1201 /* Use a width of 640 for iPod TV-out */
1202 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1203 [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
1204 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1205 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1206 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1208 /* Explicitly set the filters for built-in presets */
1209 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1210 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1211 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1212 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1213 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1214 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1216 /* Set crop settings here */
1217 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1218 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1219 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1220 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1221 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1222 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1224 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1225 * not listed will be set to "None" and not encoded */
1228 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1229 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1230 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1231 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1232 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1233 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1236 [preset setObject:@"None" forKey:@"Subtitles"];
1238 [preset autorelease];
1242 - (NSDictionary *)createIpodLowPreset
1244 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1246 /* Get the New Preset Name from the field in the AddPresetPanel */
1247 [preset setObject:@"iPod" forKey:@"PresetName"];
1249 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1250 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1252 /*Set whether or not this is default, at creation set to 0*/
1253 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1255 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1256 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1258 /* Get the New Preset Description from the field in the AddPresetPanel */
1259 [preset setObject:@"HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
1262 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1264 /* Chapter Markers*/
1265 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1268 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1269 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1270 /* x264 Option String */
1271 [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"];
1274 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1275 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1276 [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
1277 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1279 /* Video framerate */
1280 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1283 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1285 /* 2 Pass Encoding */
1286 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1288 /*Picture Settings*/
1289 /* Use a width of 320 for the iPod screen */
1290 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1291 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1292 [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
1293 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1294 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1295 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1297 /* Explicitly set the filters for built-in presets */
1298 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1299 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1300 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1301 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1302 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1303 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1305 /* Set crop settings here */
1306 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1307 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1308 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1309 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1310 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1312 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1313 * not listed will be set to "None" and not encoded */
1316 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1317 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1318 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1319 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1320 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1321 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1324 [preset setObject:@"None" forKey:@"Subtitles"];
1326 [preset autorelease];
1330 - (NSDictionary *)createNormalPreset
1332 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1334 /* Get the New Preset Name from the field in the AddPresetPanel */
1335 [preset setObject:@"Normal" forKey:@"PresetName"];
1337 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1338 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1340 /*Set whether or not this is default, at creation set to 0*/
1341 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
1343 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1344 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1346 /* Get the New Preset Description from the field in the AddPresetPanel */
1347 [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
1350 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1352 /* Chapter Markers*/
1353 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1356 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1358 /* x264 Option String */
1359 [preset setObject:@"ref=2:bframes=2:me=umh" forKey:@"x264Option"];
1362 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1363 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1364 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1365 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1367 /* Video framerate */
1368 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1371 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1373 /* 2 Pass Encoding */
1374 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1375 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1377 /*Picture Settings*/
1378 /* Use Max Picture settings for whatever the dvd is.*/
1379 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1380 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1381 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1382 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1383 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1384 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1386 /* Explicitly set the filters for built-in presets */
1387 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1388 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1389 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1390 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1391 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1392 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1394 /* Set crop settings here */
1395 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1396 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1397 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1398 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1399 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1401 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1402 * not listed will be set to "None" and not encoded */
1405 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1406 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1407 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1408 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1409 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1410 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1413 [preset setObject:@"None" forKey:@"Subtitles"];
1415 [preset autorelease];
1419 - (NSDictionary *)createPSPPreset
1421 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1423 /* Get the New Preset Name from the field in the AddPresetPanel */
1424 [preset setObject:@"PSP" forKey:@"PresetName"];
1426 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1427 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1429 /*Set whether or not this is default, at creation set to 0*/
1430 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1432 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1433 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1435 /* Get the New Preset Description from the field in the AddPresetPanel */
1436 [preset setObject:@"HandBrake's settings for the Sony PlayStation Portable." forKey:@"PresetDescription"];
1439 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1441 /* Chapter Markers*/
1442 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1445 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
1447 /* x264 Option String (We can use this to tweak the appleTV output)*/
1448 [preset setObject:@"" forKey:@"x264Option"];
1451 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1452 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1453 [preset setObject:@"1024" forKey:@"VideoAvgBitrate"];
1454 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1456 /* Video framerate */
1457 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1460 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1462 /* 2 Pass Encoding */
1463 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1465 /*Picture Settings*/
1466 /* Use dimensions of 368*208 for robust PSP compatibility */
1467 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1468 [preset setObject:@"368" forKey:@"PictureWidth"];
1469 [preset setObject:@"208" forKey:@"PictureHeight"];
1470 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1471 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1473 /* Explicitly set the filters for built-in presets */
1474 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1475 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1476 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1477 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1478 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1479 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1481 /* Set crop settings here */
1482 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1483 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1484 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1485 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1486 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1487 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1489 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1490 * not listed will be set to "None" and not encoded */
1493 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1494 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1495 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1496 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1497 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1498 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1501 [preset setObject:@"None" forKey:@"Subtitles"];
1503 [preset autorelease];
1507 - (NSDictionary *)createPSThreePreset
1509 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1511 /* Get the New Preset Name from the field in the AddPresetPanel */
1512 [preset setObject:@"PS3" forKey:@"PresetName"];
1514 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1515 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1517 /*Set whether or not this is default, at creation set to 0*/
1518 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1520 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1521 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1523 /* Get the New Preset Description from the field in the AddPresetPanel */
1524 [preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
1527 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1529 /* Chapter Markers*/
1530 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
1533 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1535 /* x264 Option String (We can use this to tweak the appleTV output)*/
1536 [preset setObject:@"level=41:me=umh" forKey:@"x264Option"];
1539 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1540 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1541 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
1542 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1544 /* Video framerate */
1545 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1548 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1550 /* 2 Pass Encoding */
1551 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1553 /*Picture Settings*/
1554 /* Use Max Picture settings for whatever the dvd is.*/
1555 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1556 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1557 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1558 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1559 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1561 /* Explicitly set the filters for built-in presets */
1562 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1563 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1564 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1565 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1566 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1567 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1569 /* Set crop settings here */
1570 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1571 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureAutoCrop"];
1572 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1573 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1574 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1575 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1577 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1578 * not listed will be set to "None" and not encoded */
1581 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1582 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1583 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1584 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1585 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1586 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1589 [preset setObject:@"None" forKey:@"Subtitles"];
1591 [preset autorelease];
1595 - (NSDictionary *)createQuickTimePreset
1597 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1599 /* Get the New Preset Name from the field in the AddPresetPanel */
1600 [preset setObject:@"QuickTime" forKey:@"PresetName"];
1602 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1603 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1605 /*Set whether or not this is default, at creation set to 0*/
1606 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1608 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1609 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1611 /* Get the New Preset Description from the field in the AddPresetPanel */
1612 [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"];
1615 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1617 /* Chapter Markers*/
1618 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1621 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1623 /* x264 Option String */
1624 [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"];
1627 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1628 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1629 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
1630 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1632 /* Video framerate */
1633 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1636 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1638 /* 2 Pass Encoding */
1639 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1640 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1642 /*Picture Settings*/
1643 /* Use Max Picture settings for whatever the dvd is.*/
1644 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1645 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1646 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1647 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1648 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1649 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1651 /* Explicitly set the filters for built-in presets */
1652 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1653 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1654 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1655 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1656 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1657 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1659 /* Set crop settings here */
1660 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1661 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1662 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1663 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1664 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1666 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1667 * not listed will be set to "None" and not encoded */
1670 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1671 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1672 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1673 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1674 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1675 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1678 [preset setObject:@"None" forKey:@"Subtitles"];
1680 [preset autorelease];
1684 - (NSDictionary *)createTelevisionPreset
1686 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1688 /* Get the New Preset Name from the field in the AddPresetPanel */
1689 [preset setObject:@"Television" forKey:@"PresetName"];
1691 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1692 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1694 /*Set whether or not this is default, at creation set to 0*/
1695 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1697 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1698 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1700 /* Get the New Preset Description from the field in the AddPresetPanel */
1701 [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
1704 [preset setObject:@"MKV file" forKey:@"FileFormat"];
1706 /* Chapter Markers*/
1707 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1710 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1712 /* x264 Option String */
1713 [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"];
1716 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1717 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1718 [preset setObject:@"1300" forKey:@"VideoAvgBitrate"];
1719 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1721 /* Video framerate */
1722 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1725 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1727 /* 2 Pass Encoding */
1728 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1729 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1731 /*Picture Settings*/
1732 /* Use Max Picture settings for whatever the dvd is.*/
1733 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1734 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1735 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1736 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1737 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1738 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1740 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1741 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1742 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"];
1743 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1744 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1745 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1746 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"];
1748 /* Set crop settings here */
1749 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1750 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1751 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1752 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1753 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1755 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1756 * not listed will be set to "None" and not encoded */
1759 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1760 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1761 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1762 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1763 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1764 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1767 [preset setObject:@"None" forKey:@"Subtitles"];
1769 [preset autorelease];