d3d11decoder: Promote rank to primary except for mpeg2
authorSeungha Yang <seungha@centricular.com>
Tue, 8 Feb 2022 18:27:41 +0000 (03:27 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 10 Feb 2022 17:16:18 +0000 (17:16 +0000)
Our D3D11/DXVA codecs implementation has been verified
during 1.18 and 1.20 development cycle and also via the Fluster
test framework. Similar to the case of nvdec and vtdec,
we can prefer hardware over software in most cases

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1672>

subprojects/gst-plugins-bad/sys/d3d11/plugin.cpp

index f5d5694..aaff1fe 100644 (file)
@@ -193,13 +193,15 @@ plugin_init (GstPlugin * plugin)
         gst_d3d11_device_get_video_device_handle (device)) {
       gboolean legacy = gst_d3d11_decoder_util_is_legacy_device (device);
 
-      gst_d3d11_h264_dec_register (plugin, device, GST_RANK_SECONDARY, legacy);
+      /* avdec_h264 has primary rank, make this higher than it */
+      gst_d3d11_h264_dec_register (plugin,
+          device, GST_RANK_PRIMARY + 1, legacy);
       if (!legacy) {
-        gst_d3d11_h265_dec_register (plugin, device, GST_RANK_SECONDARY);
-        gst_d3d11_vp9_dec_register (plugin, device, GST_RANK_SECONDARY);
-        gst_d3d11_vp8_dec_register (plugin, device, GST_RANK_SECONDARY);
+        gst_d3d11_h265_dec_register (plugin, device, GST_RANK_PRIMARY);
+        gst_d3d11_vp9_dec_register (plugin, device, GST_RANK_PRIMARY);
+        gst_d3d11_vp8_dec_register (plugin, device, GST_RANK_PRIMARY);
+        gst_d3d11_av1_dec_register (plugin, device, GST_RANK_PRIMARY);
         gst_d3d11_mpeg2_dec_register (plugin, device, GST_RANK_SECONDARY);
-        gst_d3d11_av1_dec_register (plugin, device, GST_RANK_SECONDARY);
       }
     }
 #endif