vaapivideobufferpool: don't shift by negative since it's undefined

The function g_bit_nth_lsf() may return -1 if the request bit position
is not avaible. Thus, this patch check if the return value is not -1
in order to continue.
This commit is contained in:
Víctor Manuel Jáquez Leal 2017-08-01 17:39:04 +02:00
parent 19444ce184
commit de0f8936f8

View file

@ -106,11 +106,14 @@ fill_video_alignment (GstVaapiVideoBufferPool * pool, GstVideoAlignment * align)
{
GstVideoInfo *const vip = &pool->priv->vmeta_vinfo;
guint i;
gint nth_bit;
gst_video_alignment_reset (align);
for (i = 0; i < GST_VIDEO_INFO_N_PLANES (vip); i++)
align->stride_align[i] =
(1U << g_bit_nth_lsf (GST_VIDEO_INFO_PLANE_STRIDE (vip, i), 0)) - 1;
for (i = 0; i < GST_VIDEO_INFO_N_PLANES (vip); i++) {
nth_bit = g_bit_nth_lsf (GST_VIDEO_INFO_PLANE_STRIDE (vip, i), 0);
if (nth_bit >= 0)
align->stride_align[i] = (1U << nth_bit) - 1;
}
}
static const gchar **