summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--macosx/HBPresets.h2
-rw-r--r--macosx/HBPresets.m258
-rwxr-xr-xscripts/manicure.rb114
-rw-r--r--test/test.c45
4 files changed, 325 insertions, 94 deletions
diff --git a/macosx/HBPresets.h b/macosx/HBPresets.h
index 0ab2d3968..d40ce0e82 100644
--- a/macosx/HBPresets.h
+++ b/macosx/HBPresets.h
@@ -31,4 +31,6 @@
- (NSDictionary *)createBrokePreset;
- (NSDictionary *)createBlindPreset;
- (NSDictionary *)createCRFPreset;
+- (NSDictionary *)create360Preset;
+
@end
diff --git a/macosx/HBPresets.m b/macosx/HBPresets.m
index e4d8036dc..a0388a172 100644
--- a/macosx/HBPresets.m
+++ b/macosx/HBPresets.m
@@ -36,6 +36,8 @@
[UserPresets addObject:[self createBrokePreset]];
[UserPresets addObject:[self createBlindPreset]];
[UserPresets addObject:[self createCRFPreset]];
+ [UserPresets addObject:[self create360Preset]];
+
/* return the newly regenerated preset array back to Controller.mm */
return UserPresets;
}
@@ -68,7 +70,7 @@
/* Video encoder */
[preset setObject:@"x264 (h.264 iPod)" forKey:@"VideoEncoder"];
/* x264 Option String */
- [preset setObject:@"keyint=300:keyint-min=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"];
+ [preset setObject:@"bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
[preset setObject:@"700" forKey:@"VideoTargetSize"];
@@ -91,8 +93,16 @@
[preset setObject:[NSNumber numberWithInt:320] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -136,7 +146,7 @@
/* Video encoder */
[preset setObject:@"x264 (h.264 iPod)" forKey:@"VideoEncoder"];
/* x264 Option String */
- [preset setObject:@"keyint=300:keyint-min=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"];
+ [preset setObject:@"bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
[preset setObject:@"700" forKey:@"VideoTargetSize"];
@@ -158,8 +168,16 @@
[preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
@@ -192,7 +210,7 @@
/*Set whether or not this is default, at creation set to 0*/
[preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
/*Get the whether or not to apply pic settings in the AddPresetPanel*/
- [preset setObject:[NSNumber numberWithInt:2] forKey:@"UsesPictureSettings"];
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
/* Get the New Preset Description from the field in the AddPresetPanel */
[preset setObject:@"HandBrake's settings for the AppleTV. Provides a good balance between quality and file size, and optimizes performance." forKey:@"PresetDescription"];
/* File Format */
@@ -204,7 +222,7 @@
/* Video encoder */
[preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
/* x264 Option String (We can use this to tweak the appleTV output)*/
- [preset setObject:@"bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2:cabac=0" forKey:@"x264Option"];
+ [preset setObject:@"bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
[preset setObject:@"700" forKey:@"VideoTargetSize"];
@@ -231,8 +249,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -264,7 +290,7 @@
/*Set whether or not this is default, at creation set to 0*/
[preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
/*Get the whether or not to apply pic settings in the AddPresetPanel*/
- [preset setObject:[NSNumber numberWithInt:2] forKey:@"UsesPictureSettings"];
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
/* Get the New Preset Description from the field in the AddPresetPanel */
[preset setObject:@"HandBrake's settings for the Sony PlayStation 3." forKey:@"PresetDescription"];
/* File Format */
@@ -300,8 +326,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -368,8 +402,16 @@
[preset setObject:@"368" forKey:@"PictureWidth"];
[preset setObject:@"208" forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
@@ -438,8 +480,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -506,8 +556,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -551,7 +609,7 @@
/* Video encoder */
[preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
/* x264 Option String */
- [preset setObject:@"ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip" forKey:@"x264Option"];
+ [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"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
[preset setObject:@"700" forKey:@"VideoTargetSize"];
@@ -575,8 +633,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -644,8 +710,15 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -713,8 +786,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:3] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -782,8 +863,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -851,8 +940,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -918,8 +1015,16 @@
[preset setObject:[NSNumber numberWithInt:480] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureAutoCrop"];
@@ -988,8 +1093,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -1057,8 +1170,16 @@
[preset setObject:[NSNumber numberWithInt:640] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -1126,8 +1247,16 @@
[preset setObject:[NSNumber numberWithInt:512] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -1195,8 +1324,16 @@
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
- [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+
/* Set crop settings here */
/* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
[preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
@@ -1218,6 +1355,81 @@
}
+- (NSDictionary *)create360Preset
+{
+ NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
+ /* Get the New Preset Name from the field in the AddPresetPanel */
+ [preset setObject:@"Xbox 360" forKey:@"PresetName"];
+ /*Set whether or not this is a user preset where 0 is factory, 1 is user*/
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
+ /*Set whether or not this is default, at creation set to 0*/
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Default"];
+ /*Get the whether or not to apply pic settings in the AddPresetPanel*/
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
+ /* Get the New Preset Description from the field in the AddPresetPanel */
+ [preset setObject:@"HandBrake's settings for the Microsoft Xbox 360." forKey:@"PresetDescription"];
+ /* File Format */
+ [preset setObject:@"MP4 file" forKey:@"FileFormat"];
+ /* Chapter Markers*/
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"ChapterMarkers"];
+ /* Codecs */
+ [preset setObject:@"AVC/H.264 Video / AAC Audio" forKey:@"FileCodecs"];
+ /* Video encoder */
+ [preset setObject:@"x264 (h.264 Main)" forKey:@"VideoEncoder"];
+ /* x264 Option String (We can use this to tweak the appleTV output)*/
+ [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"];
+ /* Video quality */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
+ [preset setObject:@"700" forKey:@"VideoTargetSize"];
+ [preset setObject:@"2000" forKey:@"VideoAvgBitrate"];
+ [preset setObject:[NSNumber numberWithFloat:0.6471] forKey:@"VideoQualitySlider"];
+
+ /* Video framerate */
+ [preset setObject:@"Same as source" forKey:@"VideoFramerate"];
+ /* GrayScale */
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoGrayScale"];
+ /* 2 Pass Encoding */
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VideoTwoPass"];
+
+ /*Picture Settings*/
+ /* For PS3 we only want to retain UsesMaxPictureSettings
+ which depend on the source dvd picture settings, so we don't
+ record the current dvd's picture info since it will vary from
+ source to source*/
+ /* Use Max Picture settings for whatever the dvd is.*/
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesMaxPictureSettings"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureWidth"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureHeight"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureKeepRatio"];
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"PicturePAR"];
+
+ /* Explicitly set the filters for built-in presets */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureFilters"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeinterlace"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDenoise"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"VFR"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDeblock"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureDetelecine"];
+ /* Set crop settings here */
+ /* The Auto Crop Matrix in the Picture Window autodetects differences in crop settings */
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureTopCrop"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureBottomCrop"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureLeftCrop"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"PictureRightCrop"];
+
+ /*Audio*/
+ /* Audio Sample Rate*/
+ [preset setObject:@"48" forKey:@"AudioSampleRate"];
+ /* Audio Bitrate Rate*/
+ [preset setObject:@"160" forKey:@"AudioBitRate"];
+ /* Subtitles*/
+ [preset setObject:@"None" forKey:@"Subtitles"];
+
+
+ [preset autorelease];
+ return preset;
+
+}
@end
diff --git a/scripts/manicure.rb b/scripts/manicure.rb
index 9e6eb55e1..913022f1f 100755
--- a/scripts/manicure.rb
+++ b/scripts/manicure.rb
@@ -493,49 +493,49 @@ class PresetClass
def generateAPIcalls(hash) # Makes a C version of the preset ready for coding into the CLI
- commandString = "if (!strcmp(preset_name, \"" << hash["PresetName"] << "\"))\n{\n\t"
+ commandString = "if (!strcmp(preset_name, \"" << hash["PresetName"] << "\"))\n{\n "
#Filename suffix
case hash["FileFormat"]
when /MP4/
- commandString << "mux = " << "HB_MUX_MP4;\n\t"
+ commandString << "mux = " << "HB_MUX_MP4;\n "
when /AVI/
- commandString << "mux = " << "HB_MUX_AVI;\n\t"
+ commandString << "mux = " << "HB_MUX_AVI;\n "
when /OGM/
- commandString << "mux = " << "HB_MUX_OGM;\n\t"
+ commandString << "mux = " << "HB_MUX_OGM;\n "
when /MKV/
- commandString << "mux = " << "HB_MUX_MKV;\n\t"
+ commandString << "mux = " << "HB_MUX_MKV;\n "
end
#Video encoder
if hash["VideoEncoder"] != "FFmpeg"
commandString << "vcodec = "
if hash["VideoEncoder"] == "x264 (h.264 Main)"
- commandString << "HB_VCODEC_X264;\n\t"
+ commandString << "HB_VCODEC_X264;\n "
elsif hash["VideoEncoder"] == "x264 (h.264 iPod)"
- commandString << "HB_VCODEC_X264;\njob->h264_level = 30;\n\t"
+ commandString << "HB_VCODEC_X264;\njob->h264_level = 30;\n "
elsif hash["VideoEncoder"].to_s.downcase == "xvid"
- commandString << "HB_VCODEC_XVID;\n\t"
+ commandString << "HB_VCODEC_XVID;\n "
end
end
#VideoRateControl
case hash["VideoQualityType"].to_i
when 0
- commandString << "size = " << hash["VideoTargetSize"] << ";\n\t"
+ commandString << "size = " << hash["VideoTargetSize"] << ";\n "
when 1
- commandString << "job->vbitrate = " << hash["VideoAvgBitrate"] << ";\n\t"
+ commandString << "job->vbitrate = " << hash["VideoAvgBitrate"] << ";\n "
when 2
- commandString << "job->vquality = " << hash["VideoQualitySlider"] << ";\n\t"
- commandString << "job->crf = 1;\n\t"
+ commandString << "job->vquality = " << hash["VideoQualitySlider"] << ";\n "
+ commandString << "job->crf = 1;\n "
end
#FPS
if hash["VideoFramerate"] != "Same as source"
if hash["VideoFramerate"] == "23.976 (NTSC Film)"
- commandString << "job->vrate_base = " << "1126125;\n\t"
+ commandString << "job->vrate_base = " << "1126125;\n "
elsif hash["VideoFramerate"] == "29.97 (NTSC Video)"
- commandString << "job->vrate_base = " << "900900;\n\t"
+ commandString << "job->vrate_base = " << "900900;\n "
# Gotta add the rest of the framerates for completion's sake.
end
end
@@ -543,7 +543,7 @@ class PresetClass
# Only include samplerate and bitrate when not performing AC3 passthru
if (hash["FileCodecs"].include? "AC-3") == false
#Audio bitrate
- commandString << "job->abitrate = " << hash["AudioBitRate"] << ";\n\t"
+ commandString << "job->abitrate = " << hash["AudioBitRate"] << ";\n "
#Audio samplerate
commandString << "job->arate = "
@@ -559,50 +559,50 @@ class PresetClass
when /22.05/
commandString << "22050"
end
- commandString << ";\n\t"
+ commandString << ";\n "
end
#Audio encoder
commandString << "acodec = "
case hash["FileCodecs"]
when /AAC/
- commandString << "HB_ACODEC_FAAC;\n\t"
+ commandString << "HB_ACODEC_FAAC;\n "
when /AC-3/
- commandString << "HB_ACODEC_AC3;\n\t"
+ commandString << "HB_ACODEC_AC3;\n "
when /Vorbis/
- commandString << "HB_ACODEC_VORBIS;\n\t"
+ commandString << "HB_ACODEC_VORBIS;\n "
when /MP3/
- commandString << "HB_ACODEC_LAME;\n\t"
+ commandString << "HB_ACODEC_LAME;\n "
end
#Cropping
if !hash["PictureAutoCrop"].to_i
- commandString << "job->crop[0] = " << hash["PictureTopCrop"] << ";\n\t"
- commandString << "job->crop[1] = " << hash["PictureBottomCrop"] << ";\n\t"
- commandString << "job->crop[2] = " << hash["PictureLeftCrop"] << ";\n\t"
- commandString << "job->crop[4] - " << hash["PictureRightCrop"] << ";\n\t"
+ commandString << "job->crop[0] = " << hash["PictureTopCrop"] << ";\n "
+ commandString << "job->crop[1] = " << hash["PictureBottomCrop"] << ";\n "
+ commandString << "job->crop[2] = " << hash["PictureLeftCrop"] << ";\n "
+ commandString << "job->crop[4] - " << hash["PictureRightCrop"] << ";\n "
end
#Dimensions
if hash["PictureWidth"].to_i != 0
commandString << "job->width = "
- commandString << hash["PictureWidth"] << ";\n\t"
+ commandString << hash["PictureWidth"] << ";\n "
end
if hash["PictureHeight"].to_i != 0
commandString << "job->height = "
- commandString << hash["PictureHeight"] << ";\n\t"
+ commandString << hash["PictureHeight"] << ";\n "
end
#Subtitles
if hash["Subtitles"] != "None"
commandString << "job->subtitle = "
- commandString << ( hash["Subtitles"].to_i - 1).to_s << ";\n\t"
+ commandString << ( hash["Subtitles"].to_i - 1).to_s << ";\n "
end
#x264 Options
if hash["x264Option"] != ""
commandString << "x264opts = strdup(\""
- commandString << hash["x264Option"] << "\");\n\t"
+ commandString << hash["x264Option"] << "\");\n "
end
#Video Filters
@@ -610,41 +610,41 @@ class PresetClass
case hash["PictureDeinterlace"].to_i
when 1
- commandString << "deinterlace = 1;\n\t"
- commandString << "deinterlace_opt = \"-1\";\n\t"
+ commandString << "deinterlace = 1;\n "
+ commandString << "deinterlace_opt = \"-1\";\n "
when 2
- commandString << "deinterlace = 1;\n\t"
- commandString << "deinterlace_opt = \"0\";\n\t"
+ commandString << "deinterlace = 1;\n "
+ commandString << "deinterlace_opt = \"0\";\n "
when 3
- commandString << "deinterlace = 1;\n\t"
- commandString << "deinterlace_opt = \"2:-1:1\";\n\t"
+ commandString << "deinterlace = 1;\n "
+ commandString << "deinterlace_opt = \"2:-1:1\";\n "
when 4
- commandString << "deinterlace = 1;\n\t"
- commandString << "deinterlace_opt = \"1:-1:1\";\n\t"
+ commandString << "deinterlace = 1;\n "
+ commandString << "deinterlace_opt = \"1:-1:1\";\n "
end
case hash["PictureDenoise"].to_i
when 1
- commandString << "denoise = 1;\n\t"
- commandString << "denoise_opt = \"2:1:2:3\";\n\t"
+ commandString << "denoise = 1;\n "
+ commandString << "denoise_opt = \"2:1:2:3\";\n "
when 2
- commandString << "denoise = 1;\n\t"
- commandString << "denoise_opt = \"3:2:2:3\";\n\t"
+ commandString << "denoise = 1;\n "
+ commandString << "denoise_opt = \"3:2:2:3\";\n "
when 3
- commandString << "denoise = 1;\n\t"
- commandString << "denoise_opt = \"7:7:5:5\";\n\t"
+ commandString << "denoise = 1;\n "
+ commandString << "denoise_opt = \"7:7:5:5\";\n "
end
- if hash["PictureDetelecine"].to_i == 1 then commandString << "detelecine = 1;\n\t" end
- if hash["PictureDeblock"].to_i == 1 then commandString << "deblock = 1;\n\t" end
- if hash["VFR"].to_i == 1 then commandString << "vfr = 1;\n\t" end
+ if hash["PictureDetelecine"].to_i == 1 then commandString << "detelecine = 1;\n " end
+ if hash["PictureDeblock"].to_i == 1 then commandString << "deblock = 1;\n " end
+ if hash["VFR"].to_i == 1 then commandString << "vfr = 1;\n " end
end
#Booleans
- if hash["ChapterMarkers"].to_i == 1 then commandString << "job->chapter_markers = 1;\n\t" end
- if hash["PicturePAR"].to_i == 1 then commandString << "pixelratio = 1;\n\t" end
- if hash["VideoGrayScale"].to_i == 1 then commandString << "job->grayscale = 1;\n\t" end
- if hash["VideoTwoPass"].to_i == 1 then commandString << "twoPass = 1;\n\t" end
+ if hash["ChapterMarkers"].to_i == 1 then commandString << "job->chapter_markers = 1;\n " end
+ if hash["PicturePAR"].to_i == 1 then commandString << "pixelratio = 1;\n " end
+ if hash["VideoGrayScale"].to_i == 1 then commandString << "job->grayscale = 1;\n " end
+ if hash["VideoTwoPass"].to_i == 1 then commandString << "twoPass = 1;\n " end
if hash["VideoTurboTwoPass"].to_i == 1 then commandString << "turbo_opts_enabled = 1;\n" end
commandString << "}"
@@ -657,7 +657,7 @@ class PresetClass
def generateAPIList(hash) # Makes a list of the CLI options a built-in CLI preset uses, for wrappers to parse
commandString = ""
- commandString << "printf(\"\\n+ " << hash["PresetName"] << ": "
+ commandString << " printf(\"\\n+ " << hash["PresetName"] << ": "
#Video encoder
if hash["VideoEncoder"] != "FFmpeg"
@@ -759,22 +759,22 @@ class PresetClass
case hash["PictureDeinterlace"].to_i
when 1
- commandString << " --deinterlace=\"fast\""
+ commandString << " --deinterlace=\\\"fast\\\""
when 2
- commandString << " --deinterlace=\slow\""
+ commandString << " --deinterlace=\\\slow\\\""
when 3
- commandString << " --deinterlace=\"slower\""
+ commandString << " --deinterlace=\\\"slower\\\""
when 4
- commandString << " --deinterlace=\"slowest\""
+ commandString << " --deinterlace=\\\"slowest\\\""
end
case hash["PictureDenoise"].to_i
when 1
- commandString << " --denoise=\"weak\""
+ commandString << " --denoise=\\\"weak\\\""
when 2
- commandString << " --denoise=\"medium\""
+ commandString << " --denoise=\\\"medium\\\""
when 3
- commandString << " --denoise=\"strong\""
+ commandString << " --denoise=\\\"strong\\\""
end
if hash["PictureDetelecine"].to_i == 1 then commandString << " --detelecine" end
diff --git a/test/test.c b/test/test.c
index d49d29df7..747d3a14d 100644
--- a/test/test.c
+++ b/test/test.c
@@ -413,8 +413,9 @@ static int HandleEvents( hb_handle_t * h )
job->arate = 48000;
acodec = HB_ACODEC_FAAC;
x264opts = strdup("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");
+ deinterlace = 1;
+ deinterlace_opt = "2:-1:1";
job->chapter_markers = 1;
- job->deinterlace = 1;
pixelratio = 1;
twoPass = 1;
turbo_opts_enabled = 1;
@@ -428,7 +429,7 @@ static int HandleEvents( hb_handle_t * h )
job->abitrate = 160;
job->arate = 48000;
acodec = HB_ACODEC_FAAC;
- x264opts = strdup("bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2:cabac=0");
+ x264opts = strdup("bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0");
job->chapter_markers = 1;
pixelratio = 1;
}
@@ -479,7 +480,7 @@ static int HandleEvents( hb_handle_t * h )
job->abitrate = 160;
job->arate = 48000;
acodec = HB_ACODEC_FAAC;
- }
+ }
if (!strcmp(preset_name, "Constant Quality Rate"))
{
@@ -512,7 +513,7 @@ static int HandleEvents( hb_handle_t * h )
vcodec = HB_VCODEC_X264;
job->vbitrate = 1800;
acodec = HB_ACODEC_AC3;
- x264opts = strdup("ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip");
+ x264opts = strdup("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");
job->chapter_markers = 1;
pixelratio = 1;
twoPass = 1;
@@ -543,7 +544,7 @@ static int HandleEvents( hb_handle_t * h )
job->arate = 48000;
acodec = HB_ACODEC_FAAC;
job->width = 640;
- x264opts = strdup("keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1");
+ x264opts = strdup("bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1");
job->chapter_markers = 1;
}
@@ -557,7 +558,7 @@ static int HandleEvents( hb_handle_t * h )
job->arate = 48000;
acodec = HB_ACODEC_FAAC;
job->width = 320;
- x264opts = strdup("keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1");
+ x264opts = strdup("bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1");
job->chapter_markers = 1;
}
@@ -624,11 +625,26 @@ static int HandleEvents( hb_handle_t * h )
job->arate = 48000;
acodec = HB_ACODEC_FAAC;
x264opts = strdup("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");
+ deinterlace = 1;
+ deinterlace_opt = "2:-1:1";
+ denoise = 1;
+ denoise_opt = "2:1:2:3";
job->chapter_markers = 1;
- job->deinterlace = 1;
twoPass = 1;
turbo_opts_enabled = 1;
}
+
+ if (!strcmp(preset_name, "Xbox 360"))
+ {
+ mux = HB_MUX_MP4;
+ vcodec = HB_VCODEC_X264;
+ job->vbitrate = 2000;
+ job->abitrate = 160;
+ job->arate = 48000;
+ acodec = HB_ACODEC_FAAC;
+ x264opts = strdup("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");
+ pixelratio = 1;
+ }
}
if ( chapter_markers )
@@ -1211,9 +1227,9 @@ static void ShowHelp()
****************************************************************************/
static void ShowPresets()
{
- printf("\n+ Animation: -e x264 -b 1000 -B 160 -R 48 -E faac -f mkv -m -d -p -2 -T -x 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\n");
+ printf("\n+ Animation: -e x264 -b 1000 -B 160 -R 48 -E faac -f mkv --deinterlace=\"slower\" -m -p -2 -T -x 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\n");
- printf("\n+ AppleTV: -e x264 -b 2500 -B 160 -R 48 -E faac -f mp4 -m -p -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=2:cabac=0\n");
+ printf("\n+ AppleTV: -e x264 -b 2500 -B 160 -R 48 -E faac -f mp4 -m -p -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0\n");
printf("\n+ Bedlam: -e x264 -b 1800 -E ac3 -f mkv -m -p -2 -T -x 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\n");
@@ -1227,13 +1243,13 @@ static void ShowPresets()
printf("\n+ Deux Six Quatre: -e x264 -b 1600 -E ac3 -f mkv -m -p -2 -T -x ref=5:mixed-refs:bframes=3:bime:weightb:b-rdo:b-pyramid:me=umh:subme=7:trellis=1:analyse=all:8x8dct:no-fast-pskip\n");
- printf("\n+ Film: -e x264 -b 1800 -E ac3 -f mkv -m -p -2 -T -x ref=3:mixed-refs:bframes=16:bime:weightb:b-rdo:direct=auto:b-pyramid:me=umh:subme=6:analyse=all:8x8dct:trellis=1:no-fast-pskip\n");
+ printf("\n+ Film: -e x264 -b 1800 -E ac3 -f mkv -m -p -2 -T -x 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\n");
printf("\n+ iPhone / iPod Touch: -e x264b30 -b 960 -B 128 -R 48 -E faac -f mp4 -w 480 -m -x cabac=0:ref=1:analyse=all:me=umh:subme=6:no-fast-pskip=1:trellis=1\n");
- printf("\n+ iPod High-Rez: -e x264b30 -b 1500 -B 160 -R 48 -E faac -f mp4 -w 640 -m -x keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n");
+ printf("\n+ iPod High-Rez: -e x264b30 -b 1500 -B 160 -R 48 -E faac -f mp4 -w 640 -m -x bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n");
- printf("\n+ iPod Low-Rez: -e x264b30 -b 700 -B 160 -R 48 -E faac -f mp4 -w 320 -m -x keyint=300:keyint-min=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n");
+ printf("\n+ iPod Low-Rez: -e x264b30 -b 700 -B 160 -R 48 -E faac -f mp4 -w 320 -m -x bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:subme=6:no-fast-pskip=1\n");
printf("\n+ Normal: -e x264 -b 1500 -B 160 -R 48 -E faac -f mp4 -m -p -2 -T -x ref=2:bframes=2:subme=5:me=umh\n");
@@ -1243,8 +1259,9 @@ static void ShowPresets()
printf("\n+ QuickTime: -e x264 -b 2000 -B 160 -R 48 -E faac -f mp4 -m -p -2 -T -x ref=3:mixed-refs:bframes=3:bime:weightb:b-rdo:direct=auto:me=umh:subme=5:analyse=all:trellis=1:no-fast-pskip\n");
- printf("\n+ Television: -e x264 -b 1300 -B 160 -R 48 -E faac -f mkv -m -d -2 -T -x 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\n");
-
+ printf("\n+ Television: -e x264 -b 1300 -B 160 -R 48 -E faac -f mkv --deinterlace=\"slower\" --denoise=\"weak\" -m -2 -T -x 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\n");
+
+ printf("\n+ Xbox 360: -e x264 -b 2000 -B 160 -R 48 -E faac -f mp4 -p -x 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\n");
}
/****************************************************************************