summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbrjake <[email protected]>2009-08-01 14:09:02 +0000
committerjbrjake <[email protected]>2009-08-01 14:09:02 +0000
commitd55b8f438a3607993492e718a6cf2e7f255bb453 (patch)
treeffe3ef26a1a2fbe6610d3a85f17c1edb774d530b
parentc0642a767ce8fab4e4f4aaba19d72eee2220daf5 (diff)
- Bumps x264 to r1195-5d75a9b. x264 has new default settings: subme 6->7, bframes 0->3, 8x8dct 0->1, psnr 1->0, ssim 1->0, ref 1->3, mixed-refs 0->1, trellis 0->1, weightb 0->1
- Explicitly enables SSIM and PSNR metrics for all x264 encodes - MacGui: Updates Advanced tab for new x264 defaults - MacGui and CLI: Updates built-in presets to produce the same output given the new default x264 settings git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2742 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--contrib/x264/module.defs2
-rw-r--r--libhb/encx264.c6
-rw-r--r--macosx/HBAdvancedController.m40
-rw-r--r--macosx/HBPresets.m18
-rw-r--r--test/test.c36
5 files changed, 54 insertions, 48 deletions
diff --git a/contrib/x264/module.defs b/contrib/x264/module.defs
index 595992644..cc6e1aca6 100644
--- a/contrib/x264/module.defs
+++ b/contrib/x264/module.defs
@@ -1,7 +1,7 @@
$(eval $(call import.MODULE.defs,X264,x264,PTHREADW32))
$(eval $(call import.CONTRIB.defs,X264))
-X264.FETCH.url = http://download.m0k.org/handbrake/contrib/x264-r1173-f6d3166.tar.gz
+X264.FETCH.url = http://download.m0k.org/handbrake/contrib/x264-r1195-5d75a9b.tar.gz
X264.EXTRACT.tarbase = x264
X264.CONFIGURE.deps =
diff --git a/libhb/encx264.c b/libhb/encx264.c
index 94523d353..5e3fbc03c 100644
--- a/libhb/encx264.c
+++ b/libhb/encx264.c
@@ -86,7 +86,11 @@ int encx264Init( hb_work_object_t * w, hb_job_t * job )
hb_get_tempory_filename( job->h, pv->filename, "x264.log" );
x264_param_default( &param );
-
+
+ /* Enable metrics */
+ param.analyse.b_psnr = 1;
+ param.analyse.b_ssim = 1;
+
param.i_threads = ( hb_get_cpu_count() * 3 / 2 );
param.i_width = job->width;
param.i_height = job->height;
diff --git a/macosx/HBAdvancedController.m b/macosx/HBAdvancedController.m
index eabb09af4..7555ee5a4 100644
--- a/macosx/HBAdvancedController.m
+++ b/macosx/HBAdvancedController.m
@@ -109,19 +109,19 @@
/*B-Frames fX264optBframesPopUp*/
int i;
[fX264optBframesPopUp removeAllItems];
- [fX264optBframesPopUp addItemWithTitle:@"Default (0)"];
+ [fX264optBframesPopUp addItemWithTitle:@"Default (3)"];
for (i=0; i<17;i++)
{
[fX264optBframesPopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
}
toolTip =
- @"Sane values are 1-6. B-Frames are smaller than other frames, so they let you pack in more quality at the same bitrate. Use more of them with animated material: 9-16.";
+ @"Sane values are 1-6. B-Frames are smaller than other frames, so they let you pack in more quality at the same bitrate. Use more of them with animated material.";
[fX264optBframesPopUp setToolTip: toolTip];
[fX264optBframesLabel setToolTip: toolTip];
/*Reference Frames fX264optRefPopUp*/
[fX264optRefPopUp removeAllItems];
- [fX264optRefPopUp addItemWithTitle:@"Default (1)"];
+ [fX264optRefPopUp addItemWithTitle:@"Default (3)"];
for (i=0; i<17;i++)
{
[fX264optRefPopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
@@ -147,19 +147,19 @@
/*Sub Me fX264optSubmePopUp*/
[fX264optSubmePopUp removeAllItems];
- [fX264optSubmePopUp addItemWithTitle:@"Default (6)"];
+ [fX264optSubmePopUp addItemWithTitle:@"Default (7)"];
for (i=0; i<10;i++)
{
[fX264optSubmePopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
}
toolTip =
- @"This setting is finer-grained than the motion estimation settings above. Instead of dealing with whole pixels, it deals with 4 fractional pixels, or quarter pixels (qpel). Higher levels increase quality by further refining the motion prediction for these quarter pixels, but take longer to encode.\n\nThe default, 6, turns on a feature called rate distortion optimization, including psychovisual enhancements. 7 enables that rate distortion for B-frames. 8 refines those decisions for I and P frames, and 9 adds on refinement for B-frames as well.";
+ @"This setting is finer-grained than the motion estimation settings above. Instead of dealing with whole pixels, it deals with 4 fractional pixels, or quarter pixels (qpel). Higher levels increase quality by further refining the motion prediction for these quarter pixels, but take longer to encode.\n\nLevel 6, turns on a feature called rate distortion optimization, including psychovisual enhancements. 7, the default, enables that rate distortion for B-frames. 8 refines those decisions for I and P frames, and 9 adds on refinement for B-frames as well.";
[fX264optSubmePopUp setToolTip: toolTip];
[fX264optSubmeLabel setToolTip: toolTip];
/*Trellis fX264optTrellisPopUp*/
[fX264optTrellisPopUp removeAllItems];
- [fX264optTrellisPopUp addItemWithTitle:@"Default (0)"];
+ [fX264optTrellisPopUp addItemWithTitle:@"Default (1)"];
for (i=0; i<3;i++)
{
[fX264optTrellisPopUp addItemWithTitle:[NSString stringWithFormat:@"%d",i]];
@@ -171,7 +171,7 @@
[fX264optTrellisLabel setToolTip: toolTip];
/*Mixed-references fX264optMixedRefsSwitch BOOLEAN*/
- [fX264optMixedRefsSwitch setState:0];
+ [fX264optMixedRefsSwitch setState:1];
[fX264optMixedRefsSwitch setWantsLayer:YES];
toolTip =
@"With this on, different references can be used for different parts of each 16x16 pixel macroblock, increasing quality.";
@@ -204,10 +204,10 @@
[fX264optMERangeLabel setToolTip: toolTip];
/*Weighted B-Frame Prediction fX264optWeightBSwitch BOOLEAN*/
- [fX264optWeightBSwitch setState:0];
+ [fX264optWeightBSwitch setState:1];
[fX264optWeightBSwitch setWantsLayer:YES];
toolTip =
- @"Sometimes x264 will base a B-frame's motion compensation on frames both before and after. With weighted B-frames, the amount of influence each frame has is related to its distance from the frame being encoded, instead of both having equal influence.";
+ @"Sometimes x264 will base a B-frame's motion compensation on frames both before and after. With weighted B-frames, the amount of influence each frame has is related to its distance from the frame being encoded, instead of both having equal influence. The AppleTV can have issues with this.";
[fX264optWeightBSwitch setToolTip: toolTip];
[fX264optWeightBLabel setToolTip: toolTip];
@@ -277,7 +277,7 @@
[fX264optAnalyseLabel setToolTip: toolTip];
/* 8x8 DCT fX264op8x8dctSwitch */
- [fX264opt8x8dctSwitch setState:0];
+ [fX264opt8x8dctSwitch setState:1];
[fX264opt8x8dctSwitch setWantsLayer:YES];
toolTip =
@"Checking this box lets x264 break key frames down into 8x8 blocks of pixels for analysis. This is a high profile feature of H.264, which makes it less compatible. It should slightly decrease bitrate or improve quality. Turn it on whenever possible.";
@@ -483,7 +483,8 @@
if( sender == fX264optBframesPopUp || sender == nil || sender == fDisplayX264Options )
{
- if ( [fX264optBframesPopUp indexOfSelectedItem ] < 2)
+ if ( [fX264optBframesPopUp indexOfSelectedItem ] > 0 &&
+ [fX264optBframesPopUp indexOfSelectedItem ] < 2)
{
/* If the b-frame widget is at 0 or 1, the user has chosen
not to use b-frames at all. So disable the options
@@ -629,7 +630,8 @@
if( sender == fX264optRefPopUp || sender == nil || sender == fDisplayX264Options )
{
- if ( [fX264optRefPopUp indexOfSelectedItem] < 3)
+ if ( [fX264optRefPopUp indexOfSelectedItem] > 0 &&
+ [fX264optRefPopUp indexOfSelectedItem] < 3 )
{
if( [fX264optMixedRefsSwitch isHidden] == false )
{
@@ -714,7 +716,7 @@
[[fX264optPsyRDLabel animator] setHidden:NO];
}
- if( [fX264optTrellisPopUp indexOfSelectedItem] >= 2 && [fX264optCabacSwitch state] == true && [fX264optPsyTrellisSlider isHidden] == true )
+ if( ( [fX264optTrellisPopUp indexOfSelectedItem] == 0 || [fX264optTrellisPopUp indexOfSelectedItem] >= 2 ) && [fX264optCabacSwitch state] == true && [fX264optPsyTrellisSlider isHidden] == true )
{
[[fX264optPsyTrellisSlider animator] setHidden:NO];
[[fX264optPsyTrellisLabel animator] setHidden:NO];
@@ -724,7 +726,7 @@
if( sender == fX264optTrellisPopUp || sender == nil || sender == fDisplayX264Options )
{
- if( [fX264optTrellisPopUp indexOfSelectedItem] < 2 )
+ if( [fX264optTrellisPopUp indexOfSelectedItem] > 0 && [fX264optTrellisPopUp indexOfSelectedItem] < 2 )
{
if( [fX264optPsyTrellisSlider isHidden] == false )
{
@@ -1079,7 +1081,7 @@
}
}
- else if /*Boolean Switches*/ ([optName isEqualToString:@"mixed-refs"] || [optName isEqualToString:@"weightb"] || [optName isEqualToString:@"b-pyramid"] || [optName isEqualToString:@"no-fast-pskip"] || [optName isEqualToString:@"no-dct-decimate"] || [optName isEqualToString:@"8x8dct"] )
+ else if /*Boolean Switches*/ ( [optName isEqualToString:@"b-pyramid"] || [optName isEqualToString:@"no-fast-pskip"] || [optName isEqualToString:@"no-dct-decimate"] )
{
/* Here is where we take care of the boolean options that work overtly:
no-dct-decimate being on means no-dct-decimate=1, etc. Some options
@@ -1097,10 +1099,10 @@
}
}
- else if ([optName isEqualToString:@"cabac"])
+ else if ( [optName isEqualToString:@"8x8dct"] || [optName isEqualToString:@"weightb"] || [optName isEqualToString:@"mixed-refs"] || [optName isEqualToString:@"cabac"] )
{
- /* CABAC is odd, in that it defaults to being on. That means
- it only needs to be included in the string when turned off. */
+ /* These options default to being on. That means they
+ only need to be included in the string when turned off. */
if ([sender state] == 1)
{
/* It's true so don't include it. */
@@ -1108,7 +1110,7 @@
}
else
{
- /* Otherwise, include cabac=0 in the string to enable CAVLC. */
+ /* Otherwise, include cabac=0, etc, in the string. */
thisOpt = [NSString stringWithFormat:@"%@=%d",optName,0];
}
}
diff --git a/macosx/HBPresets.m b/macosx/HBPresets.m
index 56d643030..9092f4bd6 100644
--- a/macosx/HBPresets.m
+++ b/macosx/HBPresets.m
@@ -182,7 +182,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
/* x264 Option String (We can use this to tweak the appleTV output)*/
- [preset setObject:@"cabac=0:ref=2:mixed-refs=1:bframes=3:me=umh:subme=7:b-adapt=2:8x8dct=1" forKey:@"x264Option"];
+ [preset setObject:@"cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
@@ -293,7 +293,7 @@
[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:cabac=0" forKey:@"x264Option"];
+ [preset setObject:@"ref=1:subme=5:me=umh:no-fast-pskip=1:cabac=0:weightb=0:8x8dct=0:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
@@ -405,7 +405,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
/* x264 Option String (We can use this to tweak the appleTV output)*/
- [preset setObject:@"cabac=0:ref=2:mixed-refs=1:me=umh" forKey:@"x264Option"];
+ [preset setObject:@"cabac=0:ref=2:me=umh:bframes=0:8x8dct=0:trellis=0:subme=6" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
@@ -607,7 +607,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
/* x264 Option String */
- [preset setObject:@"ref=3:mixed-refs:bframes=3:weightb:b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:8x8dct" forKey:@"x264Option"];
+ [preset setObject:@"b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
@@ -716,7 +716,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
[preset setObject:[NSNumber numberWithInt:0] forKey:@"Mp4iPodCompatible"];
/* x264 Option String */
- [preset setObject:@"cabac=0:ref=2:mixed-refs:me=umh" forKey:@"x264Option"];
+ [preset setObject:@"cabac=0:ref=2:me=umh:bframes=0:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
@@ -810,7 +810,7 @@
[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:psy-rd=0,0" forKey:@"x264Option"];
+ [preset setObject:@"level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0:bframes=0:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
@@ -904,7 +904,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
/* x264 Option String */
- [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0" forKey:@"x264Option"];
+ [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
@@ -998,7 +998,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
[preset setObject:[NSNumber numberWithInt:1] forKey:@"Mp4iPodCompatible"];
/* x264 Option String */
- [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1" forKey:@"x264Option"];
+ [preset setObject:@"level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subme=6:8x8dct=0:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:1] forKey:@"VideoQualityType"];
@@ -1092,7 +1092,7 @@
[preset setObject:@"H.264 (x264)" forKey:@"VideoEncoder"];
/* x264 Option String */
- [preset setObject:@"ref=2:bframes=2:me=umh" forKey:@"x264Option"];
+ [preset setObject:@"ref=2:bframes=2:me=umh:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0" forKey:@"x264Option"];
/* Video quality */
[preset setObject:[NSNumber numberWithInt:2] forKey:@"VideoQualityType"];
diff --git a/test/test.c b/test/test.c
index 2fa82f706..2eed88669 100644
--- a/test/test.c
+++ b/test/test.c
@@ -619,7 +619,7 @@ static int HandleEvents( hb_handle_t * h )
maxWidth = 720;
if( !x264opts )
{
- x264opts = strdup("cabac=0:ref=2:mixed-refs=1:me=umh");
+ x264opts = strdup("cabac=0:ref=2:me=umh:bframes=0:8x8dct=0:trellis=0:subme=6");
}
anamorphic_mode = 2;
job->chapter_markers = 1;
@@ -661,7 +661,7 @@ static int HandleEvents( hb_handle_t * h )
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("level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subme=6:8x8dct=0:trellis=0");
}
job->chapter_markers = 1;
}
@@ -702,7 +702,7 @@ static int HandleEvents( hb_handle_t * h )
maxWidth = 480;
if( !x264opts )
{
- x264opts = strdup("cabac=0:ref=2:mixed-refs:me=umh");
+ x264opts = strdup("cabac=0:ref=2:me=umh:bframes=0:subme=6:8x8dct=0:trellis=0");
}
job->chapter_markers = 1;
}
@@ -744,7 +744,7 @@ static int HandleEvents( hb_handle_t * h )
maxWidth = 960;
if( !x264opts )
{
- x264opts = strdup("cabac=0:ref=2:mixed-refs=1:bframes=3:me=umh:subme=7:b-adapt=2:8x8dct=1");
+ x264opts = strdup("cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0");
}
anamorphic_mode = 2;
job->chapter_markers = 1;
@@ -785,7 +785,7 @@ static int HandleEvents( hb_handle_t * h )
}
if( !x264opts )
{
- x264opts = strdup("ref=2:bframes=2:me=umh");
+ x264opts = strdup("ref=2:bframes=2:me=umh:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0");
}
anamorphic_mode = 1;
job->chapter_markers = 1;
@@ -826,7 +826,7 @@ static int HandleEvents( hb_handle_t * h )
}
if( !x264opts )
{
- x264opts = strdup("ref=3:mixed-refs:bframes=3:weightb:b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:8x8dct");
+ x264opts = strdup("b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:trellis=0");
}
detelecine = 1;
decomb = 1;
@@ -902,7 +902,7 @@ static int HandleEvents( hb_handle_t * h )
}
if( !x264opts )
{
- x264opts = strdup("bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:cabac=0");
+ x264opts = strdup("ref=1:subme=5:me=umh:no-fast-pskip=1:cabac=0:weightb=0:8x8dct=0:trellis=0");
}
anamorphic_mode = 1;
job->chapter_markers = 1;
@@ -944,7 +944,7 @@ static int HandleEvents( hb_handle_t * h )
maxWidth = 480;
if( !x264opts )
{
- x264opts = strdup("level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0");
+ x264opts = strdup("level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0:bframes=0:subme=6:8x8dct=0:trellis=0");
}
job->chapter_markers = 1;
}
@@ -985,7 +985,7 @@ static int HandleEvents( hb_handle_t * h )
maxWidth = 640;
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:psy-rd=0,0");
+ x264opts = strdup("level=30:bframes=0:cabac=0:ref=1:vbv-maxrate=1500:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0:subme=6:8x8dct=0:trellis=0");
}
job->chapter_markers = 1;
}
@@ -2398,21 +2398,21 @@ static void ShowPresets()
{
printf("\n< Apple\n");
- printf("\n + Universal: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -X 720 --loose-anamorphic -m -x cabac=0:ref=2:mixed-refs=1:me=umh\n");
+ printf("\n + Universal: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -X 720 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:bframes=0:8x8dct=0:trellis=0:subme=6\n");
- printf("\n + iPod: -e x264 -b 700 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -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: -e x264 -b 700 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -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:subme=6:8x8dct=0:trellis=0\n");
- printf("\n + iPhone & iPod Touch: -e x264 -q 20.0 -a 1 -E faac -B 128 -6 dpl2 -R 48 -D 0.0 -f mp4 -X 480 -m -x cabac=0:ref=2:mixed-refs:me=umh\n");
+ printf("\n + iPhone & iPod Touch: -e x264 -q 20.0 -a 1 -E faac -B 128 -6 dpl2 -R 48 -D 0.0 -f mp4 -X 480 -m -x cabac=0:ref=2:me=umh:bframes=0:subme=6:8x8dct=0:trellis=0\n");
- printf("\n + AppleTV: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic -m -x cabac=0:ref=2:mixed-refs=1:bframes=3:me=umh:subme=7:b-adapt=2:8x8dct=1\n");
+ printf("\n + AppleTV: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:b-adapt=2:weightb=0:trellis=0\n");
printf("\n>\n");
printf("\n< Regular\n");
- printf("\n + Normal: -e x264 -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -f mp4 --strict-anamorphic -m -x ref=2:bframes=2:me=umh\n");
+ printf("\n + Normal: -e x264 -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -f mp4 --strict-anamorphic -m -x ref=2:bframes=2:me=umh:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0\n");
- printf("\n + High Profile: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 --detelecine --decomb --loose-anamorphic -m -x ref=3:mixed-refs:bframes=3:weightb:b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:8x8dct\n");
+ printf("\n + High Profile: -e x264 -q 20.0 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 --detelecine --decomb --loose-anamorphic -m -x b-pyramid:b-adapt=2:me=umh:subme=9:analyse=all:trellis=0\n");
printf("\n>\n");
@@ -2420,11 +2420,11 @@ static void ShowPresets()
printf("\n + Classic: -b 1000 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -f mp4\n");
- printf("\n + AppleTV Legacy: -e x264 -b 2500 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -4 --strict-anamorphic -m -x bframes=3:ref=1:subme=5:me=umh:no-fast-pskip=1:cabac=0\n");
+ printf("\n + AppleTV Legacy: -e x264 -b 2500 -a 1,1 -E faac,ac3 -B 160,160 -6 dpl2,auto -R 48,Auto -D 0.0,0.0 -f mp4 -4 --strict-anamorphic -m -x ref=1:subme=5:me=umh:no-fast-pskip=1:cabac=0:weightb=0:8x8dct=0:trellis=0\n");
- printf("\n + iPhone Legacy: -e x264 -b 960 -a 1 -E faac -B 128 -6 dpl2 -R 48 -D 0.0 -f mp4 -I -X 480 -m -x level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0\n");
+ printf("\n + iPhone Legacy: -e x264 -b 960 -a 1 -E faac -B 128 -6 dpl2 -R 48 -D 0.0 -f mp4 -I -X 480 -m -x level=30:cabac=0:ref=1:analyse=all:me=umh:no-fast-pskip=1:psy-rd=0,0:bframes=0:subme=6:8x8dct=0:trellis=0\n");
- printf("\n + iPod Legacy: -e x264 -b 1500 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -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:psy-rd=0,0\n");
+ printf("\n + iPod Legacy: -e x264 -b 1500 -a 1 -E faac -B 160 -6 dpl2 -R 48 -D 0.0 -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:psy-rd=0,0:subme=6:8x8dct=0:trellis=0\n");
printf("\n>\n");
}