guint decoder_state;
guint is_opened:1;
guint profile_changed:1;
+ guint size_changed:1;
};
/**
priv->height = 0;
priv->is_opened = FALSE;
priv->profile_changed = TRUE;
+ priv->size_changed = TRUE;
}
static gboolean
priv->profile = GST_VAAPI_PROFILE_JPEG_BASELINE;
priv->profile_changed = TRUE;
+ priv->size_changed = TRUE;
return TRUE;
}
priv->profile = profiles[i];
}
+ if (priv->size_changed) {
+ GST_DEBUG ("size changed");
+ priv->size_changed = FALSE;
+ reset_context = TRUE;
+ }
+
if (reset_context) {
GstVaapiContextInfo info;
GST_ERROR ("failed to parse image");
return GST_VAAPI_DECODER_STATUS_ERROR_BITSTREAM_PARSER;
}
+
+ if (priv->height != frame_hdr->height || priv->width != frame_hdr->width)
+ priv->size_changed = TRUE;
+
priv->height = frame_hdr->height;
priv->width = frame_hdr->width;