mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 03:29:50 +00:00
encoder: h264: generate new SPS only when codec config changed.
It is not necessary to periodically send SPS or subset SPS headers. This is up to the upper layer (e.g. transport layer) to decide on if/how to periodically submit those. For now, only generate new SPS or subset SPS headers when the codec config changed. Note: the upper layer could readily determine the config headers (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function. https://bugzilla.gnome.org/show_bug.cgi?id=732083 Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
This commit is contained in:
parent
0d971bce26
commit
95d7f95971
1 changed files with 5 additions and 2 deletions
|
@ -1941,8 +1941,8 @@ ensure_sequence (GstVaapiEncoderH264 * encoder, GstVaapiEncPicture * picture)
|
|||
{
|
||||
GstVaapiEncSequence *sequence = NULL;
|
||||
|
||||
// Submit an SPS header before every new I-frame
|
||||
if (picture->type != GST_VAAPI_PICTURE_TYPE_I)
|
||||
/* submit an SPS header before every new I-frame, if codec config changed */
|
||||
if (!encoder->config_changed || picture->type != GST_VAAPI_PICTURE_TYPE_I)
|
||||
return TRUE;
|
||||
|
||||
sequence = GST_VAAPI_ENC_SEQUENCE_NEW (H264, encoder);
|
||||
|
@ -1964,6 +1964,9 @@ ensure_sequence (GstVaapiEncoderH264 * encoder, GstVaapiEncPicture * picture)
|
|||
gst_vaapi_enc_picture_set_sequence (picture, sequence);
|
||||
gst_vaapi_codec_object_replace (&sequence, NULL);
|
||||
}
|
||||
|
||||
if (!encoder->is_mvc || encoder->view_idx > 0)
|
||||
encoder->config_changed = FALSE;
|
||||
return TRUE;
|
||||
|
||||
/* ERRORS */
|
||||
|
|
Loading…
Reference in a new issue