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;