diff options
Diffstat (limited to 'libhb')
-rw-r--r-- | libhb/common.h | 1 | ||||
-rw-r--r-- | libhb/encx264.c | 6 | ||||
-rw-r--r-- | libhb/work.c | 8 |
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( ¶m, job->h264_level, job->x264_profile ); } + /* Turbo first pass */ + if( job->pass == 1 && job->fastfirstpass == 1 ) + { + x264_param_apply_fastfirstpass( ¶m ); + } + /* 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)" ); + } } } |