gstreamer/sys/d3d11
Seungha Yang 6c3311a39e d3d11: Refactor d3d11 memory and dxgi format usage
* Create staging texture only when the CPU access is requested.
Note that we should avoid the CPU access to d3d11 memory as mush as possible.
Incoming d3d11upload and d3d11download will take this GPU memory upload/download.

* Upload/Download texture memory from/to staging only if it needed, similar to
GstGL PBO implementation.

* Define more dxgi formats for future usage (e.g., color conversion, dxva2 decoder).
Because I420_* formats are not supported formats by dxgi, each plane should
be handled likewise GstGL separately, but NV12/P10 formats might be supported ones.
So we decide the number of d3d11memory per GstBuffer for video memory depending on
OS version and dxgi format. For instance, if NV12 is supported by OS,
only one d3d11memory with DXGI_FORMAT_NV12 texture can be allocated by this commit.
One use case of such texture is DXVA. In case DXVA decoder, it might need to produce decoded data
to one DXGI_FORMAT_NV12 instead of seperate Y and UV planes.
Such behavior will be controlled via configuration of GstD3D11BufferPool and
default configuration is separate resources per plane.
2019-12-05 02:29:18 +00:00
..
gstd3d11_fwd.h d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11bufferpool.c d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11bufferpool.h d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11device.c d3d11device: Store selected d3d feature level 2019-12-05 02:29:18 +00:00
gstd3d11device.h d3d11device: Store selected d3d feature level 2019-12-05 02:29:18 +00:00
gstd3d11format.c d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11format.h d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11memory.c d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11memory.h d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11utils.c d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11utils.h d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11videosink.c d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
gstd3d11videosink.h d3d11videosink: Take into account pixel aspect ratio 2019-08-15 16:55:37 +09:00
gstd3d11window.c d3d11: Rename native handle getter and context utils functions 2019-12-05 02:29:18 +00:00
gstd3d11window.h d3d11videosink: Don't try to post error message by d3d11window self 2019-10-04 21:15:15 +09:00
meson.build d3d11: Refactor d3d11 memory and dxgi format usage 2019-12-05 02:29:18 +00:00
plugin.c d3d11videosink: Add new Direct3D11 video render plugin 2019-07-08 08:31:47 +00:00