[vlc-devel] [PATCH 0/4] I420 shaders in Direct3D11
Steve Lhomme
robux4 at videolabs.io
Fri Feb 10 15:12:17 CET 2017
One of the drawback of using D3D11 so far was that it doesn't have native I420
support, which is what most software decoders output. These few patches solve
the issue by using 3 different surfaces per decoder picture, one for each I420
planes, with their own dimensions. The pixel shader then reassembles the RGB
colours from the YUV data.
On top of that, to avoid one copy from CPU to GPU, we decode directly to GPU
memory.
Steve Lhomme (4):
direct3d11: keep track of mapped surfaces
picture: split the plane definition from the picture creation
vout: win32: add a function to set the planes of a picture from the
raw values
direct3d11: support decoding I420 directly into GPU memory
include/vlc_picture.h | 14 ++
modules/video_chroma/d3d11_fmt.h | 1 +
modules/video_chroma/dxgi_fmt.c | 13 +-
modules/video_chroma/dxgi_fmt.h | 2 +-
modules/video_output/win32/common.c | 12 ++
modules/video_output/win32/common.h | 1 +
modules/video_output/win32/direct3d11.c | 337 +++++++++++++++++++++++++-------
src/libvlccore.sym | 1 +
src/misc/picture.c | 14 +-
9 files changed, 315 insertions(+), 80 deletions(-)
--
2.10.2
More information about the vlc-devel
mailing list