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:1] forKey:@"PictureAutoCrop"];
570 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
571 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
572 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
573 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
575 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
576 * not listed will be set to "None" and not encoded */
579 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
580 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
581 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
582 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
583 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
584 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
587 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
588 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
589 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
590 [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
591 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
592 * the sources bitrate, however we need to initially set the value to something so
593 * the macgui doesnt barf, so 160 seems as good as anything */
594 [preset setObject:@"160" forKey:@"Audio2Bitrate"];
595 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
598 [preset setObject:@"None" forKey:@"Subtitles"];
600 [preset autorelease];
604 - (NSDictionary *)createAppleUniversalPreset
606 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
608 /* Get the New Preset Name from the field in the AddPresetPanel */
609 [preset setObject:@"Universal" forKey:@"PresetName"];
611 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
612 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
613 /*Set whether or not this is a folder, 1 is bool for folder*/
614 [preset setObject:[NSNumber numberWithBool: NO] forKey:@"Folder"];
615 /*Set whether or not this is default, at creation set to 0*/
616 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
618 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
619 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
621 /* Get the New Preset Description from the field in the AddPresetPanel */
622 [preset setObject:@"HandBrake's universally compatible, full resolution settings for all current Apple devices: iPod, iPhone, AppleTV, and Macs" forKey:@"PresetDescription"];
625 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
627 /* 64-bit MP4 file */
628 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
631 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
634 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
636 /* x264 Option String (We can use this to tweak the appleTV output)*/
637 [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
640 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
641 [preset setObject:@"700" forKey:@"VideoTargetSize"];
642 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
643 [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
645 /* Video framerate */
646 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
649 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
651 /* 2 Pass Encoding */
652 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
654 /* Basic Picture Settings */
655 /* Use Max Picture settings for whatever the dvd is.*/
656 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
657 [preset setObject:[NSNumber numberWithInt:720] forKey:@"PictureWidth"];
658 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
659 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
660 [preset setObject:[NSNumber numberWithInt:2] forKey:@"PicturePAR"];
662 /* Explicitly set the filters for built-in presets */
663 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
664 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
665 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
666 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
667 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
668 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
670 /* Set crop settings here */
671 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
672 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
673 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
674 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
675 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
676 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
678 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
679 * not listed will be set to "None" and not encoded */
682 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
683 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
684 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
685 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
686 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
687 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
690 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
691 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
692 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
693 [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
694 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
695 * the sources bitrate, however we need to initially set the value to something so
696 * the macgui doesnt barf, so 160 seems as good as anything */
697 [preset setObject:@"160" forKey:@"Audio2Bitrate"];
698 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
701 [preset setObject:@"None" forKey:@"Subtitles"];
703 [preset autorelease];
707 - (NSDictionary *)createClassicPreset
709 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
711 /* Get the New Preset Name from the field in the AddPresetPanel */
712 [preset setObject:@"Classic" forKey:@"PresetName"];
714 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
715 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
717 /*Set whether or not this is default, at creation set to 0*/
718 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
720 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
721 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
723 /* Get the New Preset Description from the field in the AddPresetPanel */
724 [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
727 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
730 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
733 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
735 /* x264 Option String */
736 [preset setObject:@"" forKey:@"x264Option"];
739 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
740 [preset setObject:@"700" forKey:@"VideoTargetSize"];
741 [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
742 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
744 /* Video framerate */
745 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
748 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
750 /* 2 Pass Encoding */
751 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
754 /* Use Max Picture settings for whatever the dvd is.*/
755 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
756 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
757 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
758 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
759 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
760 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
762 /* Explicitly set the filters for built-in presets */
763 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
764 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
765 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
766 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
767 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
768 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
770 /* Set crop settings here */
771 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
772 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
773 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
774 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
775 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
777 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
778 * not listed will be set to "None" and not encoded */
781 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
782 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
783 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
784 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
785 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
786 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
789 [preset setObject:@"None" forKey:@"Subtitles"];
791 [preset autorelease];
795 - (NSDictionary *)createCRFPreset
797 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
799 /* Get the New Preset Name from the field in the AddPresetPanel */
800 [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
802 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
803 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
805 /*Set whether or not this is default, at creation set to 0*/
806 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
808 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
809 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
811 /* Get the New Preset Description from the field in the AddPresetPanel */
812 [preset setObject:@"HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates." forKey:@"PresetDescription"];
815 [preset setObject:@"MKV file" forKey:@"FileFormat"];
818 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
821 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
823 /* x264 Option String */
824 [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"];
827 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
828 [preset setObject:@"700" forKey:@"VideoTargetSize"];
829 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
830 [preset setObject:[NSNumber numberWithFloat:0.60] forKey:@"VideoQualitySlider"];
832 /* Video framerate */
833 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
836 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
838 /* 2 Pass Encoding */
839 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
840 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
843 /* Use Max Picture settings for whatever the dvd is.*/
844 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
845 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
846 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
847 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
848 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
849 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
851 /* Explicitly set the filters for built-in presets */
852 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
853 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
854 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
855 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
856 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
857 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
859 /* Set crop settings here */
860 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
861 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
862 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
863 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
864 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
866 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
867 * not listed will be set to "None" and not encoded */
870 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
871 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
872 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
873 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
874 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
875 * the sources bitrate, however we need to initially set the value to something so
876 * the macgui doesnt barf, so 160 seems as good as anything */
877 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
878 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
881 [preset setObject:@"None" forKey:@"Subtitles"];
883 [preset autorelease];
887 - (NSDictionary *)createFilmPreset
889 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
891 /* Get the New Preset Name from the field in the AddPresetPanel */
892 [preset setObject:@"Film" forKey:@"PresetName"];
894 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
895 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
897 /*Set whether or not this is default, at creation set to 0*/
898 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
900 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
901 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
903 /* Get the New Preset Description from the field in the AddPresetPanel */
904 [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
907 [preset setObject:@"MKV file" forKey:@"FileFormat"];
910 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
913 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
915 /* x264 Option String */
916 [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"];
919 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
920 [preset setObject:@"700" forKey:@"VideoTargetSize"];
921 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
922 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
924 /* Video framerate */
925 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
928 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
930 /* 2 Pass Encoding */
931 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
932 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
935 /* Use Max Picture settings for whatever the dvd is.*/
936 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
937 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
938 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
939 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
940 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
941 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
943 /* Explicitly set the filters for built-in presets */
944 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
945 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
946 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
947 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
948 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
949 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
951 /* Set crop settings here */
952 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
953 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
954 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
955 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
956 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
958 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
959 * not listed will be set to "None" and not encoded */
962 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
963 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
964 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
965 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
966 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
967 * the sources bitrate, however we need to initially set the value to something so
968 * the macgui doesnt barf, so 160 seems as good as anything */
969 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
970 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
973 [preset setObject:@"None" forKey:@"Subtitles"];
975 [preset autorelease];
979 - (NSDictionary *)createiPhonePreset
981 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
983 /* Get the New Preset Name from the field in the AddPresetPanel */
984 [preset setObject:@"iPhone & iPod Touch" forKey:@"PresetName"];
986 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
987 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
989 /*Set whether or not this is default, at creation set to 0*/
990 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
992 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
993 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
995 /* Get the New Preset Description from the field in the AddPresetPanel */
996 [preset setObject:@"HandBrake's settings for the iPhone and iPod Touch." forKey:@"PresetDescription"];
999 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1001 /* Chapter Markers*/
1002 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1005 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1006 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
1007 /* x264 Option String */
1008 [preset setObject:@"level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
1011 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
1012 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1013 [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
1014 [preset setObject:[NSNumber numberWithFloat:0.59] forKey:@"VideoQualitySlider"];
1016 /* Video framerate */
1017 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1020 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1022 /* 2 Pass Encoding */
1023 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1025 /*Picture Settings*/
1026 /* Use a width of 480 for the iPhone*/
1027 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1028 [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
1029 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1030 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1031 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1033 /* Explicitly set the filters for built-in presets */
1034 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1035 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1036 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1037 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1038 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1039 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1041 /* Set crop settings here */
1042 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1043 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1044 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1045 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1046 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1047 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1049 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1050 * not listed will be set to "None" and not encoded */
1053 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1054 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1055 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1056 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1057 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1058 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1061 [preset setObject:@"None" forKey:@"Subtitles"];
1063 [preset autorelease];
1067 - (NSDictionary *)createiPhoneLegacyPreset
1069 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1071 /* Get the New Preset Name from the field in the AddPresetPanel */
1072 [preset setObject:@"iPhone Legacy" forKey:@"PresetName"];
1074 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1075 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1077 /*Set whether or not this is default, at creation set to 0*/
1078 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1080 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1081 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1083 /* Get the New Preset Description from the field in the AddPresetPanel */
1084 [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"];
1087 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1089 /* Chapter Markers*/
1090 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1093 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1094 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1095 /* x264 Option String */
1096 [preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
1099 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1100 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1101 [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
1102 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1104 /* Video framerate */
1105 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1108 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1110 /* 2 Pass Encoding */
1111 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1113 /*Picture Settings*/
1114 /* Use a width of 480 for the iPhone*/
1115 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1116 [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
1117 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1118 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1119 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1121 /* Explicitly set the filters for built-in presets */
1122 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1123 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1124 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1125 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1126 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1127 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1129 /* Set crop settings here */
1130 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1131 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1132 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1133 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1134 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1135 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1137 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1138 * not listed will be set to "None" and not encoded */
1141 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1142 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1143 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1144 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1145 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1146 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1149 [preset setObject:@"None" forKey:@"Subtitles"];
1151 [preset autorelease];
1155 - (NSDictionary *)createIpodHighPreset
1157 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1159 /* Get the New Preset Name from the field in the AddPresetPanel */
1160 [preset setObject:@"iPod Legacy" forKey:@"PresetName"];
1162 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1163 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1165 /*Set whether or not this is default, at creation set to 0*/
1166 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1168 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1169 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1171 /* Get the New Preset Description from the field in the AddPresetPanel */
1172 [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"];
1175 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1177 /* Chapter Markers*/
1178 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1181 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1182 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1183 /* x264 Option String */
1184 [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"];
1187 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1188 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1189 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1190 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1192 /* Video framerate */
1193 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1196 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1198 /* 2 Pass Encoding */
1199 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1201 /*Picture Settings*/
1202 /* Use a width of 640 for iPod TV-out */
1203 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1204 [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
1205 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1206 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1207 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1209 /* Explicitly set the filters for built-in presets */
1210 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1211 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1212 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1213 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1214 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1215 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1217 /* Set crop settings here */
1218 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1219 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1220 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1221 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1222 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1223 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1225 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1226 * not listed will be set to "None" and not encoded */
1229 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1230 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1231 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1232 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1233 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1234 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1237 [preset setObject:@"None" forKey:@"Subtitles"];
1239 [preset autorelease];
1243 - (NSDictionary *)createIpodLowPreset
1245 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1247 /* Get the New Preset Name from the field in the AddPresetPanel */
1248 [preset setObject:@"iPod" forKey:@"PresetName"];
1250 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1251 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1253 /*Set whether or not this is default, at creation set to 0*/
1254 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1256 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1257 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1259 /* Get the New Preset Description from the field in the AddPresetPanel */
1260 [preset setObject:@"HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
1263 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1265 /* Chapter Markers*/
1266 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1269 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1270 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1271 /* x264 Option String */
1272 [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"];
1275 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1276 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1277 [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
1278 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1280 /* Video framerate */
1281 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1284 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1286 /* 2 Pass Encoding */
1287 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1289 /*Picture Settings*/
1290 /* Use a width of 320 for the iPod screen */
1291 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1292 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1293 [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
1294 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1295 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1296 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1298 /* Explicitly set the filters for built-in presets */
1299 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1300 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1301 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1302 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1303 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1304 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1306 /* Set crop settings here */
1307 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1308 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1309 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1310 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1311 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1313 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1314 * not listed will be set to "None" and not encoded */
1317 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1318 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1319 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1320 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1321 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1322 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1325 [preset setObject:@"None" forKey:@"Subtitles"];
1327 [preset autorelease];
1331 - (NSDictionary *)createNormalPreset
1333 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1335 /* Get the New Preset Name from the field in the AddPresetPanel */
1336 [preset setObject:@"Normal" forKey:@"PresetName"];
1338 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1339 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1341 /*Set whether or not this is default, at creation set to 0*/
1342 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
1344 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1345 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1347 /* Get the New Preset Description from the field in the AddPresetPanel */
1348 [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
1351 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1353 /* Chapter Markers*/
1354 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1357 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1359 /* x264 Option String */
1360 [preset setObject:@"ref=2:bframes=2:me=umh" forKey:@"x264Option"];
1363 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1364 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1365 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1366 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1368 /* Video framerate */
1369 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1372 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1374 /* 2 Pass Encoding */
1375 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1376 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1378 /*Picture Settings*/
1379 /* Use Max Picture settings for whatever the dvd is.*/
1380 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1381 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1382 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1383 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1384 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1385 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1387 /* Explicitly set the filters for built-in presets */
1388 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1389 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1390 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1391 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1392 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1393 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1395 /* Set crop settings here */
1396 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1397 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1398 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1399 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1400 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1402 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1403 * not listed will be set to "None" and not encoded */
1406 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1407 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1408 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1409 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1410 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1411 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1414 [preset setObject:@"None" forKey:@"Subtitles"];
1416 [preset autorelease];
1420 - (NSDictionary *)createPSPPreset
1422 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1424 /* Get the New Preset Name from the field in the AddPresetPanel */
1425 [preset setObject:@"PSP" forKey:@"PresetName"];
1427 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1428 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1430 /*Set whether or not this is default, at creation set to 0*/
1431 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1433 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1434 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1436 /* Get the New Preset Description from the field in the AddPresetPanel */
1437 [preset setObject:@"HandBrake's settings for the Sony PlayStation Portable." forKey:@"PresetDescription"];
1440 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1442 /* Chapter Markers*/
1443 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1446 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
1448 /* x264 Option String (We can use this to tweak the appleTV output)*/
1449 [preset setObject:@"" forKey:@"x264Option"];
1452 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1453 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1454 [preset setObject:@"1024" forKey:@"VideoAvgBitrate"];
1455 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1457 /* Video framerate */
1458 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1461 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1463 /* 2 Pass Encoding */
1464 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1466 /*Picture Settings*/
1467 /* Use dimensions of 368*208 for robust PSP compatibility */
1468 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1469 [preset setObject:@"368" forKey:@"PictureWidth"];
1470 [preset setObject:@"208" forKey:@"PictureHeight"];
1471 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1472 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1474 /* Explicitly set the filters for built-in presets */
1475 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1476 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1477 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1478 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1479 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1480 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1482 /* Set crop settings here */
1483 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1484 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1485 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1486 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1487 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1488 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1490 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1491 * not listed will be set to "None" and not encoded */
1494 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1495 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1496 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1497 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1498 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1499 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1502 [preset setObject:@"None" forKey:@"Subtitles"];
1504 [preset autorelease];
1508 - (NSDictionary *)createPSThreePreset
1510 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1512 /* Get the New Preset Name from the field in the AddPresetPanel */
1513 [preset setObject:@"PS3" forKey:@"PresetName"];
1515 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1516 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1518 /*Set whether or not this is default, at creation set to 0*/
1519 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1521 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1522 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1524 /* Get the New Preset Description from the field in the AddPresetPanel */
1525 [preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
1528 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1530 /* Chapter Markers*/
1531 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
1534 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1536 /* x264 Option String (We can use this to tweak the appleTV output)*/
1537 [preset setObject:@"level=41:me=umh" forKey:@"x264Option"];
1540 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1541 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1542 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
1543 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1545 /* Video framerate */
1546 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1549 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1551 /* 2 Pass Encoding */
1552 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1554 /*Picture Settings*/
1555 /* Use Max Picture settings for whatever the dvd is.*/
1556 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1557 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1558 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1559 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1560 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1562 /* Explicitly set the filters for built-in presets */
1563 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1564 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1565 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1566 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1567 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1568 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1570 /* Set crop settings here */
1571 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1572 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureAutoCrop"];
1573 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1574 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1575 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1576 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1578 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1579 * not listed will be set to "None" and not encoded */
1582 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1583 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1584 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1585 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1586 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1587 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1590 [preset setObject:@"None" forKey:@"Subtitles"];
1592 [preset autorelease];
1596 - (NSDictionary *)createQuickTimePreset
1598 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1600 /* Get the New Preset Name from the field in the AddPresetPanel */
1601 [preset setObject:@"QuickTime" forKey:@"PresetName"];
1603 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1604 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1606 /*Set whether or not this is default, at creation set to 0*/
1607 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1609 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1610 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1612 /* Get the New Preset Description from the field in the AddPresetPanel */
1613 [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"];
1616 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1618 /* Chapter Markers*/
1619 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1622 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1624 /* x264 Option String */
1625 [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"];
1628 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1629 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1630 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
1631 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1633 /* Video framerate */
1634 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1637 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1639 /* 2 Pass Encoding */
1640 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1641 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1643 /*Picture Settings*/
1644 /* Use Max Picture settings for whatever the dvd is.*/
1645 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1646 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1647 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1648 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1649 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1650 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1652 /* Explicitly set the filters for built-in presets */
1653 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1654 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1655 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1656 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1657 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1658 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1660 /* Set crop settings here */
1661 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1662 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1663 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1664 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1665 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1667 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1668 * not listed will be set to "None" and not encoded */
1671 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1672 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1673 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1674 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1675 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1676 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1679 [preset setObject:@"None" forKey:@"Subtitles"];
1681 [preset autorelease];
1685 - (NSDictionary *)createTelevisionPreset
1687 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1689 /* Get the New Preset Name from the field in the AddPresetPanel */
1690 [preset setObject:@"Television" forKey:@"PresetName"];
1692 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1693 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1695 /*Set whether or not this is default, at creation set to 0*/
1696 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1698 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1699 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1701 /* Get the New Preset Description from the field in the AddPresetPanel */
1702 [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
1705 [preset setObject:@"MKV file" forKey:@"FileFormat"];
1707 /* Chapter Markers*/
1708 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1711 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1713 /* x264 Option String */
1714 [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"];
1717 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1718 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1719 [preset setObject:@"1300" forKey:@"VideoAvgBitrate"];
1720 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1722 /* Video framerate */
1723 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1726 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1728 /* 2 Pass Encoding */
1729 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1730 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1732 /*Picture Settings*/
1733 /* Use Max Picture settings for whatever the dvd is.*/
1734 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1735 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1736 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1737 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1738 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1739 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1741 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1742 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1743 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDecomb"];
1744 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1745 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1746 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1747 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDetelecine"];
1749 /* Set crop settings here */
1750 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1751 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1752 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1753 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1754 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1756 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1757 * not listed will be set to "None" and not encoded */
1760 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1761 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1762 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1763 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1764 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1765 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1768 [preset setObject:@"None" forKey:@"Subtitles"];
1770 [preset autorelease];