vlc | branch: master | Steve Lhomme <[email protected]> | Tue Sep 6 11:27:55 2016 +0200| [4fa99290f94d35f7f7bc2e864505d259cc60760c] | committer: Jean-Baptiste Kempf
d3d11va: always enable multithreading as the vout is always in a different thread Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4fa99290f94d35f7f7bc2e864505d259cc60760c --- modules/codec/avcodec/d3d11va.c | 6 +++--- modules/codec/avcodec/directx_va.c | 2 +- modules/codec/avcodec/directx_va.h | 2 +- modules/codec/avcodec/dxva2.c | 6 ++---- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c index 23ef65f..6aa0bbb 100644 --- a/modules/codec/avcodec/d3d11va.c +++ b/modules/codec/avcodec/d3d11va.c @@ -155,7 +155,7 @@ static void DxDestroyVideoService(vlc_va_t *); static int DxGetInputList(vlc_va_t *, input_list_t *); static int DxSetupOutput(vlc_va_t *, const GUID *, const video_format_t *); -static int DxCreateDecoderSurfaces(vlc_va_t *, int codec_id, const video_format_t *fmt, bool b_threading); +static int DxCreateDecoderSurfaces(vlc_va_t *, int codec_id, const video_format_t *fmt); static void DxDestroySurfaces(vlc_va_t *); static void SetupAVCodecContext(vlc_va_t *); @@ -943,7 +943,7 @@ static int DxSetupOutput(vlc_va_t *va, const GUID *input, const video_format_t * /** * It creates a Direct3D11 decoder using the given video format */ -static int DxCreateDecoderSurfaces(vlc_va_t *va, int codec_id, const video_format_t *fmt, bool b_threading) +static int DxCreateDecoderSurfaces(vlc_va_t *va, int codec_id, const video_format_t *fmt) { vlc_va_sys_t *sys = va->sys; directx_sys_t *dx_sys = &va->sys->dx_sys; @@ -952,7 +952,7 @@ static int DxCreateDecoderSurfaces(vlc_va_t *va, int codec_id, const video_forma ID3D10Multithread *pMultithread; hr = ID3D11Device_QueryInterface( (ID3D11Device*) dx_sys->d3ddev, &IID_ID3D10Multithread, (void **)&pMultithread); if (SUCCEEDED(hr)) { - ID3D10Multithread_SetMultithreadProtected(pMultithread, b_threading && dx_sys->thread_count > 1); + ID3D10Multithread_SetMultithreadProtected(pMultithread, TRUE); ID3D10Multithread_Release(pMultithread); } diff --git a/modules/codec/avcodec/directx_va.c b/modules/codec/avcodec/directx_va.c index 3c12e0c..251a845 100644 --- a/modules/codec/avcodec/directx_va.c +++ b/modules/codec/avcodec/directx_va.c @@ -332,7 +332,7 @@ int directx_va_Setup(vlc_va_t *va, directx_sys_t *dx_sys, AVCodecContext *avctx) fmt.i_frame_rate = avctx->framerate.num; fmt.i_frame_rate_base = avctx->framerate.den; - if (dx_sys->pf_create_decoder_surfaces(va, dx_sys->codec_id, &fmt, avctx->active_thread_type & FF_THREAD_FRAME)) + if (dx_sys->pf_create_decoder_surfaces(va, dx_sys->codec_id, &fmt)) return VLC_EGENERIC; if (avctx->coded_width != dx_sys->surface_width || diff --git a/modules/codec/avcodec/directx_va.h b/modules/codec/avcodec/directx_va.h index dcc4f6e..ad20ead 100644 --- a/modules/codec/avcodec/directx_va.h +++ b/modules/codec/avcodec/directx_va.h @@ -116,7 +116,7 @@ typedef struct * Create the DirectX surfaces in hw_surface and the decoder in decoder */ int (*pf_create_decoder_surfaces)(vlc_va_t *, int codec_id, - const video_format_t *fmt, bool b_threading); + const video_format_t *fmt); /** * Destroy resources allocated with the surfaces except from hw_surface objects */ diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c index 03f4a29..2b6a1fc 100644 --- a/modules/codec/avcodec/dxva2.c +++ b/modules/codec/avcodec/dxva2.c @@ -156,7 +156,7 @@ static int DxGetInputList(vlc_va_t *, input_list_t *); static int DxSetupOutput(vlc_va_t *, const GUID *, const video_format_t *); static int DxCreateVideoDecoder(vlc_va_t *, - int codec_id, const video_format_t *, bool); + int codec_id, const video_format_t *); static void DxDestroyVideoDecoder(vlc_va_t *); static int DxResetVideoDecoder(vlc_va_t *); static void SetupAVCodecContext(vlc_va_t *); @@ -692,10 +692,8 @@ static int DxSetupOutput(vlc_va_t *va, const GUID *input, const video_format_t * /** * It creates a DXVA2 decoder using the given video format */ -static int DxCreateVideoDecoder(vlc_va_t *va, int codec_id, const video_format_t *fmt, bool b_threading) +static int DxCreateVideoDecoder(vlc_va_t *va, int codec_id, const video_format_t *fmt) { - VLC_UNUSED(b_threading); - vlc_va_sys_t *p_sys = va->sys; directx_sys_t *sys = &va->sys->dx_sys; HRESULT hr; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
