OSDN Git Service

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