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/7170>
This commit is contained in:
Robert Mader 2024-07-15 12:44:52 +02:00 committed by GStreamer Marge Bot
parent c7259f3a5b
commit 556e47580a

View file

@ -175,6 +175,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);