qsvencoder: Fix for latency report when B-frame is enabled

QSV runtime will introduce additional delay when B-frame is enabled

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2730>
This commit is contained in:
Seungha Yang 2022-07-08 18:53:01 +09:00 committed by GStreamer Marge Bot
parent 4f90e9b561
commit 02c2485468

View file

@ -1130,7 +1130,10 @@ gst_qsv_encoder_init_encode_session (GstQsvEncoder * self)
}
min_delay_frames = priv->task_pool->len;
max_delay_frames = priv->surface_pool->len + min_delay_frames;
/* takes the number of bframes into account */
if (param.mfx.GopRefDist > 1)
min_delay_frames += (param.mfx.GopRefDist - 1);
max_delay_frames = priv->surface_pool->len + priv->task_pool->len;
min_latency = gst_util_uint64_scale (min_delay_frames * GST_SECOND,
param.mfx.FrameInfo.FrameRateExtD, param.mfx.FrameInfo.FrameRateExtN);