OSDN Git Service

MacGui: Adds a popup menu item for Hadamard-transformed exhaustive motion estimation...
[handbrake-jp/handbrake-jp-git.git] / macosx / HBPresets.m
1 /*  HBPresets.m $
2
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. */
6
7 #import "HBPresets.h"
8
9 @implementation HBPresets
10 - (id)init 
11 {
12     self = [super init];
13    return self;
14 }
15
16 /* Called by -addFactoryPresets in Controller.mm */
17 - (NSMutableArray *) generateBuiltinPresets: (NSMutableArray *) UserPresets
18 {
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     
22     /* Note: the built in presets will *not* sort themselves alphabetically, so they will
23      * appear in the order you create them
24      */
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]];
30     
31     /* Independent presets at the root hierarchy level would go here */
32     
33     /* return the newly regenerated preset array back to Controller.mm */
34     return UserPresets;
35 }
36
37 #pragma mark -
38
39 #pragma mark Built In Preset Folder Definitions
40
41 - (NSDictionary *)createApplePresetFolder
42 {
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"];
46
47
48     /* Get the New Preset Name from the field in the AddPresetPanel */
49     [preset setObject:@"Apple" forKey:@"PresetName"];
50
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"];
53
54     /*Set whether or not this is default, at creation set to 0*/
55     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
56     
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]];
68
69     [preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
70     
71     [childrenArray autorelease];
72
73
74
75     [preset autorelease];
76     return preset;
77 }
78
79 - (NSDictionary *)createGamingConsolesPresetFolder
80 {
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"];
84
85
86     /* Get the New Preset Name from the field in the AddPresetPanel */
87     [preset setObject:@"Gaming Consoles" forKey:@"PresetName"];
88
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"];
91
92     /*Set whether or not this is default, at creation set to 0*/
93     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
94     
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"];
104     
105     [childrenArray autorelease];
106
107
108
109     [preset autorelease];
110     return preset;
111 }
112
113
114 - (NSDictionary *)createBasicPresetFolder
115 {
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"];
119
120
121     /* Get the New Preset Name from the field in the AddPresetPanel */
122     [preset setObject:@"Basic" forKey:@"PresetName"];
123
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"];
126
127     /*Set whether or not this is default, at creation set to 0*/
128     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
129     
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"];
138     
139     [childrenArray autorelease];
140
141
142
143     [preset autorelease];
144     return preset;
145 }
146
147 - (NSDictionary *)createHiProfilePresetFolder
148 {
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"];
152
153
154     /* Get the New Preset Name from the field in the AddPresetPanel */
155     [preset setObject:@"High Profile" forKey:@"PresetName"];
156
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"];
159
160     /*Set whether or not this is default, at creation set to 0*/
161     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
162     
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"];
173     
174     [childrenArray autorelease];
175     [preset autorelease];
176     return preset;
177 }
178
179 - (NSDictionary *)createLegacyPresetFolder
180 {
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"];
184
185
186     /* Get the New Preset Name from the field in the AddPresetPanel */
187     [preset setObject:@"Legacy" forKey:@"PresetName"];
188
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"];
191
192     /*Set whether or not this is default, at creation set to 0*/
193     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
194     
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"];
204     
205     [childrenArray autorelease];
206
207
208
209     [preset autorelease];
210     return preset;
211 }
212
213
214 #pragma mark -
215
216 #pragma mark Built In Preset Definitions
217
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 */
220
221 - (NSDictionary *)create360Preset
222 {
223     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
224
225     /* Get the New Preset Name from the field in the AddPresetPanel */
226     [preset setObject:@"Xbox 360" forKey:@"PresetName"];
227
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"];
230
231     /*Set whether or not this is default, at creation set to 0*/
232     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
233
234     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
235     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
236
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"];
239
240     /* File Format */
241     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
242
243     /* Chapter Markers*/
244      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
245
246     /* Video encoder */
247     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
248     
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"];
251
252     /* Video quality */
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"];
257
258     /* Video framerate */
259     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
260
261     /* GrayScale */
262     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
263
264     /* 2 Pass Encoding */
265     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
266
267     /*Picture Settings*/
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"];
274
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"];
282
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"];
289
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 */
292     
293     /* Track 1 */
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"];
300     
301     /* Subtitles*/
302     [preset setObject:@"None" forKey:@"Subtitles"];
303
304     [preset autorelease];
305     return preset;
306 }
307
308 - (NSDictionary *)createAnimationPreset
309 {
310     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
311
312     /* Get the New Preset Name from the field in the AddPresetPanel */
313     [preset setObject:@"Animation" forKey:@"PresetName"];
314
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"];
317
318     /*Set whether or not this is default, at creation set to 0*/
319     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
320
321     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
322     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
323
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"];
326
327     /* File Format */
328     [preset setObject:@"MKV file" forKey:@"FileFormat"];
329
330     /* Chapter Markers*/
331      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
332
333     /* Video encoder */
334     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
335
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"];
338
339     /* Video quality */
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"];
344
345     /* Video framerate */
346     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
347
348     /* GrayScale */
349     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
350
351     /* 2 Pass Encoding */
352     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
353     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
354
355     /*Picture Settings*/
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"];
364
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"];
373
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"];
380
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 */
383     
384     /* Track 1 */
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"];
391     
392     /* Subtitles*/
393     [preset setObject:@"None" forKey:@"Subtitles"];
394
395     [preset autorelease];
396     return preset;
397 }
398
399 - (NSDictionary *)createAppleTVPreset
400 {
401     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
402
403     /* Get the New Preset Name from the field in the AddPresetPanel */
404     [preset setObject:@"AppleTV" forKey:@"PresetName"];
405
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"];
412
413     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
414     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
415
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"];
418
419     /* File Format */
420     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
421
422     /* 64-bit MP4 file */
423     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
424
425     /* Chapter Markers*/
426      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
427
428     /* Video encoder */
429     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
430
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"];
433
434     /* Video quality */
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"];
439
440     /* Video framerate */
441     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
442
443     /* GrayScale */
444     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
445
446     /* 2 Pass Encoding */
447     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
448
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"];
456
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"];
464
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"];
472
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 */
475     
476     /* Track 1 */
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"];
483
484     /* Track 2 */
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"];
494
495     /* Subtitles*/
496     [preset setObject:@"None" forKey:@"Subtitles"];
497
498     [preset autorelease];
499     return preset;
500 }
501
502 - (NSDictionary *)createAppleTVLegacyPreset
503 {
504     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
505
506     /* Get the New Preset Name from the field in the AddPresetPanel */
507     [preset setObject:@"AppleTV Legacy" forKey:@"PresetName"];
508
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"];
511
512     /*Set whether or not this is default, at creation set to 0*/
513     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
514
515     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
516     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
517
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"];
520
521     /* File Format */
522     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
523
524     /* 64-bit MP4 file */
525     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
526
527     /* Chapter Markers*/
528      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
529
530     /* Video encoder */
531     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
532
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"];
535
536     /* Video quality */
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"];
541
542     /* Video framerate */
543     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
544
545     /* GrayScale */
546     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
547
548     /* 2 Pass Encoding */
549     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
550
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"];
558
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"];
566
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"];
574
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 */
577    
578     /* Track 1 */
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"];
585
586     /* Track 2 */
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"];
596
597     /* Subtitles*/
598     [preset setObject:@"None" forKey:@"Subtitles"];
599
600     [preset autorelease];
601     return preset;
602 }
603
604 - (NSDictionary *)createAppleUniversalPreset
605 {
606     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
607
608     /* Get the New Preset Name from the field in the AddPresetPanel */
609     [preset setObject:@"Universal" forKey:@"PresetName"];
610
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"];
617
618     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
619     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
620
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"];
623
624     /* File Format */
625     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
626
627     /* 64-bit MP4 file */
628     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4LargeFile"];
629
630     /* Chapter Markers*/
631      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
632
633     /* Video encoder */
634     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
635
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"];
638
639     /* Video quality */
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"];
644
645     /* Video framerate */
646     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
647
648     /* GrayScale */
649     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
650
651     /* 2 Pass Encoding */
652     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
653
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"];
661
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"];
669
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"];
677
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 */
680     
681     /* Track 1 */
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"];
688
689     /* Track 2 */
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"];
699
700     /* Subtitles*/
701     [preset setObject:@"None" forKey:@"Subtitles"];
702
703     [preset autorelease];
704     return preset;
705 }
706
707 - (NSDictionary *)createClassicPreset
708 {
709     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
710
711     /* Get the New Preset Name from the field in the AddPresetPanel */
712     [preset setObject:@"Classic" forKey:@"PresetName"];
713
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"];
716
717     /*Set whether or not this is default, at creation set to 0*/
718     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
719
720     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
721     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
722
723     /* Get the New Preset Description from the field in the AddPresetPanel */
724     [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
725
726     /* File Format */
727     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
728
729     /* Chapter Markers*/
730      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
731
732     /* Video encoder */
733     [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
734
735     /* x264 Option String */
736     [preset setObject:@"" forKey:@"x264Option"];
737
738     /* Video quality */
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"];
743
744     /* Video framerate */
745     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
746
747     /* GrayScale */
748     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
749
750     /* 2 Pass Encoding */
751     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
752
753     /*Picture Settings*/
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"];
761
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"];
769
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"];
776     
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 */
779     
780     /* Track 1 */
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"];
787
788     /* Subtitles*/
789     [preset setObject:@"None" forKey:@"Subtitles"];
790
791     [preset autorelease];
792     return preset;
793 }
794
795 - (NSDictionary *)createCRFPreset
796 {
797     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
798
799     /* Get the New Preset Name from the field in the AddPresetPanel */
800     [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
801
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"];
804
805     /*Set whether or not this is default, at creation set to 0*/
806     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
807
808     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
809     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
810
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"];
813
814     /* File Format */
815     [preset setObject:@"MKV file" forKey:@"FileFormat"];
816
817     /* Chapter Markers*/
818      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
819
820     /* Video encoder */
821     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
822
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"];
825
826     /* Video quality */
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"];
831
832     /* Video framerate */
833     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
834
835     /* GrayScale */
836     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
837
838     /* 2 Pass Encoding */
839     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
840     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
841
842     /*Picture Settings*/
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"];
850
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"];
858
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"];
865
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 */
868     
869     /* Track 1 */
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"];
879
880     /* Subtitles*/
881     [preset setObject:@"None" forKey:@"Subtitles"];
882
883     [preset autorelease];
884     return preset;
885 }
886
887 - (NSDictionary *)createFilmPreset
888 {
889     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
890
891     /* Get the New Preset Name from the field in the AddPresetPanel */
892     [preset setObject:@"Film" forKey:@"PresetName"];
893
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"];
896
897     /*Set whether or not this is default, at creation set to 0*/
898     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
899
900     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
901     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
902
903     /* Get the New Preset Description from the field in the AddPresetPanel */
904     [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
905
906     /* File Format */
907     [preset setObject:@"MKV file" forKey:@"FileFormat"];
908
909     /* Chapter Markers*/
910      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
911
912     /* Video encoder */
913     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
914
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"];
917
918     /* Video quality */
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"];
923
924     /* Video framerate */
925     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
926
927     /* GrayScale */
928     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
929
930     /* 2 Pass Encoding */
931     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
932     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
933
934     /*Picture Settings*/
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"];
942
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"];
950
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"];
957
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 */
960     
961     /* Track 1 */
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"];
971
972     /* Subtitles*/
973     [preset setObject:@"None" forKey:@"Subtitles"];
974
975     [preset autorelease];
976     return preset;
977 }
978
979 - (NSDictionary *)createiPhonePreset
980 {
981     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
982
983     /* Get the New Preset Name from the field in the AddPresetPanel */
984     [preset setObject:@"iPhone & iPod Touch" forKey:@"PresetName"];
985
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"];
988
989     /*Set whether or not this is default, at creation set to 0*/
990     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
991
992     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
993     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
994
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"];
997
998     /* File Format */
999     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1000
1001     /* Chapter Markers*/
1002      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1003
1004     /* Video encoder */
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"];
1009
1010     /* Video quality */
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"];
1015
1016     /* Video framerate */
1017     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1018
1019     /* GrayScale */
1020     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1021
1022     /* 2 Pass Encoding */
1023     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1024
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"];
1032
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"];
1040
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"];
1048
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 */
1051     
1052     /* Track 1 */
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"];
1059
1060     /* Subtitles*/
1061     [preset setObject:@"None" forKey:@"Subtitles"];
1062
1063     [preset autorelease];
1064     return preset;
1065 }
1066
1067 - (NSDictionary *)createiPhoneLegacyPreset
1068 {
1069     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1070
1071     /* Get the New Preset Name from the field in the AddPresetPanel */
1072     [preset setObject:@"iPhone Legacy" forKey:@"PresetName"];
1073
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"];
1076
1077     /*Set whether or not this is default, at creation set to 0*/
1078     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1079
1080     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1081     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1082
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"];
1085
1086     /* File Format */
1087     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1088
1089     /* Chapter Markers*/
1090      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1091
1092     /* Video encoder */
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"];
1097
1098     /* Video quality */
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"];
1103
1104     /* Video framerate */
1105     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1106
1107     /* GrayScale */
1108     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1109
1110     /* 2 Pass Encoding */
1111     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1112
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"];
1120
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"];
1128
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"];
1136
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 */
1139     
1140     /* Track 1 */
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"];
1147
1148     /* Subtitles*/
1149     [preset setObject:@"None" forKey:@"Subtitles"];
1150
1151     [preset autorelease];
1152     return preset;
1153 }
1154
1155 - (NSDictionary *)createIpodHighPreset
1156 {
1157     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1158
1159     /* Get the New Preset Name from the field in the AddPresetPanel */
1160     [preset setObject:@"iPod Legacy" forKey:@"PresetName"];
1161
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"];
1164
1165     /*Set whether or not this is default, at creation set to 0*/
1166     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1167
1168     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1169     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1170
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"];
1173
1174     /* File Format */
1175     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1176
1177     /* Chapter Markers*/
1178      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1179
1180     /* Video encoder */
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"];
1185
1186     /* Video quality */
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"];
1191
1192     /* Video framerate */
1193     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1194
1195     /* GrayScale */
1196     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1197
1198     /* 2 Pass Encoding */
1199     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1200
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"];
1208
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"];
1216
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"];
1224
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 */
1227     
1228     /* Track 1 */
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"];
1235
1236     /* Subtitles*/
1237     [preset setObject:@"None" forKey:@"Subtitles"];
1238
1239     [preset autorelease];
1240     return preset;
1241 }
1242
1243 - (NSDictionary *)createIpodLowPreset
1244 {
1245     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1246
1247     /* Get the New Preset Name from the field in the AddPresetPanel */
1248     [preset setObject:@"iPod" forKey:@"PresetName"];
1249
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"];
1252
1253     /*Set whether or not this is default, at creation set to 0*/
1254     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1255
1256     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1257     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1258
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"];
1261
1262     /* File Format */
1263     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1264
1265     /* Chapter Markers*/
1266      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1267
1268     /* Video encoder */
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"];
1273
1274     /* Video quality */
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"];
1279
1280     /* Video framerate */
1281     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1282
1283     /* GrayScale */
1284     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1285
1286     /* 2 Pass Encoding */
1287     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1288
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"];
1297
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"];
1305
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"];
1312
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 */
1315     
1316     /* Track 1 */
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"];
1323
1324     /* Subtitles*/
1325     [preset setObject:@"None" forKey:@"Subtitles"];
1326
1327     [preset autorelease];
1328     return preset;
1329 }
1330
1331 - (NSDictionary *)createNormalPreset
1332 {
1333     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1334
1335     /* Get the New Preset Name from the field in the AddPresetPanel */
1336     [preset setObject:@"Normal" forKey:@"PresetName"];
1337
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"];
1340
1341     /*Set whether or not this is default, at creation set to 0*/
1342     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
1343
1344     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1345     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1346
1347     /* Get the New Preset Description from the field in the AddPresetPanel */
1348     [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
1349
1350     /* File Format */
1351     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1352
1353     /* Chapter Markers*/
1354      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1355
1356     /* Video encoder */
1357     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1358
1359     /* x264 Option String */
1360     [preset setObject:@"ref=2:bframes=2:me=umh" forKey:@"x264Option"];
1361
1362     /* Video quality */
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"];
1367
1368     /* Video framerate */
1369     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1370
1371     /* GrayScale */
1372     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1373
1374     /* 2 Pass Encoding */
1375     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1376     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1377
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"];
1386
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"];
1394
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"];
1401
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 */
1404     
1405     /* Track 1 */
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"];
1412
1413     /* Subtitles*/
1414     [preset setObject:@"None" forKey:@"Subtitles"];
1415
1416     [preset autorelease];
1417     return preset;
1418 }
1419
1420 - (NSDictionary *)createPSPPreset
1421 {
1422     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1423
1424     /* Get the New Preset Name from the field in the AddPresetPanel */
1425     [preset setObject:@"PSP" forKey:@"PresetName"];
1426
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"];
1429
1430     /*Set whether or not this is default, at creation set to 0*/
1431     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1432
1433     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1434     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1435
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"];
1438
1439     /* File Format */
1440     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1441
1442     /* Chapter Markers*/
1443      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1444
1445     /* Video encoder */
1446     [preset setObject:@"MPEG-4 (FFmpeg)" forKey:@"VideoEncoder"];
1447
1448     /* x264 Option String (We can use this to tweak the appleTV output)*/
1449     [preset setObject:@"" forKey:@"x264Option"];
1450
1451     /* Video quality */
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"];
1456
1457     /* Video framerate */
1458     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1459
1460     /* GrayScale */
1461     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1462
1463     /* 2 Pass Encoding */
1464     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1465
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"];
1473
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"];
1481
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"];
1489
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 */
1492     
1493     /* Track 1 */
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"];
1500
1501     /* Subtitles*/
1502     [preset setObject:@"None" forKey:@"Subtitles"];
1503
1504     [preset autorelease];
1505     return preset;
1506 }
1507
1508 - (NSDictionary *)createPSThreePreset
1509 {
1510     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1511
1512     /* Get the New Preset Name from the field in the AddPresetPanel */
1513     [preset setObject:@"PS3" forKey:@"PresetName"];
1514
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"];
1517
1518     /*Set whether or not this is default, at creation set to 0*/
1519     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1520
1521     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1522     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1523
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"];
1526
1527     /* File Format */
1528     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1529
1530     /* Chapter Markers*/
1531      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
1532
1533     /* Video encoder */
1534     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1535
1536     /* x264 Option String (We can use this to tweak the appleTV output)*/
1537     [preset setObject:@"level=41:me=umh" forKey:@"x264Option"];
1538
1539     /* Video quality */
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"];
1544
1545     /* Video framerate */
1546     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1547
1548     /* GrayScale */
1549     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1550
1551     /* 2 Pass Encoding */
1552     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1553
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"];
1561
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"];
1569
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"];
1577
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 */
1580     
1581     /* Track 1 */
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"];
1588
1589     /* Subtitles*/
1590     [preset setObject:@"None" forKey:@"Subtitles"];
1591
1592     [preset autorelease];
1593     return preset;
1594 }
1595
1596 - (NSDictionary *)createQuickTimePreset
1597 {
1598     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1599
1600     /* Get the New Preset Name from the field in the AddPresetPanel */
1601     [preset setObject:@"QuickTime" forKey:@"PresetName"];
1602
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"];
1605
1606     /*Set whether or not this is default, at creation set to 0*/
1607     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1608
1609     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1610     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1611
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"];
1614
1615     /* File Format */
1616     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1617
1618     /* Chapter Markers*/
1619      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1620
1621     /* Video encoder */
1622     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1623
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"];
1626
1627     /* Video quality */
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"];
1632
1633     /* Video framerate */
1634     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1635
1636     /* GrayScale */
1637     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1638
1639     /* 2 Pass Encoding */
1640     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1641     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1642
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"];
1651
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"];
1659
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"];
1666
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 */
1669     
1670     /* Track 1 */
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"];
1677
1678     /* Subtitles*/
1679     [preset setObject:@"None" forKey:@"Subtitles"];
1680
1681     [preset autorelease];
1682     return preset;
1683 }
1684
1685 - (NSDictionary *)createTelevisionPreset
1686 {
1687     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1688
1689     /* Get the New Preset Name from the field in the AddPresetPanel */
1690     [preset setObject:@"Television" forKey:@"PresetName"];
1691
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"];
1694
1695     /*Set whether or not this is default, at creation set to 0*/
1696     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1697
1698     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1699     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1700
1701     /* Get the New Preset Description from the field in the AddPresetPanel */
1702     [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
1703
1704     /* File Format */
1705     [preset setObject:@"MKV file" forKey:@"FileFormat"];
1706
1707     /* Chapter Markers*/
1708      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1709
1710     /* Video encoder */
1711     [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
1712
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"];
1715
1716     /* Video quality */
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"];
1721
1722     /* Video framerate */
1723     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1724
1725     /* GrayScale */
1726     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1727
1728     /* 2 Pass Encoding */
1729     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1730     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1731
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"];
1740
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"];
1748
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"];
1755
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 */
1758     
1759     /* Track 1 */
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"];
1766
1767     /* Subtitles*/
1768     [preset setObject:@"None" forKey:@"Subtitles"];
1769
1770     [preset autorelease];
1771     return preset;
1772 }
1773
1774 @end