summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHe Junyan <junyan.he@hotmail.com>2019-05-10 18:29:10 +0800
committerTim-Philipp Müller <tim@centricular.com>2019-05-10 19:20:27 +0200
commit3a4d0bc1d5f3ac098ada0cb09da9c562d21384ab (patch)
treebaa6a9126e04e0d5a7a4fd15491c9f195d5d0ebc
parent66992c38fc838b62a100dd4ceb5f1a29f0c61e90 (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.c6
-rw-r--r--gst-libs/gst/vaapi/gstvaapiencoder_h265.c8
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);