summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>2016-08-04 14:10:11 +0300
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>2016-08-04 14:14:05 +0300
commitef0fc06c87357f613cbee705f81e46d8af7c9f48 (patch)
treeea951822673cac59a2efdc1b8ee2562cf9b8fe04
parentd14f74ddd9f3f304c1015b99074f68d29b09b999 (diff)
encoder: h264: Enable direct_spatial_mv_pred_flag for SVC b-framessvc-enc
Enable direct_spatial_mv_pred_flag for all B-frames in SVC mode which is mandatory for scalable-high profile http://bugzilla.gnome.org/show_bug.cgi?id=725536
-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)