From 8bf8f1104d5725536243f44c0330144c3ba1a428 Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Thu, 27 Nov 2014 12:11:03 +0200 Subject: [PATCH] encoder: h264: Fix the period between I/P frames If the key-frame period is set as one, then ip_period shuld be zero https://bugzilla.gnome.org/show_bug.cgi?id=734992 --- gst-libs/gst/vaapi/gstvaapiencoder_h264.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c index 1997c45ac8..203177e9af 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c @@ -1639,6 +1639,8 @@ fill_sequence (GstVaapiEncoderH264 * encoder, GstVaapiEncSequence * sequence) seq_param->intra_period = GST_VAAPI_ENCODER_KEYFRAME_PERIOD (encoder); seq_param->intra_idr_period = GST_VAAPI_ENCODER_KEYFRAME_PERIOD (encoder); seq_param->ip_period = 1 + encoder->num_bframes; + seq_param->ip_period = seq_param->intra_period > 1 ? + (1 + encoder->num_bframes) : 0; seq_param->bits_per_second = encoder->bitrate_bits; seq_param->max_num_ref_frames = ref_pool->max_ref_frames;