OSDN Git Service

Use 64-bit MP4 containers for the AppleTV preset, in case the 2500kb/s video and...
[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.m0k.org/>.
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     [UserPresets addObject:[self create360Preset]];
22     [UserPresets addObject:[self createAnimationPreset]];
23     [UserPresets addObject:[self createAppleTVPreset]];
24     [UserPresets addObject:[self createBedlamPreset]];
25     [UserPresets addObject:[self createBlindPreset]];
26     [UserPresets addObject:[self createBrokePreset]];
27     [UserPresets addObject:[self createClassicPreset]];
28     [UserPresets addObject:[self createCRFPreset]];
29     [UserPresets addObject:[self createDeuxSixQuatrePreset]];
30     [UserPresets addObject:[self createFilmPreset]];
31     [UserPresets addObject:[self createiPhonePreset]];
32     [UserPresets addObject:[self createIpodHighPreset]];
33     [UserPresets addObject:[self createIpodLowPreset]];
34     [UserPresets addObject:[self createNormalPreset]];
35     [UserPresets addObject:[self createPSPPreset]];
36     [UserPresets addObject:[self createPSThreePreset]];
37     [UserPresets addObject:[self createQuickTimePreset]];
38     [UserPresets addObject:[self createTelevisionPreset]];
39
40     /* return the newly regenerated preset array back to Controller.mm */
41     return UserPresets;
42 }
43
44 #pragma mark -
45
46 #pragma mark Built In Preset Definitions
47
48 /* These NSDictionary Buit-In Preset definitions contain all of the settings for one built in preset */
49 /* Note: For now, you can no longer have reference to any main window fields in your key values */
50
51 - (NSDictionary *)create360Preset
52 {
53     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
54
55     /* Get the New Preset Name from the field in the AddPresetPanel */
56     [preset setObject:@"Xbox 360" forKey:@"PresetName"];
57
58     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
59     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
60
61     /*Set whether or not this is default, at creation set to 0*/
62     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
63
64     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
65     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
66
67     /* Get the New Preset Description from the field in the AddPresetPanel */
68     [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"];
69
70     /* File Format */
71     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
72
73     /* Chapter Markers*/
74      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
75
76     /* Codecs */
77     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
78
79     /* Video encoder */
80     [preset setObject:@"x264" forKey:@"VideoEncoder"];
81     
82     /* x264 Option String */
83     [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"];
84
85     /* Video quality */
86     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
87     [preset setObject:@"700" forKey:@"VideoTargetSize"];
88     [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
89     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
90
91     /* Video framerate */
92     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
93
94     /* GrayScale */
95     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
96
97     /* 2 Pass Encoding */
98     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
99
100     /*Picture Settings*/
101     /* Use Max Picture settings for whatever the dvd is.*/
102     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
103     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
104     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
105     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
106     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
107
108     /* Explicitly set the filters for built-in presets */
109     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
110     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
111     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
112     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
113     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
114     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
115
116     /* Set crop settings here */
117     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
118     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
119     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
120     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
121     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
122
123     /* Audio Sample Rate*/
124     [preset setObject:@"48" forKey:@"AudioSampleRate"];
125
126     /* Audio Bitrate Rate*/
127     [preset setObject:@"160" forKey:@"AudioBitRate"];
128
129     /* Subtitles*/
130     [preset setObject:@"None" forKey:@"Subtitles"];
131
132     [preset autorelease];
133     return preset;
134 }
135
136 - (NSDictionary *)createAnimationPreset
137 {
138     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
139
140     /* Get the New Preset Name from the field in the AddPresetPanel */
141     [preset setObject:@"Animation" forKey:@"PresetName"];
142
143     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
144     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
145
146     /*Set whether or not this is default, at creation set to 0*/
147     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
148
149     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
150     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
151
152     /* Get the New Preset Description from the field in the AddPresetPanel */
153     [preset setObject:@"HandBrake's settings for cartoons, anime, and CGI." forKey:@"PresetDescription"];
154
155     /* File Format */
156     [preset setObject:@"MKV file" forKey:@"FileFormat"];
157
158     /* Chapter Markers*/
159      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
160
161     /* Codecs */
162     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
163
164     /* Video encoder */
165     [preset setObject:@"x264" forKey:@"VideoEncoder"];
166
167     /* x264 Option String */
168     [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
170     /* Video quality */
171     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
172     [preset setObject:@"700" forKey:@"VideoTargetSize"];
173     [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
174     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
175
176     /* Video framerate */
177     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
178
179     /* GrayScale */
180     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
181
182     /* 2 Pass Encoding */
183     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
184     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
185
186     /*Picture Settings*/
187     /* Basic Picture Settings */
188     /* Use Max Picture settings for whatever the dvd is.*/
189     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
190     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
191     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
192     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
193     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
194     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
195
196     /* Filters. For animation, use slower deinterlacing. */
197     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
198     [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"];
199     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
200     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
201     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
202     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
203
204     /* Set crop settings here */
205     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
206     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
207     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
208     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
209     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
210
211     /* Audio Sample Rate*/
212     [preset setObject:@"48" forKey:@"AudioSampleRate"];
213
214     /* Audio Bitrate Rate*/
215     [preset setObject:@"160" forKey:@"AudioBitRate"];
216
217     /* Subtitles*/
218     [preset setObject:@"None" forKey:@"Subtitles"];
219
220     [preset autorelease];
221     return preset;
222 }
223
224 - (NSDictionary *)createAppleTVPreset
225 {
226     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
227
228     /* Get the New Preset Name from the field in the AddPresetPanel */
229     [preset setObject:@"AppleTV" forKey:@"PresetName"];
230
231     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
232     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
233
234     /*Set whether or not this is default, at creation set to 0*/
235     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
236
237     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
238     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
239
240     /* Get the New Preset Description from the field in the AddPresetPanel */
241     [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"];
242
243     /* File Format */
244     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
245
246     /* 64-bit MP4 file */
247     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
248
249     /* Chapter Markers*/
250      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
251
252     /* Codecs */
253     [preset setObject:@"AVC/H.264 Video / AAC + AC3 Audio" forKey:@"FileCodecs"];
254
255     /* Video encoder */
256     [preset setObject:@"x264" forKey:@"VideoEncoder"];
257
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"];
260
261     /* Video quality */
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"];
266
267     /* Video framerate */
268     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
269
270     /* GrayScale */
271     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
272
273     /* 2 Pass Encoding */
274     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
275
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"];
283
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"];
291
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"];
298
299     /* Audio Sample Rate*/
300     [preset setObject:@"48" forKey:@"AudioSampleRate"];
301
302     /* Audio Bitrate Rate*/
303     [preset setObject:@"160" forKey:@"AudioBitRate"];
304
305     /* Subtitles*/
306     [preset setObject:@"None" forKey:@"Subtitles"];
307
308     [preset autorelease];
309     return preset;
310 }
311
312 - (NSDictionary *)createBedlamPreset
313 {
314     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
315
316     /* Get the New Preset Name from the field in the AddPresetPanel */
317     [preset setObject:@"Bedlam" forKey:@"PresetName"];
318
319     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
320     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
321
322     /*Set whether or not this is default, at creation set to 0*/
323     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
324
325     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
326     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
327
328     /* Get the New Preset Description from the field in the AddPresetPanel */
329     [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"];
330
331     /* File Format */
332     [preset setObject:@"MKV file" forKey:@"FileFormat"];
333
334     /* Chapter Markers*/
335      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
336
337     /* Codecs */
338     [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
339
340     /* Video encoder */
341     [preset setObject:@"x264" forKey:@"VideoEncoder"];
342
343     /* x264 Option String */
344     [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"];
345
346     /* Video quality */
347     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
348     [preset setObject:@"700" forKey:@"VideoTargetSize"];
349     [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
350     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
351
352     /* Video framerate */
353     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
354
355     /* GrayScale */
356     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
357
358     /* 2 Pass Encoding */
359     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
360     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
361
362     /*Picture Settings*/
363     /* Use Max Picture settings for whatever the dvd is.*/
364     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
365     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
366     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
367     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
368     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
369     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
370
371     /* Explicitly set the filters for built-in presets */
372     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
373     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
374     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
375     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
376     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
377     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
378
379     /* Set crop settings here */
380     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
381     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
382     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
383     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
384     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
385
386     /* Audio Sample Rate*/
387     [preset setObject:@"48" forKey:@"AudioSampleRate"];
388
389     /* Audio Bitrate Rate*/
390     [preset setObject:@"160" forKey:@"AudioBitRate"];
391
392     /* Subtitles*/
393     [preset setObject:@"None" forKey:@"Subtitles"];
394
395     [preset autorelease];
396     return preset;
397 }
398
399 - (NSDictionary *)createBlindPreset
400 {
401     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
402
403     /* Get the New Preset Name from the field in the AddPresetPanel */
404     [preset setObject:@"Blind" forKey:@"PresetName"];
405
406     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
407     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
408
409     /*Set whether or not this is default, at creation set to 0*/
410     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
411
412     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
413     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
414
415     /* Get the New Preset Description from the field in the AddPresetPanel */
416     [preset setObject:@"HandBrake's preset for impatient people who don't care about picture quality." forKey:@"PresetDescription"];
417
418     /* File Format */
419     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
420
421     /* Chapter Markers*/
422      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
423
424     /* Codecs */
425     [preset setObject:@"MPEG-4 Video / AAC Audio" forKey:@"FileCodecs"];
426
427     /* Video encoder */
428     [preset setObject:@"FFmpeg" forKey:@"VideoEncoder"];
429
430     /* x264 Option String */
431     [preset setObject:@"" forKey:@"x264Option"];
432
433     /* Video quality */
434     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
435     [preset setObject:@"700" forKey:@"VideoTargetSize"];
436     [preset setObject:@"512" forKey:@"VideoAvgBitrate"];
437     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
438
439     /* Video framerate */
440     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
441
442     /* GrayScale */
443     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
444
445     /* 2 Pass Encoding */
446     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
447     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
448
449     /*Picture Settings*/
450     /* Use a width of 512 to save on space for Blind */
451     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
452     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
453     [preset setObject:[NSNumber numberWithInt:512] forKey:@"PictureWidth"];
454     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
455     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
456     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
457
458     /* Explicitly set the filters for built-in presets */
459     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
460     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
461     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
462     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
463     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
464     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
465
466     /* Set crop settings here */
467     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
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 Sample Rate*/
474     [preset setObject:@"48" forKey:@"AudioSampleRate"];
475
476     /* Audio Bitrate Rate*/
477     [preset setObject:@"128" forKey:@"AudioBitRate"];
478
479     /* Subtitles*/
480     [preset setObject:@"None" forKey:@"Subtitles"];
481
482     [preset autorelease];
483     return preset;
484 }
485
486 - (NSDictionary *)createBrokePreset
487 {
488     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
489
490     /* Get the New Preset Name from the field in the AddPresetPanel */
491     [preset setObject:@"Broke" forKey:@"PresetName"];
492
493     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
494     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
495
496     /*Set whether or not this is default, at creation set to 0*/
497     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
498
499     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
500     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
501
502     /* Get the New Preset Description from the field in the AddPresetPanel */
503     [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"];
504
505     /* File Format */
506     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
507
508     /* Chapter Markers*/
509      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
510
511     /* Codecs */
512     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
513
514     /* Video encoder */
515     [preset setObject:@"x264" forKey:@"VideoEncoder"];
516
517     /* x264 Option String */
518     [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"];
519
520     /* Video quality */
521     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoQualityType"];
522     [preset setObject:@"695" forKey:@"VideoTargetSize"];
523     [preset setObject:@"1600" forKey:@"VideoAvgBitrate"];
524     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
525
526     /* Video framerate */
527     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
528
529     /* GrayScale */
530     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
531
532     /* 2 Pass Encoding */
533     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
534     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
535
536     /*Picture Settings*/
537     /* Use a width of 640 for Broke */
538     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
539     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
540     [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
541     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
542     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
543     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
544
545     /* Explicitly set the filters for built-in presets */
546     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
547     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
548     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
549     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
550     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
551     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
552
553     /* Set crop settings here */
554     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
555     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
556     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
557     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
558     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
559
560     /* Audio Sample Rate*/
561     [preset setObject:@"48" forKey:@"AudioSampleRate"];
562
563     /* Audio Bitrate Rate*/
564     [preset setObject:@"128" forKey:@"AudioBitRate"];
565
566     /* Subtitles*/
567     [preset setObject:@"None" forKey:@"Subtitles"];
568
569     [preset autorelease];
570     return preset;
571 }
572
573 - (NSDictionary *)createClassicPreset
574 {
575     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
576
577     /* Get the New Preset Name from the field in the AddPresetPanel */
578     [preset setObject:@"Classic" forKey:@"PresetName"];
579
580     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
581     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
582
583     /*Set whether or not this is default, at creation set to 0*/
584     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
585
586     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
587     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
588
589     /* Get the New Preset Description from the field in the AddPresetPanel */
590     [preset setObject:@"HandBrake's traditional, faster, lower-quality settings." forKey:@"PresetDescription"];
591
592     /* File Format */
593     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
594
595     /* Chapter Markers*/
596      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
597
598     /* Codecs */
599     [preset setObject:@"MPEG-4 Video / AAC Audio" forKey:@"FileCodecs"];
600
601     /* Video encoder */
602     [preset setObject:@"FFmpeg" forKey:@"VideoEncoder"];
603
604     /* x264 Option String */
605     [preset setObject:@"" forKey:@"x264Option"];
606
607     /* Video quality */
608     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
609     [preset setObject:@"700"  forKey:@"VideoTargetSize"];
610     [preset setObject:@"1000" forKey:@"VideoAvgBitrate"];
611     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
612
613     /* Video framerate */
614     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
615
616     /* GrayScale */
617     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
618
619     /* 2 Pass Encoding */
620     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
621
622     /*Picture Settings*/
623     /* Use Max Picture settings for whatever the dvd is.*/
624     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
625     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
626     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
627     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
628     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
629     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
630
631     /* Explicitly set the filters for built-in presets */
632     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
633     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
634     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
635     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
636     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
637     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
638
639     /* Set crop settings here */
640     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
641     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
642     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
643     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
644     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
645     
646     /* Audio Sample Rate*/
647     [preset setObject:@"48" forKey:@"AudioSampleRate"];
648
649     /* Audio Bitrate Rate*/
650     [preset setObject:@"160" forKey:@"AudioBitRate"];
651
652     /* Subtitles*/
653     [preset setObject:@"None" forKey:@"Subtitles"];
654
655     [preset autorelease];
656     return preset;
657 }
658
659 - (NSDictionary *)createCRFPreset
660 {
661     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
662
663     /* Get the New Preset Name from the field in the AddPresetPanel */
664     [preset setObject:@"Constant Quality Rate" forKey:@"PresetName"];
665
666     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
667     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
668
669     /*Set whether or not this is default, at creation set to 0*/
670     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
671
672     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
673     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
674
675     /* Get the New Preset Description from the field in the AddPresetPanel */
676     [preset setObject:@"HandBrake's preset for consistently excellent quality in one pass, with the downside of entirely unpredictable file sizes and bitrates." forKey:@"PresetDescription"];
677
678     /* File Format */
679     [preset setObject:@"MKV file" forKey:@"FileFormat"];
680
681     /* Chapter Markers*/
682      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
683
684     /* Codecs */
685     [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
686
687     /* Video encoder */
688     [preset setObject:@"x264" forKey:@"VideoEncoder"];
689
690     /* x264 Option String */
691     [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"];
692
693     /* Video quality */
694     [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
695     [preset setObject:@"700" forKey:@"VideoTargetSize"];
696     [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
697     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
698
699     /* Video framerate */
700     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
701
702     /* GrayScale */
703     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
704
705     /* 2 Pass Encoding */
706     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
707     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTurboTwoPass"];
708
709     /*Picture Settings*/
710     /* Use Max Picture settings for whatever the dvd is.*/
711     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
712     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
713     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
714     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
715     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
716     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
717
718     /* Explicitly set the filters for built-in presets */
719     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
720     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
721     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
722     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
723     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
724     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
725
726     /* Set crop settings here */
727     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
728     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
729     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
730     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
731     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
732
733     /* Audio Sample Rate*/
734     [preset setObject:@"48" forKey:@"AudioSampleRate"];
735
736     /* Audio Bitrate Rate*/
737     [preset setObject:@"160" forKey:@"AudioBitRate"];
738
739     /* Subtitles*/
740     [preset setObject:@"None" forKey:@"Subtitles"];
741
742     [preset autorelease];
743     return preset;
744 }
745
746 - (NSDictionary *)createDeuxSixQuatrePreset
747 {
748     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
749
750     /* Get the New Preset Name from the field in the AddPresetPanel */
751     [preset setObject:@"Deux Six Quatre" forKey:@"PresetName"];
752
753     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
754     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
755
756     /*Set whether or not this is default, at creation set to 0*/
757     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
758
759     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
760     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
761
762     /* Get the New Preset Description from the field in the AddPresetPanel */
763     [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"];
764
765     /* File Format */
766     [preset setObject:@"MKV file" forKey:@"FileFormat"];
767
768     /* Chapter Markers*/
769      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
770
771     /* Codecs */
772     [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
773
774     /* Video encoder */
775     [preset setObject:@"x264" forKey:@"VideoEncoder"];
776
777     /* x264 Option String */
778     [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"];
779
780     /* Video quality */
781     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
782     [preset setObject:@"700" forKey:@"VideoTargetSize"];
783     [preset setObject:@"1600" forKey:@"VideoAvgBitrate"];
784     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
785
786     /* Video framerate */
787     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
788
789     /* GrayScale */
790     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
791
792     /* 2 Pass Encoding */
793     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
794     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
795
796     /*Picture Settings*/
797     /* Use Max Picture settings for whatever the dvd is.*/
798     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
799     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
800     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
801     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
802     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
803     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
804
805     /* Explicitly set the filters for built-in presets */
806     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
807     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
808     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
809     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
810     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
811     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
812
813     /* Set crop settings here */
814     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
815     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
816     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
817     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
818     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
819
820     /* Audio Sample Rate*/
821     [preset setObject:@"48" forKey:@"AudioSampleRate"];
822
823     /* Audio Bitrate Rate*/
824     [preset setObject:@"160" forKey:@"AudioBitRate"];
825
826     /* Subtitles*/
827     [preset setObject:@"None" forKey:@"Subtitles"];
828
829     [preset autorelease];
830     return preset;
831 }
832
833 - (NSDictionary *)createFilmPreset
834 {
835     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
836
837     /* Get the New Preset Name from the field in the AddPresetPanel */
838     [preset setObject:@"Film" forKey:@"PresetName"];
839
840     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
841     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
842
843     /*Set whether or not this is default, at creation set to 0*/
844     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
845
846     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
847     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
848
849     /* Get the New Preset Description from the field in the AddPresetPanel */
850     [preset setObject:@"HandBrake's preset for feature films." forKey:@"PresetDescription"];
851
852     /* File Format */
853     [preset setObject:@"MKV file" forKey:@"FileFormat"];
854
855     /* Chapter Markers*/
856      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
857
858     /* Codecs */
859     [preset setObject:@"AVC/H.264 Video / AC-3 Audio" forKey:@"FileCodecs"];
860
861     /* Video encoder */
862     [preset setObject:@"x264" forKey:@"VideoEncoder"];
863
864     /* x264 Option String */
865     [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"];
866
867     /* Video quality */
868     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
869     [preset setObject:@"700" forKey:@"VideoTargetSize"];
870     [preset setObject:@"1800" forKey:@"VideoAvgBitrate"];
871     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
872
873     /* Video framerate */
874     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
875
876     /* GrayScale */
877     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
878
879     /* 2 Pass Encoding */
880     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
881     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
882
883     /*Picture Settings*/
884     /* Use Max Picture settings for whatever the dvd is.*/
885     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
886     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
887     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
888     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
889     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
890     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
891
892     /* Explicitly set the filters for built-in presets */
893     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
894     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
895     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
896     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
897     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
898     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
899
900     /* Set crop settings here */
901     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
902     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
903     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
904     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
905     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
906
907     /* Audio Sample Rate*/
908     [preset setObject:@"48" forKey:@"AudioSampleRate"];
909
910     /* Audio Bitrate Rate*/
911     [preset setObject:@"160" forKey:@"AudioBitRate"];
912
913     /* Subtitles*/
914     [preset setObject:@"None" forKey:@"Subtitles"];
915
916     [preset autorelease];
917     return preset;
918 }
919
920 - (NSDictionary *)createiPhonePreset
921 {
922     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
923
924     /* Get the New Preset Name from the field in the AddPresetPanel */
925     [preset setObject:@"iPhone / iPod Touch" forKey:@"PresetName"];
926
927     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
928     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
929
930     /*Set whether or not this is default, at creation set to 0*/
931     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
932
933     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
934     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
935
936     /* Get the New Preset Description from the field in the AddPresetPanel */
937     [preset setObject:@"HandBrake's settings for the iPhone and iPod Touch." forKey:@"PresetDescription"];
938
939     /* File Format */
940     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
941
942     /* Chapter Markers*/
943      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
944
945     /* Codecs */
946     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
947
948     /* Video encoder */
949     [preset setObject:@"x264" forKey:@"VideoEncoder"];
950     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
951     /* x264 Option String */
952     [preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
953
954     /* Video quality */
955     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
956     [preset setObject:@"700" forKey:@"VideoTargetSize"];
957     [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
958     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
959
960     /* Video framerate */
961     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
962
963     /* GrayScale */
964     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
965
966     /* 2 Pass Encoding */
967     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
968
969     /*Picture Settings*/
970     /* Use a width of 480 for the iPhone*/
971     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
972     [preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
973     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
974     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
975     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
976
977     /* Explicitly set the filters for built-in presets */
978     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
979     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
980     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
981     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
982     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
983     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
984
985     /* Set crop settings here */
986     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
987     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
988     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
989     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
990     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
991     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
992
993     /* Audio Sample Rate*/
994     [preset setObject:@"48" forKey:@"AudioSampleRate"];
995
996     /* Audio Bitrate Rate*/
997     [preset setObject:@"128" forKey:@"AudioBitRate"];
998
999     /* Subtitles*/
1000     [preset setObject:@"None" forKey:@"Subtitles"];
1001
1002     [preset autorelease];
1003     return preset;
1004 }
1005
1006 - (NSDictionary *)createIpodHighPreset
1007 {
1008     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1009
1010     /* Get the New Preset Name from the field in the AddPresetPanel */
1011     [preset setObject:@"iPod High-Rez" forKey:@"PresetName"];
1012
1013     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1014     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1015
1016     /*Set whether or not this is default, at creation set to 0*/
1017     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1018
1019     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1020     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1021
1022     /* Get the New Preset Description from the field in the AddPresetPanel */
1023     [preset setObject:@"HandBrake's high resolution settings for the iPod. Good video quality, great for viewing on a TV using your iPod" forKey:@"PresetDescription"];
1024
1025     /* File Format */
1026     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1027
1028     /* Chapter Markers*/
1029      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1030
1031     /* Codecs */
1032     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
1033
1034     /* Video encoder */
1035     [preset setObject:@"x264" forKey:@"VideoEncoder"];
1036     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1037     /* x264 Option String */
1038     [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"];
1039
1040     /* Video quality */
1041     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1042     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1043     [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1044     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1045
1046     /* Video framerate */
1047     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1048
1049     /* GrayScale */
1050     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1051
1052     /* 2 Pass Encoding */
1053     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1054
1055     /*Picture Settings*/
1056     /* Use a width of 640 for iPod TV-out */
1057     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1058     [preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
1059     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1060     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1061     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1062
1063     /* Explicitly set the filters for built-in presets */
1064     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1065     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1066     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1067     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1068     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1069     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1070
1071     /* Set crop settings here */
1072     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1073     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1074     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1075     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1076     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1077     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1078
1079     /* Audio Sample Rate*/
1080     [preset setObject:@"48" forKey:@"AudioSampleRate"];
1081
1082     /* Audio Bitrate Rate*/
1083     [preset setObject:@"160" forKey:@"AudioBitRate"];
1084
1085     /* Subtitles*/
1086     [preset setObject:@"None" forKey:@"Subtitles"];
1087
1088     [preset autorelease];
1089     return preset;
1090 }
1091
1092 - (NSDictionary *)createIpodLowPreset
1093 {
1094     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1095
1096     /* Get the New Preset Name from the field in the AddPresetPanel */
1097     [preset setObject:@"iPod Low-Rez" forKey:@"PresetName"];
1098
1099     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1100     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1101
1102     /*Set whether or not this is default, at creation set to 0*/
1103     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1104
1105     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1106     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1107
1108     /* Get the New Preset Description from the field in the AddPresetPanel */
1109     [preset setObject:@"HandBrake's low resolution settings for the iPod. Optimized for great playback on the iPod screen, with smaller file size." forKey:@"PresetDescription"];
1110
1111     /* File Format */
1112     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1113
1114     /* Chapter Markers*/
1115      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1116
1117     /* Codecs */
1118     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
1119
1120     /* Video encoder */
1121     [preset setObject:@"x264" forKey:@"VideoEncoder"];
1122     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
1123     /* x264 Option String */
1124     [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"];
1125
1126     /* Video quality */
1127     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1128     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1129     [preset setObject:@"700" forKey:@"VideoAvgBitrate"];
1130     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1131
1132     /* Video framerate */
1133     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1134
1135     /* GrayScale */
1136     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1137
1138     /* 2 Pass Encoding */
1139     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1140
1141     /*Picture Settings*/
1142     /* Use a width of 320 for the iPod screen */
1143     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1144     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1145     [preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
1146     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1147     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1148     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1149
1150     /* Explicitly set the filters for built-in presets */
1151     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1152     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1153     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1154     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1155     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1156     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1157
1158     /* Set crop settings here */
1159     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1160     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1161     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1162     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1163     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1164
1165     /* Audio Sample Rate*/
1166     [preset setObject:@"48" forKey:@"AudioSampleRate"];
1167
1168     /* Audio Bitrate Rate*/
1169     [preset setObject:@"160" forKey:@"AudioBitRate"];
1170
1171     /* Subtitles*/
1172     [preset setObject:@"None" forKey:@"Subtitles"];
1173
1174     [preset autorelease];
1175     return preset;
1176 }
1177
1178 - (NSDictionary *)createNormalPreset
1179 {
1180     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1181
1182     /* Get the New Preset Name from the field in the AddPresetPanel */
1183     [preset setObject:@"Normal" forKey:@"PresetName"];
1184
1185     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1186     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1187
1188     /*Set whether or not this is default, at creation set to 0*/
1189     [preset setObject:[NSNumber numberWithInt:1] forKey:@"Default"];
1190
1191     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1192     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1193
1194     /* Get the New Preset Description from the field in the AddPresetPanel */
1195     [preset setObject:@"HandBrake's normal, default settings." forKey:@"PresetDescription"];
1196
1197     /* File Format */
1198     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1199
1200     /* Chapter Markers*/
1201      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1202
1203     /* Codecs */
1204     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
1205
1206     /* Video encoder */
1207     [preset setObject:@"x264" forKey:@"VideoEncoder"];
1208
1209     /* x264 Option String */
1210     [preset setObject:@"ref=2:bframes=2:subme=5:me=umh" forKey:@"x264Option"];
1211
1212     /* Video quality */
1213     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1214     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1215     [preset setObject:@"1500" forKey:@"VideoAvgBitrate"];
1216     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1217
1218     /* Video framerate */
1219     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1220
1221     /* GrayScale */
1222     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1223
1224     /* 2 Pass Encoding */
1225     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1226     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1227
1228     /*Picture Settings*/
1229     /* Use Max Picture settings for whatever the dvd is.*/
1230     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1231     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1232     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1233     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1234     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1235     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1236
1237     /* Explicitly set the filters for built-in presets */
1238     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1239     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1240     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1241     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1242     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1243     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1244
1245     /* Set crop settings here */
1246     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1247     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1248     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1249     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1250     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1251
1252     /* Audio Sample Rate*/
1253     [preset setObject:@"48" forKey:@"AudioSampleRate"];
1254
1255     /* Audio Bitrate Rate*/
1256     [preset setObject:@"160" forKey:@"AudioBitRate"];
1257
1258     /* Subtitles*/
1259     [preset setObject:@"None" forKey:@"Subtitles"];
1260
1261     [preset autorelease];
1262     return preset;
1263 }
1264
1265 - (NSDictionary *)createPSPPreset
1266 {
1267     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1268
1269     /* Get the New Preset Name from the field in the AddPresetPanel */
1270     [preset setObject:@"PSP" forKey:@"PresetName"];
1271
1272     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1273     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1274
1275     /*Set whether or not this is default, at creation set to 0*/
1276     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1277
1278     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1279     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1280
1281     /* Get the New Preset Description from the field in the AddPresetPanel */
1282     [preset setObject:@"HandBrake's settings for the Sony PlayStation Portable." forKey:@"PresetDescription"];
1283
1284     /* File Format */
1285     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1286
1287     /* Chapter Markers*/
1288      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1289
1290     /* Codecs */
1291     [preset setObject:@"MPEG-4 Video / AAC Audio" forKey:@"FileCodecs"];
1292
1293     /* Video encoder */
1294     [preset setObject:@"FFmpeg" forKey:@"VideoEncoder"];
1295
1296     /* x264 Option String (We can use this to tweak the appleTV output)*/
1297     [preset setObject:@"" forKey:@"x264Option"];
1298
1299     /* Video quality */
1300     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1301     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1302     [preset setObject:@"1024" forKey:@"VideoAvgBitrate"];
1303     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1304
1305     /* Video framerate */
1306     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1307
1308     /* GrayScale */
1309     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1310
1311     /* 2 Pass Encoding */
1312     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1313
1314     /*Picture Settings*/
1315     /* Use dimensions of 368*208 for robust PSP compatibility */
1316     [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
1317     [preset setObject:@"368" forKey:@"PictureWidth"];
1318     [preset setObject:@"208" forKey:@"PictureHeight"];
1319     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1320     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1321
1322     /* Explicitly set the filters for built-in presets */
1323     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1324     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1325     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1326     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1327     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1328     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1329
1330     /* Set crop settings here */
1331     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1332     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1333     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1334     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1335     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1336     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1337
1338     /* Audio Sample Rate*/
1339     [preset setObject:@"48" forKey:@"AudioSampleRate"];
1340
1341     /* Audio Bitrate Rate*/
1342     [preset setObject:@"128" forKey:@"AudioBitRate"];
1343
1344     /* Subtitles*/
1345     [preset setObject:@"None" forKey:@"Subtitles"];
1346
1347     [preset autorelease];
1348     return preset;
1349 }
1350
1351 - (NSDictionary *)createPSThreePreset
1352 {
1353     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1354
1355     /* Get the New Preset Name from the field in the AddPresetPanel */
1356     [preset setObject:@"PS3" forKey:@"PresetName"];
1357
1358     /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
1359     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1360
1361     /*Set whether or not this is default, at creation set to 0*/
1362     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1363
1364     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1365     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1366
1367     /* Get the New Preset Description from the field in the AddPresetPanel */
1368     [preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
1369
1370     /* File Format */
1371     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1372
1373     /* Chapter Markers*/
1374      [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
1375
1376     /* Codecs */
1377     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
1378
1379     /* Video encoder */
1380     [preset setObject:@"x264" forKey:@"VideoEncoder"];
1381
1382     /* x264 Option String (We can use this to tweak the appleTV output)*/
1383     [preset setObject:@"level=41:subme=5:me=umh" forKey:@"x264Option"];
1384
1385     /* Video quality */
1386     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1387     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1388     [preset setObject:@"2500" forKey:@"VideoAvgBitrate"];
1389     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1390
1391     /* Video framerate */
1392     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1393
1394     /* GrayScale */
1395     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1396
1397     /* 2 Pass Encoding */
1398     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
1399
1400     /*Picture Settings*/
1401     /* Use Max Picture settings for whatever the dvd is.*/
1402     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1403     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1404     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1405     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1406     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1407
1408     /* Explicitly set the filters for built-in presets */
1409     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1410     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1411     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1412     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1413     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1414     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1415
1416     /* Set crop settings here */
1417     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1418     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1419     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1420     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1421     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1422
1423     /* Audio Sample Rate*/
1424     [preset setObject:@"48" forKey:@"AudioSampleRate"];
1425
1426     /* Audio Bitrate Rate*/
1427     [preset setObject:@"160" forKey:@"AudioBitRate"];
1428
1429     /* Subtitles*/
1430     [preset setObject:@"None" forKey:@"Subtitles"];
1431
1432     [preset autorelease];
1433     return preset;
1434 }
1435
1436 - (NSDictionary *)createQuickTimePreset
1437 {
1438     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1439
1440     /* Get the New Preset Name from the field in the AddPresetPanel */
1441     [preset setObject:@"QuickTime" forKey:@"PresetName"];
1442
1443     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1444     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1445
1446     /*Set whether or not this is default, at creation set to 0*/
1447     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1448
1449     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1450     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1451
1452     /* Get the New Preset Description from the field in the AddPresetPanel */
1453     [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"];
1454
1455     /* File Format */
1456     [preset setObject:@"MP4 file" forKey:@"FileFormat"];
1457
1458     /* Chapter Markers*/
1459      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1460
1461     /* Codecs */
1462     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
1463
1464     /* Video encoder */
1465     [preset setObject:@"x264" forKey:@"VideoEncoder"];
1466
1467     /* x264 Option String */
1468     [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"];
1469
1470     /* Video quality */
1471     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1472     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1473     [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
1474     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1475
1476     /* Video framerate */
1477     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1478
1479     /* GrayScale */
1480     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1481
1482     /* 2 Pass Encoding */
1483     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1484     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1485
1486     /*Picture Settings*/
1487     /* Use Max Picture settings for whatever the dvd is.*/
1488     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1489     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1490     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1491     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1492     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
1493     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
1494
1495     /* Explicitly set the filters for built-in presets */
1496     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1497     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
1498     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
1499     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1500     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1501     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1502
1503     /* Set crop settings here */
1504     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1505     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1506     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1507     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1508     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1509
1510     /* Audio Sample Rate*/
1511     [preset setObject:@"48" forKey:@"AudioSampleRate"];
1512
1513     /* Audio Bitrate Rate*/
1514     [preset setObject:@"160" forKey:@"AudioBitRate"];
1515
1516     /* Subtitles*/
1517     [preset setObject:@"None" forKey:@"Subtitles"];
1518
1519     [preset autorelease];
1520     return preset;
1521 }
1522
1523 - (NSDictionary *)createTelevisionPreset
1524 {
1525     NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
1526
1527     /* Get the New Preset Name from the field in the AddPresetPanel */
1528     [preset setObject:@"Television" forKey:@"PresetName"];
1529
1530     /*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
1531     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
1532
1533     /*Set whether or not this is default, at creation set to 0*/
1534     [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
1535
1536     /*Get the whether or not to apply pic settings in the AddPresetPanel*/
1537     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
1538
1539     /* Get the New Preset Description from the field in the AddPresetPanel */
1540     [preset setObject:@"HandBrake's settings for video from television." forKey:@"PresetDescription"];
1541
1542     /* File Format */
1543     [preset setObject:@"MKV file" forKey:@"FileFormat"];
1544
1545     /* Chapter Markers*/
1546      [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
1547
1548     /* Codecs */
1549     [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
1550
1551     /* Video encoder */
1552     [preset setObject:@"x264" forKey:@"VideoEncoder"];
1553
1554     /* x264 Option String */
1555     [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"];
1556
1557     /* Video quality */
1558     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
1559     [preset setObject:@"700" forKey:@"VideoTargetSize"];
1560     [preset setObject:@"1300" forKey:@"VideoAvgBitrate"];
1561     [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
1562
1563     /* Video framerate */
1564     [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
1565
1566     /* GrayScale */
1567     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
1568
1569     /* 2 Pass Encoding */
1570     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTwoPass"];
1571     [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoTurboTwoPass"];
1572
1573     /*Picture Settings*/
1574     /* Use Max Picture settings for whatever the dvd is.*/
1575     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
1576     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
1577     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
1578     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
1579     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
1580     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
1581
1582     [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
1583     [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"];
1584     [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDenoise"];
1585     [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
1586     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
1587     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
1588
1589     /* Set crop settings here */
1590     /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
1591     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
1592     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
1593     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
1594     [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
1595
1596     /* Audio Sample Rate*/
1597     [preset setObject:@"48" forKey:@"AudioSampleRate"];
1598
1599     /* Audio Bitrate Rate*/
1600     [preset setObject:@"160" forKey:@"AudioBitRate"];
1601
1602     /* Subtitles*/
1603     [preset setObject:@"None" forKey:@"Subtitles"];
1604
1605     [preset autorelease];
1606     return preset;
1607 }
1608
1609 @end