d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
authorSeungha Yang <seungha@centricular.com>
Sun, 17 Apr 2022 14:55:55 +0000 (23:55 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 18 Apr 2022 18:31:02 +0000 (18:31 +0000)
Our decoder implementation does not use downstream d3d11 pool for
decoding because of special requirement of D3D11/DXVA. So preallocation
using the downstream buffer pool will waste GPU memory in most cases.

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

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

index 3e0aae1..53fe381 100644 (file)
@@ -1709,6 +1709,10 @@ gst_d3d11_decoder_decide_allocation (GstD3D11Decoder * decoder,
     }
 
     GST_DEBUG_OBJECT (videodec, "Downstream min buffres: %d", min);
+
+    /* We will not use downstream pool for decoding, and therefore preallocation
+     * is unnecessary. So, Non-zero min buffer will be a waste of GPU memory */
+    min = 0;
   }
 
   gst_buffer_pool_set_config (pool, config);