summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--macosx/HBPresets.h3
-rw-r--r--macosx/HBPresets.m249
-rw-r--r--test/test.c145
3 files changed, 331 insertions, 66 deletions
diff --git a/macosx/HBPresets.h b/macosx/HBPresets.h
index e91041b66..59d2774ab 100644
--- a/macosx/HBPresets.h
+++ b/macosx/HBPresets.h
@@ -14,7 +14,6 @@
/* Built-In Preset Dictionaries (one for each built in preset) */
- (NSDictionary *)createApplePresetFolder;
-- (NSDictionary *)createAppleIpodFamilyPresetFolder;
- (NSDictionary *)createBasicPresetFolder;
- (NSDictionary *)createGamingConsolesPresetFolder;
- (NSDictionary *)createHiProfilePresetFolder;
@@ -22,11 +21,13 @@
- (NSDictionary *)create360Preset;
- (NSDictionary *)createAnimationPreset;
- (NSDictionary *)createAppleTVPreset;
+- (NSDictionary *)createAppleTVLegacuPreset;
- (NSDictionary *)createAppleUniversalPreset;
- (NSDictionary *)createClassicPreset;
- (NSDictionary *)createCRFPreset;
- (NSDictionary *)createFilmPreset;
- (NSDictionary *)createiPhonePreset;
+- (NSDictionary *)createiPhoneLegacyPreset;
- (NSDictionary *)createIpodHighPreset;
- (NSDictionary *)createIpodLowPreset;
- (NSDictionary *)createNormalPreset;
diff --git a/macosx/HBPresets.m b/macosx/HBPresets.m
index 83e84b29d..08054a3a3 100644
--- a/macosx/HBPresets.m
+++ b/macosx/HBPresets.m
@@ -60,9 +60,12 @@
NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
/* we actually call the methods for the nests here */
[childrenArray addObject:[self createAppleUniversalPreset]];
+ [childrenArray addObject:[self createIpodLowPreset]];
+ [childrenArray addObject:[self createiPhonePreset]];
[childrenArray addObject:[self createAppleTVPreset]];
- [childrenArray addObject:[self createAppleIpodFamilyPresetFolder]];
[childrenArray addObject:[self createQuickTimePreset]];
+ [childrenArray addObject:[self createLegacyPresetFolder]];
+
[preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
[childrenArray autorelease];
@@ -73,7 +76,7 @@
return preset;
}
-- (NSDictionary *)createAppleIpodFamilyPresetFolder
+- (NSDictionary *)createGamingConsolesPresetFolder
{
NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
/*Set whether or not this is a folder, 1 is bool for folder*/
@@ -81,7 +84,7 @@
/* Get the New Preset Name from the field in the AddPresetPanel */
- [preset setObject:@"iPod & iPhone" forKey:@"PresetName"];
+ [preset setObject:@"Gaming Consoles" 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"];
@@ -94,10 +97,9 @@
may contain folders and presets alike, etc.*/
NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
/* we actually call the methods for the nests here */
- [childrenArray addObject:[self createIpodLowPreset]];
- [childrenArray addObject:[self createiPhonePreset]];
- [childrenArray addObject:[self createIpodHighPreset]];
-
+ [childrenArray addObject:[self createPSPPreset]];
+ [childrenArray addObject:[self createPSThreePreset]];
+ [childrenArray addObject:[self create360Preset]];
[preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
[childrenArray autorelease];
@@ -108,7 +110,8 @@
return preset;
}
-- (NSDictionary *)createGamingConsolesPresetFolder
+
+- (NSDictionary *)createBasicPresetFolder
{
NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
/*Set whether or not this is a folder, 1 is bool for folder*/
@@ -116,7 +119,7 @@
/* Get the New Preset Name from the field in the AddPresetPanel */
- [preset setObject:@"Gaming Consoles" forKey:@"PresetName"];
+ [preset setObject:@"Basic" 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"];
@@ -129,9 +132,8 @@
may contain folders and presets alike, etc.*/
NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
/* we actually call the methods for the nests here */
- [childrenArray addObject:[self createPSPPreset]];
- [childrenArray addObject:[self createPSThreePreset]];
- [childrenArray addObject:[self create360Preset]];
+ [childrenArray addObject:[self createNormalPreset]];
+ [childrenArray addObject:[self createClassicPreset]];
[preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
[childrenArray autorelease];
@@ -142,8 +144,7 @@
return preset;
}
-
-- (NSDictionary *)createBasicPresetFolder
+- (NSDictionary *)createHiProfilePresetFolder
{
NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
/*Set whether or not this is a folder, 1 is bool for folder*/
@@ -151,7 +152,7 @@
/* Get the New Preset Name from the field in the AddPresetPanel */
- [preset setObject:@"Basic" forKey:@"PresetName"];
+ [preset setObject:@"High Profile" 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"];
@@ -164,19 +165,18 @@
may contain folders and presets alike, etc.*/
NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
/* we actually call the methods for the nests here */
- [childrenArray addObject:[self createNormalPreset]];
- [childrenArray addObject:[self createClassicPreset]];
+ [childrenArray addObject:[self createAnimationPreset]];
+ [childrenArray addObject:[self createCRFPreset]];
+ [childrenArray addObject:[self createFilmPreset]];
+ [childrenArray addObject:[self createTelevisionPreset]];
[preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
[childrenArray autorelease];
-
-
-
[preset autorelease];
return preset;
}
-- (NSDictionary *)createHiProfilePresetFolder
+- (NSDictionary *)createLegacyPresetFolder
{
NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
/*Set whether or not this is a folder, 1 is bool for folder*/
@@ -184,7 +184,7 @@
/* Get the New Preset Name from the field in the AddPresetPanel */
- [preset setObject:@"High Profile" forKey:@"PresetName"];
+ [preset setObject:@"Legacy" 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"];
@@ -197,13 +197,15 @@
may contain folders and presets alike, etc.*/
NSMutableArray *childrenArray = [[NSMutableArray alloc] init];
/* we actually call the methods for the nests here */
- [childrenArray addObject:[self createAnimationPreset]];
- [childrenArray addObject:[self createCRFPreset]];
- [childrenArray addObject:[self createFilmPreset]];
- [childrenArray addObject:[self createTelevisionPreset]];
+ [childrenArray addObject:[self createAppleTVLegacyPreset]];
+ [childrenArray addObject:[self createiPhoneLegacyPreset]];
+ [childrenArray addObject:[self createIpodHighPreset]];
[preset setObject:[NSMutableArray arrayWithArray: childrenArray] forKey:@"ChildrenArray"];
[childrenArray autorelease];
+
+
+
[preset autorelease];
return preset;
}
@@ -427,7 +429,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
/* x264 Option String (We can use this to tweak the appleTV output)*/
- [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=9:analyse=all" forKey:@"x264Option"];
+ [preset setObject:@"level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=7:analyse=all" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
@@ -497,6 +499,107 @@
return preset;
}
+- (NSDictionary *)createAppleTVLegacyPreset
+{
+ NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
+
+ /* Get the New Preset Name from the field in the AddPresetPanel */
+ [preset setObject:@"AppleTV Legacy" 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 deprecated settings for the AppleTV, including Dolby Digital 5.1 AC3 sound. Provides a good balance between quality and file size, and optimizes performance. This is the AppleTV preset from HandBrake 0.9.2, and while it is offered as a service to legacy users, it is no longer supported." forKey:@"PresetDescription"];
+
+ /* File Format */
+ [preset setObject:@"MP4 file" forKey:@"FileFormat"];
+
+ /* 64-bit MP4 file */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4LargeFile"];
+
+ /* Chapter Markers*/
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
+
+ /* Video encoder */
+ [preset setObject:@"H.264 (x264)" 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=1:cabac=0" forKey:@"x264Option"];
+
+ /* Video quality */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
+ [preset setObject:@"700" forKey:@"VideoTargetSize"];
+ [preset setObject:@"2500" 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"];
+
+ /* Basic Picture Settings */
+ /* 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 - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
+ * not listed will be set to "None" and not encoded */
+
+ /* Track 1 */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
+ [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
+ [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
+ [preset setObject:@"48" forKey:@"Audio1Samplerate"];
+ [preset setObject:@"160" forKey:@"Audio1Bitrate"];
+ [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
+
+ /* Track 2 */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio2Track"];
+ [preset setObject:@"AC3 Passthru" forKey:@"Audio2Encoder"];
+ [preset setObject:@"AC3 Passthru" forKey:@"Audio2Mixdown"];
+ [preset setObject:@"Auto" forKey:@"Audio2Samplerate"];
+ /* Note: we ignore specified bitrate for AC3 Passthru in libhb and use
+ * the sources bitrate, however we need to initially set the value to something so
+ * the macgui doesnt barf, so 160 seems as good as anything */
+ [preset setObject:@"160" forKey:@"Audio2Bitrate"];
+ [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio2TrackDRCSlider"];
+
+ /* Subtitles*/
+ [preset setObject:@"None" forKey:@"Subtitles"];
+
+ [preset autorelease];
+ return preset;
+}
+
- (NSDictionary *)createAppleUniversalPreset
{
NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
@@ -899,6 +1002,94 @@
/* Video encoder */
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
+ /* x264 Option String */
+ [preset setObject:@"level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
+
+ /* Video quality */
+ [preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
+ [preset setObject:@"700" forKey:@"VideoTargetSize"];
+ [preset setObject:@"960" forKey:@"VideoAvgBitrate"];
+ [preset setObject:[NSNumber numberWithFloat:0.59] 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*/
+ /* Use a width of 480 for the iPhone*/
+ [preset setObject:[NSNumber numberWithInt:0] forKey:@"UsesMaxPictureSettings"];
+ [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:@"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"];
+ [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 - Is done on a track by track basis, ONLY specifiy the tracks we want set as any track
+ * not listed will be set to "None" and not encoded */
+
+ /* Track 1 */
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"Audio1Track"];
+ [preset setObject:@"AAC (faac)" forKey:@"Audio1Encoder"];
+ [preset setObject:@"Dolby Pro Logic II" forKey:@"Audio1Mixdown"];
+ [preset setObject:@"48" forKey:@"Audio1Samplerate"];
+ [preset setObject:@"128" forKey:@"Audio1Bitrate"];
+ [preset setObject:[NSNumber numberWithFloat:1.0] forKey:@"Audio1TrackDRCSlider"];
+
+ /* Subtitles*/
+ [preset setObject:@"None" forKey:@"Subtitles"];
+
+ [preset autorelease];
+ return preset;
+}
+
+- (NSDictionary *)createiPhoneLegacyPreset
+{
+ NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
+
+ /* Get the New Preset Name from the field in the AddPresetPanel */
+ [preset setObject:@"iPhone Legacy" forKey:@"PresetName"];
+
+ /*Set whether or not this is a user preset or factory 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 deprecated settings for the iPhone and iPod Touch. This is the iPhone preset from HandBrake 0.9.2, and while it is offered as a service to legacy users, it is no supported." forKey:@"PresetDescription"];
+
+ /* File Format */
+ [preset setObject:@"MP4 file" forKey:@"FileFormat"];
+
+ /* Chapter Markers*/
+ [preset setObject:[NSNumber numberWithInt:1] forKey:@"ChapterMarkers"];
+
+ /* Video encoder */
+ [preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
/* x264 Option String */
[preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1" forKey:@"x264Option"];
@@ -977,7 +1168,7 @@
[preset setObject:[NSNumber numberWithInt:1] forKey:@"UsesPictureSettings"];
/* Get the New Preset Description from the field in the AddPresetPanel */
- [preset setObject:@"HandBrake's high resolution settings for older 5 and 5.5G iPods. Good video quality, great for viewing on a TV using your iPod" forKey:@"PresetDescription"];
+ [preset setObject:@"HandBrake's high resolution settings for older 5 and 5.5G iPods. Good video quality, great for viewing on a TV using your iPod. This is the iPod High-Rez preset from 0.9.2." forKey:@"PresetDescription"];
/* File Format */
[preset setObject:@"MP4 file" forKey:@"FileFormat"];
@@ -1053,7 +1244,7 @@
NSMutableDictionary *preset = [[NSMutableDictionary alloc] init];
/* Get the New Preset Name from the field in the AddPresetPanel */
- [preset setObject:@"iPod Classic & iPod Nano" forKey:@"PresetName"];
+ [preset setObject:@"iPod" forKey:@"PresetName"];
/*Set whether or not this is a user preset or factory 0 is factory, 1 is user*/
[preset setObject:[NSNumber numberWithInt:0] forKey:@"Type"];
diff --git a/test/test.c b/test/test.c
index 419e39b07..59cf0eb0b 100644
--- a/test/test.c
+++ b/test/test.c
@@ -511,6 +511,74 @@ static int HandleEvents( hb_handle_t * h )
job->chapter_markers = 1;
}
+ if (!strcmp(preset_name, "iPod"))
+ {
+ mux = HB_MUX_MP4;
+ job->ipod_atom = 1;
+ vcodec = HB_VCODEC_X264;
+ job->vbitrate = 700;
+ if( !atracks )
+ {
+ atracks = strdup("1");
+ }
+ if( !abitrates )
+ {
+ abitrates = strdup("160");
+ }
+ if( !arates )
+ {
+ arates = strdup("48");
+ }
+ if( !acodecs )
+ {
+ acodecs = strdup("faac");
+ }
+ if( !mixdowns )
+ {
+ mixdowns = strdup("dpl2");
+ }
+ maxWidth = 320;
+ if( !x264opts )
+ {
+ x264opts = strdup("level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1");
+ }
+ job->chapter_markers = 1;
+ }
+
+ if (!strcmp(preset_name, "iPhone & iPod Touch"))
+ {
+ mux = HB_MUX_MP4;
+ vcodec = HB_VCODEC_X264;
+ job->vquality = 0.589999973773956;
+ job->crf = 1;
+ if( !atracks )
+ {
+ atracks = strdup("1");
+ }
+ if( !abitrates )
+ {
+ abitrates = strdup("128");
+ }
+ if( !arates )
+ {
+ arates = strdup("48");
+ }
+ if( !acodecs )
+ {
+ acodecs = strdup("faac");
+ }
+ if( !mixdowns )
+ {
+ mixdowns = strdup("dpl2");
+ }
+ maxWidth = 480;
+ if( !x264opts )
+ {
+ x264opts = strdup("level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1");
+ }
+ job->chapter_markers = 1;
+ }
+
if (!strcmp(preset_name, "AppleTV"))
{
mux = HB_MUX_MP4;
@@ -541,18 +609,17 @@ static int HandleEvents( hb_handle_t * h )
maxWidth = 960;
if( !x264opts )
{
- x264opts = strdup("level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=9:analyse=all");
+ x264opts = strdup("level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=7:analyse=all");
}
pixelratio = 2;
job->chapter_markers = 1;
}
- if (!strcmp(preset_name, "iPod Classic & iPod Nano"))
+ if (!strcmp(preset_name, "QuickTime"))
{
mux = HB_MUX_MP4;
- job->ipod_atom = 1;
vcodec = HB_VCODEC_X264;
- job->vbitrate = 700;
+ job->vbitrate = 1800;
if( !atracks )
{
atracks = strdup("1");
@@ -563,7 +630,7 @@ static int HandleEvents( hb_handle_t * h )
}
if( !arates )
{
- arates = strdup("48");
+ arates = strdup("Auto");
}
if( !acodecs )
{
@@ -573,61 +640,63 @@ static int HandleEvents( hb_handle_t * h )
{
mixdowns = strdup("dpl2");
}
- maxWidth = 320;
if( !x264opts )
{
- x264opts = strdup("level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1");
+ x264opts = strdup("ref=3:mixed-refs:bframes=3:weightb:direct=auto:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip=1:psy-rd=1,1");
}
+ pixelratio = 1;
job->chapter_markers = 1;
+ twoPass = 1;
+ turbo_opts_enabled = 1;
}
- if (!strcmp(preset_name, "iPhone & iPod Touch"))
+ if (!strcmp(preset_name, "AppleTV Legacy"))
{
mux = HB_MUX_MP4;
- job->ipod_atom = 1;
+ job->largeFileSize = 1;
vcodec = HB_VCODEC_X264;
- job->vbitrate = 960;
+ job->vbitrate = 2500;
if( !atracks )
{
- atracks = strdup("1");
+ atracks = strdup("1,1");
}
if( !abitrates )
{
- abitrates = strdup("128");
+ abitrates = strdup("160,auto");
}
if( !arates )
{
- arates = strdup("48");
+ arates = strdup("48,Auto");
}
if( !acodecs )
{
- acodecs = strdup("faac");
+ acodecs = strdup("faac,ac3");
}
if( !mixdowns )
{
- mixdowns = strdup("dpl2");
+ mixdowns = strdup("dpl2,auto");
}
- maxWidth = 480;
if( !x264opts )
{
- x264opts = strdup("level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1");
+ x264opts = strdup("bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0");
}
+ pixelratio = 1;
job->chapter_markers = 1;
}
- if (!strcmp(preset_name, "iPod Legacy"))
+ if (!strcmp(preset_name, "iPhone Legacy"))
{
mux = HB_MUX_MP4;
job->ipod_atom = 1;
vcodec = HB_VCODEC_X264;
- job->vbitrate = 1500;
+ job->vbitrate = 960;
if( !atracks )
{
atracks = strdup("1");
}
if( !abitrates )
{
- abitrates = strdup("160");
+ abitrates = strdup("128");
}
if( !arates )
{
@@ -641,19 +710,20 @@ static int HandleEvents( hb_handle_t * h )
{
mixdowns = strdup("dpl2");
}
- maxWidth = 640;
+ maxWidth = 480;
if( !x264opts )
{
- x264opts = strdup("level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1");
+ x264opts = strdup("level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1");
}
job->chapter_markers = 1;
}
- if (!strcmp(preset_name, "QuickTime"))
+ if (!strcmp(preset_name, "iPod Legacy"))
{
mux = HB_MUX_MP4;
+ job->ipod_atom = 1;
vcodec = HB_VCODEC_X264;
- job->vbitrate = 1800;
+ job->vbitrate = 1500;
if( !atracks )
{
atracks = strdup("1");
@@ -664,7 +734,7 @@ static int HandleEvents( hb_handle_t * h )
}
if( !arates )
{
- arates = strdup("Auto");
+ arates = strdup("48");
}
if( !acodecs )
{
@@ -674,14 +744,12 @@ static int HandleEvents( hb_handle_t * h )
{
mixdowns = strdup("dpl2");
}
+ maxWidth = 640;
if( !x264opts )
{
- x264opts = strdup("ref=3:mixed-refs:bframes=3:weightb:direct=auto:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip=1:psy-rd=1,1");
+ x264opts = strdup("level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1");
}
- pixelratio = 1;
job->chapter_markers = 1;
- twoPass = 1;
- turbo_opts_enabled = 1;
}
if (!strcmp(preset_name, "Normal"))
@@ -983,7 +1051,7 @@ static int HandleEvents( hb_handle_t * h )
x264opts = strdup("level=40:ref=2:mixed-refs:bframes=3:weightb:subme=9:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1");
}
pixelratio = 1;
- }
+ }
}
if ( chapter_markers )
@@ -1948,20 +2016,24 @@ static void ShowPresets()
printf("\n + Universal: -e x264 -q 0.589999973773956 -a 1,1 -E faac,ac3 -B 160,auto -R 48,Auto -6 dpl2,auto -f mp4 -X 720 -P -m -x level=30:cabac=0:ref=3:mixed-refs=1:analyse=all:me=umh:no-fast-pskip=1\n");
- printf("\n + AppleTV: -e x264 -q 0.589999973773956 -a 1,1 -E faac,ac3 -B 160,auto -R 48,Auto -6 dpl2,auto -f mp4 -4 -X 960 -P -m -x level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=9:analyse=all\n");
+ printf("\n + iPod: -e x264 -b 700 -a 1 -E faac -B 160 -R 48 -6 dpl2 -f mp4 -I -X 320 -m -x level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1\n");
- printf("\n << iPod & iPhone\n");
+ printf("\n + iPhone & iPod Touch: -e x264 -q 0.589999973773956 -a 1 -E faac -B 128 -R 48 -6 dpl2 -f mp4 -X 480 -m -x level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1\n");
- printf("\n + iPod Classic & iPod Nano: -e x264 -b 700 -a 1 -E faac -B 160 -R 48 -6 dpl2 -f mp4 -I -X 320 -m -x level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1\n");
+ printf("\n + AppleTV: -e x264 -q 0.589999973773956 -a 1,1 -E faac,ac3 -B 160,auto -R 48,Auto -6 dpl2,auto -f mp4 -4 -X 960 -P -m -x level=30:cabac=0:ref=3:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=7:analyse=all\n");
- printf("\n + iPhone & iPod Touch: -e x264 -b 960 -a 1 -E faac -B 128 -R 48 -6 dpl2 -f mp4 -I -X 480 -m -x level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1\n");
+ printf("\n + QuickTime: -e x264 -b 1800 -a 1 -E faac -B 160 -R Auto -6 dpl2 -f mp4 -p -m -2 -T -x ref=3:mixed-refs:bframes=3:weightb:direct=auto:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip=1:psy-rd=1,1\n");
+
+ printf("\n << Legacy\n");
+
+ printf("\n + AppleTV Legacy: -e x264 -b 2500 -a 1,1 -E faac,ac3 -B 160,auto -R 48,Auto -6 dpl2,auto -f mp4 -4 -p -m -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:trellis=1:cabac=0\n");
+
+ printf("\n + iPhone Legacy: -e x264 -b 960 -a 1 -E faac -B 128 -R 48 -6 dpl2 -f mp4 -I -X 480 -m -x level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:trellis=1\n");
printf("\n + iPod Legacy: -e x264 -b 1500 -a 1 -E faac -B 160 -R 48 -6 dpl2 -f mp4 -I -X 640 -m -x level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1\n");
printf("\n >>\n");
- printf("\n + QuickTime: -e x264 -b 1800 -a 1 -E faac -B 160 -R Auto -6 dpl2 -f mp4 -p -m -2 -T -x ref=3:mixed-refs:bframes=3:weightb:direct=auto:me=umh:subme=7:analyse=all:8x8dct:trellis=1:no-fast-pskip=1:psy-rd=1,1\n");
-
printf("\n>\n");
printf("\n< Basic\n");
@@ -1993,6 +2065,7 @@ static void ShowPresets()
printf("\n + Xbox 360: -e x264 -b 2000 -a 1 -E faac -B 160 -R 48 -6 dpl2 -f mp4 -p -x level=40:ref=2:mixed-refs:bframes=3:weightb:subme=9:direct=auto:b-pyramid:me=umh:analyse=all:no-fast-pskip:filter=-2,-1\n");
printf("\n>\n");
+
}
/****************************************************************************