From d6f766d10f2b7162bdcf45294a83260075261a3f Mon Sep 17 00:00:00 2001 From: Robert Swain Date: Wed, 21 Jul 2010 15:59:12 +0200 Subject: [PATCH] x264enc: Use new libx264 API to affect fast first pass Uses new x264 API to apply reduced complexity values to the parameters to increase encoding speed in the first pass of a multi-pass encode. This does not impact on final quality. Addresses part of bug #607798 --- ext/x264/gstx264enc.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c index e66249ed07..4174a662c6 100644 --- a/ext/x264/gstx264enc.c +++ b/ext/x264/gstx264enc.c @@ -852,16 +852,20 @@ gst_x264_enc_init_encoder (GstX264Enc * encoder) encoder->x264param.rc.b_stat_write = 0; break; case 1: - /* Turbo mode parameters. */ - encoder->x264param.i_frame_reference = (encoder->ref + 1) >> 1; - encoder->x264param.analyse.i_subpel_refine = - CLAMP (encoder->subme - 1, 1, 3); - encoder->x264param.analyse.inter &= ~X264_ANALYSE_PSUB8x8; - encoder->x264param.analyse.inter &= ~X264_ANALYSE_BSUB16x16; - encoder->x264param.analyse.i_trellis = 0; - encoder->x264param.rc.b_stat_read = 0; encoder->x264param.rc.b_stat_write = 1; +#ifdef X264_PRESETS + x264_param_apply_fastfirstpass (&encoder->x264param); +#else + encoder->x264param.i_frame_reference = 1; + encoder->x264param.analyse.b_transform_8x8 = 0; + encoder->x264param.analyse.inter = 0; + encoder->x264param.analyse.i_me_method = X264_ME_DIA; + encoder->x264param.analyse.i_subpel_refine = + MIN (2, encoder->x264param.analyse.i_subpel_refine); + encoder->x264param.analyse.i_trellis = 0; + encoder->x264param.analyse.b_fast_pskip = 1; +#endif /* X264_PRESETS */ break; case 2: encoder->x264param.rc.b_stat_read = 1;