d3d11videosink: Use ID3D11VideoProcessor interface
authorSeungha Yang <seungha.yang@navercorp.com>
Wed, 29 Jan 2020 12:10:00 +0000 (21:10 +0900)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 5 Feb 2020 00:52:48 +0000 (00:52 +0000)
commit7aad9187e4201f3099113809847cfd1917e4a927
treeed3fa8a8e2664b5abb35fd0738b6445a492fd25d
parent122a9b93ebfac73cede8815efb2c0acffd60b93c
d3d11videosink: Use ID3D11VideoProcessor interface

...for color space conversion if available

ID3D11VideoProcessor is equivalent to DXVA-HD video processor
which might use specialized blocks for video processing
instead of general GPU resource. In addition to that feature,
we need to use this API for color space conversion of DXVA2 decoder
output memory, because any d3d11 texture arrays that were
created with D3D11_BIND_DECODER cannot be used for shader resource.

This is prework for d3d11decoder zero-copy rendering and also
for conditional HDR tone-map support.
Note that some Intel platform is known to support tone-mapping
at the driver level using this API on Windows 10.
sys/d3d11/gstd3d11videosink.c
sys/d3d11/gstd3d11videosink.h
sys/d3d11/gstd3d11window.cpp
sys/d3d11/gstd3d11window.h