diff options
author | He Junyan <junyan.he@hotmail.com> | 2019-05-10 18:29:10 +0800 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2019-05-10 19:20:27 +0200 |
commit | 3a4d0bc1d5f3ac098ada0cb09da9c562d21384ab (patch) | |
tree | baa6a9126e04e0d5a7a4fd15491c9f195d5d0ebc | |
parent | 66992c38fc838b62a100dd4ceb5f1a29f0c61e90 (diff) |
libs: encoder: not call ensure_num_slices inside g_assert
g_assert will take no effect when glib's G_DISABLE_ASSERT macro is
defined. The function inside the g_assert will take no effect and
we will fail to set the correct slice number.
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/87
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder_h264.c | 6 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder_h265.c | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c index a4e65b00..3bfe17c9 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c @@ -2716,6 +2716,7 @@ reset_properties (GstVaapiEncoderH264 * encoder) { GstVaapiEncoder *const base_encoder = GST_VAAPI_ENCODER_CAST (encoder); guint mb_size, i; + gboolean ret; if (encoder->idr_period < base_encoder->keyframe_period) encoder->idr_period = base_encoder->keyframe_period; @@ -2725,8 +2726,9 @@ reset_properties (GstVaapiEncoderH264 * encoder) encoder->qp_i = encoder->init_qp; mb_size = encoder->mb_width * encoder->mb_height; - g_assert (gst_vaapi_encoder_ensure_num_slices (base_encoder, encoder->profile, - encoder->entrypoint, (mb_size + 1) / 2, &encoder->num_slices)); + ret = gst_vaapi_encoder_ensure_num_slices (base_encoder, encoder->profile, + encoder->entrypoint, (mb_size + 1) / 2, &encoder->num_slices); + g_assert (ret); if (encoder->num_bframes > (base_encoder->keyframe_period + 1) / 2) encoder->num_bframes = (base_encoder->keyframe_period + 1) / 2; diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c index 89c2828e..4e020991 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c @@ -2023,6 +2023,7 @@ reset_properties (GstVaapiEncoderH265 * encoder) GstVaapiH265ReorderPool *reorder_pool; GstVaapiH265RefPool *ref_pool; guint ctu_size; + gboolean ret; if (encoder->idr_period < base_encoder->keyframe_period) encoder->idr_period = base_encoder->keyframe_period; @@ -2032,9 +2033,10 @@ reset_properties (GstVaapiEncoderH265 * encoder) encoder->qp_i = encoder->init_qp; ctu_size = encoder->ctu_width * encoder->ctu_height; - g_assert (gst_vaapi_encoder_ensure_num_slices (base_encoder, encoder->profile, - GST_VAAPI_ENTRYPOINT_SLICE_ENCODE, (ctu_size + 1) / 2, - &encoder->num_slices)); + ret = gst_vaapi_encoder_ensure_num_slices (base_encoder, encoder->profile, + GST_VAAPI_ENTRYPOINT_SLICE_ENCODE, (ctu_size + 1) / 2, + &encoder->num_slices); + g_assert (ret); gst_vaapi_encoder_ensure_max_num_ref_frames (base_encoder, encoder->profile, GST_VAAPI_ENTRYPOINT_SLICE_ENCODE); |