vlc | branch: master | Steve Lhomme <[email protected]> | Fri Aug 3 08:03:11 2018 +0200| [24a7b990bed891f76bb1aeb1a0e6ce7c5fb43e66] | committer: Steve Lhomme
direct3d11: support RGBA64 playback This is the best option to display software RGB sources above 8 bits. Ref #19563 which wouldn't play on 4.0 otherwise > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=24a7b990bed891f76bb1aeb1a0e6ce7c5fb43e66 --- modules/video_chroma/dxgi_fmt.c | 1 + modules/video_output/win32/d3d11_quad.c | 1 + modules/video_output/win32/d3d11_shaders.c | 2 ++ 3 files changed, 4 insertions(+) diff --git a/modules/video_chroma/dxgi_fmt.c b/modules/video_chroma/dxgi_fmt.c index a6a6e2d485..2138cf6f4e 100644 --- a/modules/video_chroma/dxgi_fmt.c +++ b/modules/video_chroma/dxgi_fmt.c @@ -85,6 +85,7 @@ static const d3d_format_t d3d_formats[] = { { "R8G8B8A8", DXGI_FORMAT_R8G8B8A8_UNORM, VLC_CODEC_RGBA, 8, 1, 1, { DXGI_FORMAT_R8G8B8A8_UNORM } }, { "VA_RGBA", DXGI_FORMAT_R8G8B8A8_UNORM, VLC_CODEC_D3D11_OPAQUE_RGBA, 8, 1, 1, { DXGI_FORMAT_R8G8B8A8_UNORM } }, { "R8G8B8X8", DXGI_FORMAT_B8G8R8X8_UNORM, VLC_CODEC_RGB32, 8, 1, 1, { DXGI_FORMAT_B8G8R8X8_UNORM } }, + { "RGBA64", DXGI_FORMAT_R16G16B16A16_UNORM, VLC_CODEC_RGBA64, 16, 1, 1, { DXGI_FORMAT_R16G16B16A16_UNORM } }, { "RGB10A2", DXGI_FORMAT_R10G10B10A2_UNORM, VLC_CODEC_RGBA10, 10, 1, 1, { DXGI_FORMAT_R10G10B10A2_UNORM } }, { "VA_RGB10", DXGI_FORMAT_R10G10B10A2_UNORM, VLC_CODEC_D3D11_OPAQUE_RGBA, 10, 1, 1, { DXGI_FORMAT_R10G10B10A2_UNORM } }, { "AYUV", DXGI_FORMAT_AYUV, VLC_CODEC_VUYA, 8, 1, 1, { DXGI_FORMAT_R8G8B8A8_UNORM } }, diff --git a/modules/video_output/win32/d3d11_quad.c b/modules/video_output/win32/d3d11_quad.c index ca96883127..871dc5c644 100644 --- a/modules/video_output/win32/d3d11_quad.c +++ b/modules/video_output/win32/d3d11_quad.c @@ -865,6 +865,7 @@ void D3D11_UpdateViewport(d3d_quad_t *quad, const RECT *rect, const d3d_format_t case DXGI_FORMAT_B8G8R8X8_UNORM: case DXGI_FORMAT_B5G6R5_UNORM: case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R16G16B16A16_UNORM: if ( display->formatTexture == DXGI_FORMAT_NV12 || display->formatTexture == DXGI_FORMAT_P010 ) { diff --git a/modules/video_output/win32/d3d11_shaders.c b/modules/video_output/win32/d3d11_shaders.c index aba7bcabec..70ff73c933 100644 --- a/modules/video_output/win32/d3d11_shaders.c +++ b/modules/video_output/win32/d3d11_shaders.c @@ -303,6 +303,7 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg case DXGI_FORMAT_B8G8R8A8_UNORM: case DXGI_FORMAT_B8G8R8X8_UNORM: case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R16G16B16A16_UNORM: case DXGI_FORMAT_B5G6R5_UNORM: /* Y */ psz_sampler[0] = @@ -371,6 +372,7 @@ HRESULT D3D11_CompilePixelShader(vlc_object_t *o, d3d11_handle_t *hd3d, bool leg case DXGI_FORMAT_B8G8R8A8_UNORM: case DXGI_FORMAT_B8G8R8X8_UNORM: case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R16G16B16A16_UNORM: case DXGI_FORMAT_B5G6R5_UNORM: psz_sampler[0] = "sample = shaderTexture[0].Sample(samplerState, coords);"; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
