video: convertframe: Add D3D11 specific conversion path
authorSeungha Yang <seungha@centricular.com>
Mon, 4 Jul 2022 20:14:01 +0000 (05:14 +0900)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 22 May 2023 15:27:35 +0000 (16:27 +0100)
commitf58f292f0517e7fb2d4994a51a992be7aba67bda
treea7b731081179000d9a0aaace4349e4786945f6f7
parentc7d48d294e2569e12f11a134373a2e0d155cbe5d
video: convertframe: Add D3D11 specific conversion path

Add d3d11 conversion path to make gst_video_convert_sample() work
for GstD3D11Memory.

Note that just adding "d3d11download" to the exisitng code is
suboptimal from GstD3D11 point of view because:
* d3d11convert element can support crop/colorspace-conversion/scale
  all at once while existing software pipeline needs intermediate steps
  for the conversion
* "Process everything on GPU then download it to CPU memory" would be likely
  faster than "download GPU memory to CPU then processing it on CPU"

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4689>
subprojects/gst-plugins-base/gst-libs/gst/video/convertframe.c