From a4df8f90310ddfb7997d19435ced80a3b4902e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= Date: Tue, 21 Sep 2010 19:33:10 -0400 Subject: [PATCH] x264enc: Set max bitrate in quality mode https://bugzilla.gnome.org/show_bug.cgi?id=621663 --- ext/x264/gstx264enc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c index c1424e3678..82b1696c6a 100644 --- a/ext/x264/gstx264enc.c +++ b/ext/x264/gstx264enc.c @@ -31,7 +31,7 @@ * of the encoding. This will similarly be the case if this target bitrate * is to obtained in multiple (2 or 3) pass encoding. * Alternatively, one may choose to perform Constant Quantizer or Quality encoding, - * in which case the #GstX264Enc:quantizer property controls much of the outcome. + * in which case the #GstX264Enc:quantizer property controls much of the outcome, in that case #GstX264Enc:bitrate is the maximum bitrate. * * The H264 profile that is eventually used depends on a few settings. * If #GstX264Enc:dct8x8 is enabled, then High profile is used. @@ -1131,6 +1131,10 @@ gst_x264_enc_init_encoder (GstX264Enc * encoder) case GST_X264_ENC_PASS_QUAL: encoder->x264param.rc.i_rc_method = X264_RC_CRF; encoder->x264param.rc.f_rf_constant = encoder->quantizer; + encoder->x264param.rc.i_vbv_max_bitrate = encoder->bitrate; + encoder->x264param.rc.i_vbv_buffer_size + = encoder->x264param.rc.i_vbv_max_bitrate + * encoder->vbv_buf_capacity / 1000; break; case GST_X264_ENC_PASS_CBR: case GST_X264_ENC_PASS_PASS1: