summaryrefslogtreecommitdiffstats
path: root/libhb
diff options
context:
space:
mode:
authorRodeo <[email protected]>2012-03-28 23:09:08 +0000
committerRodeo <[email protected]>2012-03-28 23:09:08 +0000
commitcca9c898d2f57047ab2cdabee8c794ddf2775aa7 (patch)
tree00092d02ab4c0d905296f875c5f1f3865aa23ad9 /libhb
parenta9d238763d17fafb04f96deed93b798310303f7d (diff)
encx264: use x264_param_apply_fastfirstpass.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4551 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb')
-rw-r--r--libhb/common.h1
-rw-r--r--libhb/encx264.c6
-rw-r--r--libhb/work.c8
3 files changed, 15 insertions, 0 deletions
diff --git a/libhb/common.h b/libhb/common.h
index 1f9dfa97a..e8ca7e1fd 100644
--- a/libhb/common.h
+++ b/libhb/common.h
@@ -291,6 +291,7 @@ struct hb_job_s
int vrate_base;
int cfr;
int pass;
+ int fastfirstpass;
char *advanced_opts;
char *x264_profile;
char *x264_preset;
diff --git a/libhb/encx264.c b/libhb/encx264.c
index 7836b9add..f48aa499a 100644
--- a/libhb/encx264.c
+++ b/libhb/encx264.c
@@ -263,6 +263,12 @@ int encx264Init( hb_work_object_t * w, hb_job_t * job )
hb_apply_h264_level( &param, job->h264_level, job->x264_profile );
}
+ /* Turbo first pass */
+ if( job->pass == 1 && job->fastfirstpass == 1 )
+ {
+ x264_param_apply_fastfirstpass( &param );
+ }
+
/* B-frames are on by default.*/
job->areBframes = 1;
diff --git a/libhb/work.c b/libhb/work.c
index 7b84cd30b..96c3b9263 100644
--- a/libhb/work.c
+++ b/libhb/work.c
@@ -369,6 +369,14 @@ void hb_display_job_info( hb_job_t * job )
else
{
hb_log( " + bitrate: %d kbps, pass: %d", job->vbitrate, job->pass );
+ if( job->pass == 1 && job->fastfirstpass == 1 &&
+ job->vcodec == HB_VCODEC_X264 )
+ {
+ hb_log( " + fast first pass" );
+ hb_log( " + options: ref=1:8x8dct=0:me=dia:trellis=0" );
+ hb_log( " analyse=i4x4 (if originally enabled, else analyse=none)" );
+ hb_log( " subq=2 (if originally greater than 2, else subq unchanged)" );
+ }
}
}