va: Blocklist i965 driver for encoding

The driver - AKA intel-vaapi-driver - has been unmaintained for four years
now and encoding appears to be broken in various cases. As it's unlikely
that the situation will improve, blocklist the driver for encoding.
Decoding appears to be stable enough to keep it enabled.

The driver can still be used by setting the `GST_VA_ALL_DRIVERS` env
variable.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7186>
This commit is contained in:
Robert Mader 2024-07-15 12:44:52 +02:00 committed by Backport Bot
parent 4780685745
commit f4da9a4fea

View file

@ -174,6 +174,13 @@ plugin_register_encoders (GstPlugin * plugin, GstVaDevice * device,
GHashTableIter iter; GHashTableIter iter;
gpointer key, value; gpointer key, value;
if (GST_VA_DISPLAY_IS_IMPLEMENTATION (device->display, INTEL_I965)
&& g_getenv ("GST_VA_ALL_DRIVERS") == NULL) {
gst_plugin_add_status_warning (plugin,
"The Intel i965 VA driver is blocklisted for encoding, use GST_VA_ALL_DRIVERS to overwrite.");
return;
}
g_hash_table_iter_init (&iter, encoders); g_hash_table_iter_init (&iter, encoders);
while (g_hash_table_iter_next (&iter, &key, &value)) { while (g_hash_table_iter_next (&iter, &key, &value)) {
guint32 codec = *((gint64 *) key); guint32 codec = *((gint64 *) key);