libs: encoder: h264: submit sps in case of IDR picture

If the picture is IDR, also submit a SPS header.

This means when frame number reaches to keyframe-period or an force
key unit event arrives, we insert SPS/PPS again.

https://bugzilla.gnome.org/show_bug.cgi?id=776712
This commit is contained in:
Hyunjun Ko 2017-06-09 14:47:40 +09:00 committed by Víctor Manuel Jáquez Leal
parent 465d5868d9
commit 6ebf7b10ae

View file

@ -2175,8 +2175,11 @@ ensure_sequence (GstVaapiEncoderH264 * encoder, GstVaapiEncPicture * picture)
goto error_create_packed_au_delimiter;
}
/* submit an SPS header before every new I-frame, if codec config changed */
if (!encoder->config_changed || picture->type != GST_VAAPI_PICTURE_TYPE_I)
/* submit an SPS header before every new I-frame, if codec config changed
* or if the picture is IDR.
*/
if ((!encoder->config_changed || picture->type != GST_VAAPI_PICTURE_TYPE_I)
&& !GST_VAAPI_ENC_PICTURE_IS_IDR (picture))
return TRUE;
sequence = GST_VAAPI_ENC_SEQUENCE_NEW (H264, encoder);