diff options
author | jbrjake <[email protected]> | 2007-12-08 21:43:00 +0000 |
---|---|---|
committer | jbrjake <[email protected]> | 2007-12-08 21:43:00 +0000 |
commit | 9c1b5ba05a2db718753399cc062aa59ee0be5add (patch) | |
tree | bd2600fad6cccb7d777eb3d3d048e414e606965e | |
parent | 2111b9f456626a91191f16de0ac122c847b9280a (diff) |
Adds a preset for the 360, accounts for filters in the presets, updates manicure.rb formatting, removes from the presets the keyint stuff that's now handled in encx264.c, and slightly tweaks the x264 options of a few presets. Also, Animation and Television now use slower deinterlacing, and the latter uses weak denoising as well. Not sure why the @tv preset used trellis=2, brought that down to 1.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1110 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | macosx/HBPresets.h | 2 | ||||
-rw-r--r-- | macosx/HBPresets.m | 258 | ||||
-rwxr-xr-x | scripts/manicure.rb | 114 | ||||
-rw-r--r-- | test/test.c | 45 |
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"); } /**************************************************************************** |