summaryrefslogtreecommitdiff
path: root/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapiencoder_h264.c')
-rw-r--r--gst-libs/gst/vaapi/gstvaapiencoder_h264.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
index a9d0e8e4..63f3c2fe 100644
--- a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
+++ b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
@@ -2455,7 +2455,10 @@ add_slice_headers (GstVaapiEncoderH264 * encoder, GstVaapiEncPicture * picture,
sizeof (slice_param->delta_pic_order_cnt));
/* only works for B frames */
- slice_param->direct_spatial_mv_pred_flag = FALSE;
+ if (encoder->is_svc && (slice_param->slice_type == 1))
+ slice_param->direct_spatial_mv_pred_flag = TRUE;
+ else
+ slice_param->direct_spatial_mv_pred_flag = FALSE;
/* default equal to picture parameters */
slice_param->num_ref_idx_active_override_flag = FALSE;
if (picture->type != GST_VAAPI_PICTURE_TYPE_I && reflist_0_count > 0)