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 */
21 [UserPresets addObject:[self createAnimationPreset]];
22 [UserPresets addObject:[self createAppleTVPreset]];
23 [UserPresets addObject:[self createBedlamPreset]];
24 [UserPresets addObject:[self createBlindPreset]];
25 [UserPresets addObject:[self createBrokePreset]];
26 [UserPresets addObject:[self createClassicPreset]];
27 [UserPresets addObject:[self createCRFPreset]];
28 [UserPresets addObject:[self createDeuxSixQuatrePreset]];
29 [UserPresets addObject:[self createFilmPreset]];
30 [UserPresets addObject:[self createiPhonePreset]];
31 [UserPresets addObject:[self createIpodHighPreset]];
32 [UserPresets addObject:[self createIpodLowPreset]];
33 [UserPresets addObject:[self createNormalPreset]];
34 [UserPresets addObject:[self createPSPPreset]];
35 [UserPresets addObject:[self createPSThreePreset]];
36 [UserPresets addObject:[self createQuickTimePreset]];
37 [UserPresets addObject:[self createTelevisionPreset]];
38 [UserPresets addObject:[self create360Preset]];
39 /* return the newly regenerated preset array back to Controller.mm */
45 #pragma mark Built In Preset Definitions
47 /* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */
48 /* Note: For now, you can no longer have reference to any main window fields in your key values */
50 - (NSDictionary *)create360Preset
52 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
54 /* Get the New Preset Name from the field in the AddPresetPanel */
55 [preset setObject:@"Xbox 360" forKey:@"PresetName"];
57 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
58 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
60 /*Set whether or not this is default, at creation set to 0*/
61 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
63 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
64 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
66 /* Get the New Preset Description from the field in the AddPresetPanel */
67 [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"];
70 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
73 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
76 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
78 /* x264 Option String */
79 [preset setObject:@"level=40:ref=2:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:no-fast-pskip:filter=-2,-1" forKey:@"x264Option"];
82 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
83 [preset setObject:@"700" forKey:@"VideoTargetSize"];
84 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
85 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
88 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
91 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
94 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
97 /* Use Max Picture settings for whatever the dvd is.*/
98 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
99 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
100 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
101 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
102 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
104 /* Explicitly set the filters for built-in presets */
105 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
106 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
107 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
108 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
109 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
110 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
112 /* Set crop settings here */
113 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
114 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
115 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
116 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
117 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
119 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
120 * not listed will be set to "None" and not encoded */
123 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
124 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
125 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
126 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
127 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
128 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
131 [preset setObject:@"None" forKey:@"Subtitles"];
133 [preset autorelease];
137 - (NSDictionary *)createAnimationPreset
139 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
141 /* Get the New Preset Name from the field in the AddPresetPanel */
142 [preset setObject:@"Animation" forKey:@"PresetName"];
144 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
145 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
147 /*Set whether or not this is default, at creation set to 0*/
148 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
150 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
151 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
153 /* Get the New Preset Description from the field in the AddPresetPanel */
154 [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"];
157 [preset setObject:@"MKV file" forKey:@"FileFormat"];
160 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
163 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
165 /* x264 Option String */
166 [preset setObject:@"ref=5:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=5:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip:filter=2,2" forKey:@"x264Option"];
169 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
170 [preset setObject:@"700" forKey:@"VideoTargetSize"];
171 [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
172 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
174 /* Video framerate */
175 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
178 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
180 /* 2 Pass Encoding */
181 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
182 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
185 /* Basic Picture Settings */
186 /* Use Max Picture settings for whatever the dvd is.*/
187 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
188 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
189 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
190 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
191 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
192 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
194 /* Filters. For animation, use slower deinterlacing. */
195 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
196 [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"];
197 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
198 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
199 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
200 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
202 /* Set crop settings here */
203 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
204 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
205 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
206 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
207 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
209 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
210 * not listed will be set to "None" and not encoded */
213 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
214 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
215 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
216 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
217 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
218 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
221 [preset setObject:@"None" forKey:@"Subtitles"];
223 [preset autorelease];
227 - (NSDictionary *)createAppleTVPreset
229 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
231 /* Get the New Preset Name from the field in the AddPresetPanel */
232 [preset setObject:@"AppleTV" forKey:@"PresetName"];
234 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
235 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
237 /*Set whether or not this is default, at creation set to 0*/
238 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
240 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
241 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
243 /* Get the New Preset Description from the field in the AddPresetPanel */
244 [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"];
247 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
249 /* 64-bit MP4 file */
250 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
253 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
256 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
258 /* x264 Option String (We can use this to tweak the appleTV output)*/
259 [preset setObject:@"bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0" forKey:@"x264Option"];
262 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
263 [preset setObject:@"700" forKey:@"VideoTargetSize"];
264 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
265 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
267 /* Video framerate */
268 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
271 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
273 /* 2 Pass Encoding */
274 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
276 /* Basic Picture Settings */
277 /* Use Max Picture settings for whatever the dvd is.*/
278 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
279 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
280 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
281 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
282 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
284 /* Explicitly set the filters for built-in presets */
285 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
286 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
287 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
288 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
289 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
290 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
292 /* Set crop settings here */
293 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
294 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
295 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
296 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
297 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
299 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
300 * not listed will be set to "None" and not encoded */
303 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
304 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
305 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
306 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
307 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
308 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
311 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
312 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
313 [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
314 [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
315 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
316 * the sources bitrate, however we need to initially set the value to something so
317 * the macgui doesnt barf, so 160 seems as good as anything */
318 [preset setObject:@"160" forKey:@"Audio2Bitrate"];
319 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
322 [preset setObject:@"None" forKey:@"Subtitles"];
324 [preset autorelease];
328 - (NSDictionary *)createBedlamPreset
330 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
332 /* Get the New Preset Name from the field in the AddPresetPanel */
333 [preset setObject:@"Bedlam" forKey:@"PresetName"];
335 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
336 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
338 /*Set whether or not this is default, at creation set to 0*/
339 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
341 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
342 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
344 /* Get the New Preset Description from the field in the AddPresetPanel */
345 [preset setObject:@"HandBrake's settings maxed out for slowest encoding and highest quality. Use at your own risk. So slow it's not just insane...it's a trip to the looney bin." forKey:@"PresetDescription"];
348 [preset setObject:@"MKV file" forKey:@"FileFormat"];
351 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
354 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
356 /* x264 Option String */
357 [preset setObject:@"ref=16:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=esa:subme=7:me-range=64:analyse=all:8x8dct:trellis=1:no-fast-pskip:no-dct-decimate:filter=-2,-1" forKey:@"x264Option"];
360 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
361 [preset setObject:@"700" forKey:@"VideoTargetSize"];
362 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
363 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
365 /* Video framerate */
366 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
369 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
371 /* 2 Pass Encoding */
372 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
373 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
376 /* Use Max Picture settings for whatever the dvd is.*/
377 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
378 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
379 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
380 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
381 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
382 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
384 /* Explicitly set the filters for built-in presets */
385 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
386 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
387 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
388 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
389 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
390 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
392 /* Set crop settings here */
393 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
394 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
395 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
396 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
397 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
399 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
400 * not listed will be set to "None" and not encoded */
403 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
404 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
405 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
406 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
407 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
408 * the sources bitrate, however we need to initially set the value to something so
409 * the macgui doesnt barf, so 160 seems as good as anything */
410 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
411 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
414 [preset setObject:@"None" forKey:@"Subtitles"];
416 [preset autorelease];
420 - (NSDictionary *)createBlindPreset
422 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
424 /* Get the New Preset Name from the field in the AddPresetPanel */
425 [preset setObject:@"Blind" forKey:@"PresetName"];
427 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
428 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
430 /*Set whether or not this is default, at creation set to 0*/
431 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
433 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
434 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
436 /* Get the New Preset Description from the field in the AddPresetPanel */
437 [preset setObject:@"HandBrake's preset for impatient people who don't care about picture quality." forKey:@"PresetDescription"];
440 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
443 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
446 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
448 /* x264 Option String */
449 [preset setObject:@"" forKey:@"x264Option"];
452 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
453 [preset setObject:@"700" forKey:@"VideoTargetSize"];
454 [preset setObject:@"512" forKey:@"VideoAvgBitrate"];
455 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
457 /* Video framerate */
458 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
461 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
463 /* 2 Pass Encoding */
464 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
465 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
468 /* Use a width of 512 to save on space for Blind */
469 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
470 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
471 [preset setObject:[NSNumber numberWithInt:512] forKey:@"PictureWidth"];
472 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
473 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
474 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
476 /* Explicitly set the filters for built-in presets */
477 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
478 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
479 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
480 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
481 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
482 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
484 /* Set crop settings here */
485 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
486 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
487 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
488 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
489 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
491 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
492 * not listed will be set to "None" and not encoded */
495 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
496 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
497 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
498 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
499 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
500 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
503 [preset setObject:@"None" forKey:@"Subtitles"];
505 [preset autorelease];
509 - (NSDictionary *)createBrokePreset
511 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
513 /* Get the New Preset Name from the field in the AddPresetPanel */
514 [preset setObject:@"Broke" forKey:@"PresetName"];
516 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
517 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
519 /*Set whether or not this is default, at creation set to 0*/
520 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
522 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
523 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
525 /* Get the New Preset Description from the field in the AddPresetPanel */
526 [preset setObject:@"HandBrake's preset for people without a lot of money to waste on hard drives. Tries to maximize quality for burning to CDs, so you can party like it's 1999." forKey:@"PresetDescription"];
529 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
532 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
535 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
537 /* x264 Option String */
538 [preset setObject:@"ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:b-pyramid:direct=auto:me=umh:subme=6:trellis=1:analyse=all:8x8dct:no-fast-pskip" forKey:@"x264Option"];
541 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoQualityType"];
542 [preset setObject:@"695" forKey:@"VideoTargetSize"];
543 [preset setObject:@"1600" forKey:@"VideoAvgBitrate"];
544 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
546 /* Video framerate */
547 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
550 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
552 /* 2 Pass Encoding */
553 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
554 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
557 /* Use a width of 640 for Broke */
558 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
559 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
560 [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
561 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
562 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
563 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
565 /* Explicitly set the filters for built-in presets */
566 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
567 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
568 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
569 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
570 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
571 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
573 /* Set crop settings here */
574 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
575 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
576 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
577 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
578 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
580 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
581 * not listed will be set to "None" and not encoded */
584 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
585 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
586 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
587 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
588 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
589 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
592 [preset setObject:@"None" forKey:@"Subtitles"];
594 [preset autorelease];
598 - (NSDictionary *)createClassicPreset
600 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
602 /* Get the New Preset Name from the field in the AddPresetPanel */
603 [preset setObject:@"Classic" forKey:@"PresetName"];
605 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
606 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
608 /*Set whether or not this is default, at creation set to 0*/
609 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
611 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
612 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
614 /* Get the New Preset Description from the field in the AddPresetPanel */
615 [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
618 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
621 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
624 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
626 /* x264 Option String */
627 [preset setObject:@"" forKey:@"x264Option"];
630 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
631 [preset setObject:@"700" forKey:@"VideoTargetSize"];
632 [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
633 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
635 /* Video framerate */
636 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
639 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
641 /* 2 Pass Encoding */
642 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
645 /* Use Max Picture settings for whatever the dvd is.*/
646 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
647 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
648 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
649 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
650 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
651 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
653 /* Explicitly set the filters for built-in presets */
654 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
655 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
656 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
657 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
658 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
659 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
661 /* Set crop settings here */
662 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
663 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
664 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
665 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
666 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
668 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
669 * not listed will be set to "None" and not encoded */
672 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
673 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
674 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
675 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
676 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
677 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
680 [preset setObject:@"None" forKey:@"Subtitles"];
682 [preset autorelease];
686 - (NSDictionary *)createCRFPreset
688 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
690 /* Get the New Preset Name from the field in the AddPresetPanel */
691 [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
693 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
694 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
696 /*Set whether or not this is default, at creation set to 0*/
697 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
699 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
700 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
702 /* Get the New Preset Description from the field in the AddPresetPanel */
703 [preset setObject:@"HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates." forKey:@"PresetDescription"];
706 [preset setObject:@"MKV file" forKey:@"FileFormat"];
709 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
712 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
714 /* x264 Option String */
715 [preset setObject:@"ref=3:mixed-refs:bframes=3:b-pyramid:b-rdo:bime:weightb:filter=-2,-1:subme=6:trellis=1:analyse=all:8x8dct:me=umh" forKey:@"x264Option"];
718 [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
719 [preset setObject:@"700" forKey:@"VideoTargetSize"];
720 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
721 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
723 /* Video framerate */
724 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
727 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
729 /* 2 Pass Encoding */
730 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
731 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
734 /* Use Max Picture settings for whatever the dvd is.*/
735 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
736 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
737 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
738 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
739 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
740 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
742 /* Explicitly set the filters for built-in presets */
743 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
744 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
745 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
746 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
747 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
748 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
750 /* Set crop settings here */
751 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
752 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
753 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
754 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
755 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
757 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
758 * not listed will be set to "None" and not encoded */
761 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
762 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
763 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
764 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
765 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
766 * the sources bitrate, however we need to initially set the value to something so
767 * the macgui doesnt barf, so 160 seems as good as anything */
768 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
769 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
772 [preset setObject:@"None" forKey:@"Subtitles"];
774 [preset autorelease];
778 - (NSDictionary *)createDeuxSixQuatrePreset
780 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
782 /* Get the New Preset Name from the field in the AddPresetPanel */
783 [preset setObject:@"Deux Six Quatre" forKey:@"PresetName"];
785 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
786 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
788 /*Set whether or not this is default, at creation set to 0*/
789 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
791 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
792 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
794 /* Get the New Preset Description from the field in the AddPresetPanel */
795 [preset setObject:@"HandBrake's preset for true high profile x264 quality. A good balance of quality and speed, based on community standards found in the wild. This preset will give you a much better sense of x264's capabilities than vanilla main profile." forKey:@"PresetDescription"];
798 [preset setObject:@"MKV file" forKey:@"FileFormat"];
801 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
804 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
806 /* x264 Option String */
807 [preset setObject:@"ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip" forKey:@"x264Option"];
810 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
811 [preset setObject:@"700" forKey:@"VideoTargetSize"];
812 [preset setObject:@"1600" forKey:@"VideoAvgBitrate"];
813 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
815 /* Video framerate */
816 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
819 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
821 /* 2 Pass Encoding */
822 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
823 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
826 /* Use Max Picture settings for whatever the dvd is.*/
827 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
828 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
829 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
830 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
831 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
832 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
834 /* Explicitly set the filters for built-in presets */
835 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
836 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
837 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
838 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
839 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
840 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
842 /* Set crop settings here */
843 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
844 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
845 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
846 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
847 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
849 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
850 * not listed will be set to "None" and not encoded */
853 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
854 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
855 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
856 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
857 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
858 * the sources bitrate, however we need to initially set the value to something so
859 * the macgui doesnt barf, so 160 seems as good as anything */
860 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
861 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
864 [preset setObject:@"None" forKey:@"Subtitles"];
866 [preset autorelease];
870 - (NSDictionary *)createFilmPreset
872 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
874 /* Get the New Preset Name from the field in the AddPresetPanel */
875 [preset setObject:@"Film" forKey:@"PresetName"];
877 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
878 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
880 /*Set whether or not this is default, at creation set to 0*/
881 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
883 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
884 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
886 /* Get the New Preset Description from the field in the AddPresetPanel */
887 [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
890 [preset setObject:@"MKV file" forKey:@"FileFormat"];
893 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
896 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
898 /* x264 Option String */
899 [preset setObject:@"ref=3:mixed-refs:bframes=6:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip" forKey:@"x264Option"];
902 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
903 [preset setObject:@"700" forKey:@"VideoTargetSize"];
904 [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
905 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
907 /* Video framerate */
908 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
911 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
913 /* 2 Pass Encoding */
914 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
915 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
918 /* Use Max Picture settings for whatever the dvd is.*/
919 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
920 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
921 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
922 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
923 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
924 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
926 /* Explicitly set the filters for built-in presets */
927 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
928 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
929 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
930 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
931 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
932 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
934 /* Set crop settings here */
935 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
936 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
937 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
938 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
939 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
941 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
942 * not listed will be set to "None" and not encoded */
945 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
946 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Encoder"];
947 [preset setObject:@"AC3 Passthru" forKey:@"Audio1Mixdown"];
948 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
949 /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
950 * the sources bitrate, however we need to initially set the value to something so
951 * the macgui doesnt barf, so 160 seems as good as anything */
952 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
953 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
956 [preset setObject:@"None" forKey:@"Subtitles"];
958 [preset autorelease];
962 - (NSDictionary *)createiPhonePreset
964 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
966 /* Get the New Preset Name from the field in the AddPresetPanel */
967 [preset setObject:@"iPhone / iPod Touch" forKey:@"PresetName"];
969 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
970 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
972 /*Set whether or not this is default, at creation set to 0*/
973 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
975 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
976 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
978 /* Get the New Preset Description from the field in the AddPresetPanel */
979 [preset setObject:@"HandBrake's settings for the iPhone and iPod Touch." forKey:@"PresetDescription"];
982 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
985 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
988 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
989 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
990 /* x264 Option String */
991 [preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
994 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
995 [preset setObject:@"700" forKey:@"VideoTargetSize"];
996 [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
997 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
999 /* Video framerate */
1000 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1003 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1005 /* 2 Pass Encoding */
1006 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1008 /*Picture Settings*/
1009 /* Use a width of 480 for the iPhone*/
1010 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1011 [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
1012 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1013 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1014 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1016 /* Explicitly set the filters for built-in presets */
1017 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1018 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1019 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1020 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1021 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1022 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1024 /* Set crop settings here */
1025 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1026 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1027 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1028 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1029 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1030 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1032 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1033 * not listed will be set to "None" and not encoded */
1036 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1037 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1038 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1039 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1040 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1041 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1044 [preset setObject:@"None" forKey:@"Subtitles"];
1046 [preset autorelease];
1050 - (NSDictionary *)createIpodHighPreset
1052 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1054 /* Get the New Preset Name from the field in the AddPresetPanel */
1055 [preset setObject:@"iPod High-Rez" forKey:@"PresetName"];
1057 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1058 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1060 /*Set whether or not this is default, at creation set to 0*/
1061 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1063 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1064 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1066 /* Get the New Preset Description from the field in the AddPresetPanel */
1067 [preset setObject:@"HandBrake's high resolution settings for the iPod. Good video quality, great for viewing on a TV using your iPod" forKey:@"PresetDescription"];
1070 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1072 /* Chapter Markers*/
1073 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1076 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1077 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1078 /* x264 Option String */
1079 [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1" forKey:@"x264Option"];
1082 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1083 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1084 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1085 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1087 /* Video framerate */
1088 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1091 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1093 /* 2 Pass Encoding */
1094 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1096 /*Picture Settings*/
1097 /* Use a width of 640 for iPod TV-out */
1098 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1099 [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
1100 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1101 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1102 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1104 /* Explicitly set the filters for built-in presets */
1105 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1106 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1107 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1108 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1109 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1110 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1112 /* Set crop settings here */
1113 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1114 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1115 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1116 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1117 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1118 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1120 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1121 * not listed will be set to "None" and not encoded */
1124 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1125 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1126 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1127 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1128 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1129 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1132 [preset setObject:@"None" forKey:@"Subtitles"];
1134 [preset autorelease];
1138 - (NSDictionary *)createIpodLowPreset
1140 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1142 /* Get the New Preset Name from the field in the AddPresetPanel */
1143 [preset setObject:@"iPod Low-Rez" forKey:@"PresetName"];
1145 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1146 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1148 /*Set whether or not this is default, at creation set to 0*/
1149 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1151 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1152 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1154 /* Get the New Preset Description from the field in the AddPresetPanel */
1155 [preset setObject:@"HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
1158 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1160 /* Chapter Markers*/
1161 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1164 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1165 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1166 /* x264 Option String */
1167 [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1" forKey:@"x264Option"];
1170 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1171 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1172 [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
1173 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1175 /* Video framerate */
1176 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1179 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1181 /* 2 Pass Encoding */
1182 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1184 /*Picture Settings*/
1185 /* Use a width of 320 for the iPod screen */
1186 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1187 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1188 [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
1189 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1190 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1191 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1193 /* Explicitly set the filters for built-in presets */
1194 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1195 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1196 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1197 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1198 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1199 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1201 /* Set crop settings here */
1202 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1203 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1204 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1205 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1206 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1208 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1209 * not listed will be set to "None" and not encoded */
1212 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1213 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1214 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1215 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1216 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1217 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1220 [preset setObject:@"None" forKey:@"Subtitles"];
1222 [preset autorelease];
1226 - (NSDictionary *)createNormalPreset
1228 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1230 /* Get the New Preset Name from the field in the AddPresetPanel */
1231 [preset setObject:@"Normal" forKey:@"PresetName"];
1233 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1234 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1236 /*Set whether or not this is default, at creation set to 0*/
1237 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
1239 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1240 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1242 /* Get the New Preset Description from the field in the AddPresetPanel */
1243 [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
1246 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1248 /* Chapter Markers*/
1249 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1252 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1254 /* x264 Option String */
1255 [preset setObject:@"ref=2:bframes=2:subme=5:me=umh" forKey:@"x264Option"];
1258 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1259 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1260 [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1261 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1263 /* Video framerate */
1264 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1267 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1269 /* 2 Pass Encoding */
1270 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1271 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1273 /*Picture Settings*/
1274 /* Use Max Picture settings for whatever the dvd is.*/
1275 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1276 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1277 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1278 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1279 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1280 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1282 /* Explicitly set the filters for built-in presets */
1283 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1284 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1285 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1286 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1287 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1288 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1290 /* Set crop settings here */
1291 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1292 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1293 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1294 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1295 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1297 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1298 * not listed will be set to "None" and not encoded */
1301 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1302 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1303 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1304 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1305 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1306 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1309 [preset setObject:@"None" forKey:@"Subtitles"];
1311 [preset autorelease];
1315 - (NSDictionary *)createPSPPreset
1317 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1319 /* Get the New Preset Name from the field in the AddPresetPanel */
1320 [preset setObject:@"PSP" forKey:@"PresetName"];
1322 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1323 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1325 /*Set whether or not this is default, at creation set to 0*/
1326 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1328 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1329 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1331 /* Get the New Preset Description from the field in the AddPresetPanel */
1332 [preset setObject:@"HandBrake's settings for the Sony PlayStation Portable." forKey:@"PresetDescription"];
1335 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1337 /* Chapter Markers*/
1338 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1341 [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
1343 /* x264 Option String (We can use this to tweak the appleTV output)*/
1344 [preset setObject:@"" forKey:@"x264Option"];
1347 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1348 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1349 [preset setObject:@"1024" forKey:@"VideoAvgBitrate"];
1350 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1352 /* Video framerate */
1353 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1356 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1358 /* 2 Pass Encoding */
1359 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1361 /*Picture Settings*/
1362 /* Use dimensions of 368*208 for robust PSP compatibility */
1363 [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1364 [preset setObject:@"368" forKey:@"PictureWidth"];
1365 [preset setObject:@"208" forKey:@"PictureHeight"];
1366 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1367 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1369 /* Explicitly set the filters for built-in presets */
1370 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1371 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1372 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1373 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1374 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1375 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1377 /* Set crop settings here */
1378 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1379 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1380 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1381 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1382 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1383 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1385 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1386 * not listed will be set to "None" and not encoded */
1389 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1390 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1391 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1392 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1393 [preset setObject:@"128" forKey:@"Audio1Bitrate"];
1394 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1397 [preset setObject:@"None" forKey:@"Subtitles"];
1399 [preset autorelease];
1403 - (NSDictionary *)createPSThreePreset
1405 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1407 /* Get the New Preset Name from the field in the AddPresetPanel */
1408 [preset setObject:@"PS3" forKey:@"PresetName"];
1410 /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1411 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1413 /*Set whether or not this is default, at creation set to 0*/
1414 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1416 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1417 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1419 /* Get the New Preset Description from the field in the AddPresetPanel */
1420 [preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
1423 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1425 /* Chapter Markers*/
1426 [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
1429 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1431 /* x264 Option String (We can use this to tweak the appleTV output)*/
1432 [preset setObject:@"level=41:subme=5:me=umh" forKey:@"x264Option"];
1435 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1436 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1437 [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
1438 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1440 /* Video framerate */
1441 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1444 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1446 /* 2 Pass Encoding */
1447 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1449 /*Picture Settings*/
1450 /* Use Max Picture settings for whatever the dvd is.*/
1451 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1452 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1453 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1454 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1455 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1457 /* Explicitly set the filters for built-in presets */
1458 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1459 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1460 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1461 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1462 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1463 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1465 /* Set crop settings here */
1466 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1467 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1468 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1469 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1470 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1472 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1473 * not listed will be set to "None" and not encoded */
1476 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1477 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1478 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1479 [preset setObject:@"48" forKey:@"Audio1Samplerate"];
1480 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1481 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1484 [preset setObject:@"None" forKey:@"Subtitles"];
1486 [preset autorelease];
1490 - (NSDictionary *)createQuickTimePreset
1492 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1494 /* Get the New Preset Name from the field in the AddPresetPanel */
1495 [preset setObject:@"QuickTime" forKey:@"PresetName"];
1497 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1498 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1500 /*Set whether or not this is default, at creation set to 0*/
1501 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1503 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1504 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1506 /* Get the New Preset Description from the field in the AddPresetPanel */
1507 [preset setObject:@"HandBrake's high quality settings for use with QuickTime. It can be slow, so use it when the Normal preset doesn't look good enough." forKey:@"PresetDescription"];
1510 [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1512 /* Chapter Markers*/
1513 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1516 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1518 /* x264 Option String */
1519 [preset setObject:@"ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:me=umh:subme=5:analyse=all:trellis=1:no-fast-pskip" forKey:@"x264Option"];
1522 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1523 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1524 [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
1525 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1527 /* Video framerate */
1528 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1531 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1533 /* 2 Pass Encoding */
1534 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1535 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1537 /*Picture Settings*/
1538 /* Use Max Picture settings for whatever the dvd is.*/
1539 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1540 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1541 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1542 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1543 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1544 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1546 /* Explicitly set the filters for built-in presets */
1547 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1548 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1549 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1550 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1551 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1552 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1554 /* Set crop settings here */
1555 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1556 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1557 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1558 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1559 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1561 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1562 * not listed will be set to "None" and not encoded */
1565 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1566 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1567 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1568 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1569 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1570 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1573 [preset setObject:@"None" forKey:@"Subtitles"];
1575 [preset autorelease];
1579 - (NSDictionary *)createTelevisionPreset
1581 NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1583 /* Get the New Preset Name from the field in the AddPresetPanel */
1584 [preset setObject:@"Television" forKey:@"PresetName"];
1586 /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1587 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1589 /*Set whether or not this is default, at creation set to 0*/
1590 [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1592 /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1593 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1595 /* Get the New Preset Description from the field in the AddPresetPanel */
1596 [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
1599 [preset setObject:@"MKV file" forKey:@"FileFormat"];
1601 /* Chapter Markers*/
1602 [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1605 [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1607 /* x264 Option String */
1608 [preset setObject:@"ref=3:mixed-refs:bframes=6:bime:weightb:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:nr=150:no-fast-pskip" forKey:@"x264Option"];
1611 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1612 [preset setObject:@"700" forKey:@"VideoTargetSize"];
1613 [preset setObject:@"1300" forKey:@"VideoAvgBitrate"];
1614 [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1616 /* Video framerate */
1617 [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1620 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1622 /* 2 Pass Encoding */
1623 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1624 [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1626 /*Picture Settings*/
1627 /* Use Max Picture settings for whatever the dvd is.*/
1628 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1629 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1630 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1631 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1632 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1633 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1635 [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1636 [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"];
1637 [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDenoise"];
1638 [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1639 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1640 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1642 /* Set crop settings here */
1643 /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1644 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1645 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1646 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1647 [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1649 /* Audio - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
1650 * not listed will be set to "None" and not encoded */
1653 [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
1654 [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
1655 [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
1656 [preset setObject:@"Auto" forKey:@"Audio1Samplerate"];
1657 [preset setObject:@"160" forKey:@"Audio1Bitrate"];
1658 [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
1661 [preset setObject:@"None" forKey:@"Subtitles"];
1663 [preset autorelease];