[vlc-devel] [PATCH 12/12] d3d11va: don't use a processor when using an external pool
Steve Lhomme
robux4 at gmail.com
Fri Apr 28 17:46:26 CEST 2017
From: Steve Lhomme <robux4 at videolabs.io>
The vout will handle it
---
modules/codec/avcodec/d3d11va.c | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c
index 1f96940e4a..1cb4bdcb2e 100644
--- a/modules/codec/avcodec/d3d11va.c
+++ b/modules/codec/avcodec/d3d11va.c
@@ -905,19 +905,22 @@ static int DxSetupOutput(vlc_va_t *va, const GUID *input, const video_format_t *
continue;
}
- // check if we can create render texture of that format
- // check the decoder can output to that format
- if ( !DeviceSupportsFormat((ID3D11Device*) dx_sys->d3ddev, processorInput[idx],
- D3D11_FORMAT_SUPPORT_SHADER_LOAD) )
- {
- msg_Dbg(va, "Format %s needs a processor", DxgiFormatToStr(processorInput[idx]));
+ if (!va->sys->b_extern_pool)
+ {
+ // check if we can create render texture of that format
+ // check the decoder can output to that format
+ if( !DeviceSupportsFormat((ID3D11Device*) dx_sys->d3ddev, processorInput[idx],
+ D3D11_FORMAT_SUPPORT_SHADER_LOAD) )
+ {
+ msg_Dbg(va, "Format %s needs a processor", DxgiFormatToStr(processorInput[idx]));
#ifdef ID3D11VideoContext_VideoProcessorBlt
- if (!SetupProcessor( va, fmt ))
- continue;
- msg_Dbg(va, "Using processor %s to %s", DxgiFormatToStr(processorInput[idx]), DxgiFormatToStr(va->sys->processorFormat));
+ if (!SetupProcessor( va, fmt ))
+ continue;
+ msg_Dbg(va, "Using processor %s to %s", DxgiFormatToStr(processorInput[idx]), DxgiFormatToStr(va->sys->processorFormat));
#else
- continue;
+ continue;
#endif
+ }
}
D3D11_VIDEO_DECODER_DESC decoderDesc;
--
2.12.1
More information about the vlc-devel
mailing list