vlc | branch: master | Steve Lhomme <rob...@videolabs.io> | Wed Nov 22 18:18:27 2017 +0100| [004264bc47633678722b632abcb511ecfee1d87b] | committer: Jean-Baptiste Kempf
d3d11_filters: fix adjust output when all values are default Signed-off-by: Jean-Baptiste Kempf <j...@videolan.org> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=004264bc47633678722b632abcb511ecfee1d87b --- modules/hw/d3d11/d3d11_adjust.c | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/modules/hw/d3d11/d3d11_adjust.c b/modules/hw/d3d11/d3d11_adjust.c index c954c79c08..1c4aca64fb 100644 --- a/modules/hw/d3d11/d3d11_adjust.c +++ b/modules/hw/d3d11/d3d11_adjust.c @@ -243,35 +243,60 @@ static picture_t *Filter(filter_t *p_filter, picture_t *p_pic) p_sys->procOutput[1] }; - size_t idx = 0; + size_t idx = 0, count = 0; /* contrast */ if ( ApplyFilter( p_sys, D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST, &p_sys->Contrast, inputs[idx], outputs[idx] ) ) + { idx++; + count++; + } /* brightness */ if ( ApplyFilter( p_sys, D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS, &p_sys->Brightness, inputs[idx], outputs[idx] ) ) + { idx++; + count++; + } /* hue */ if ( ApplyFilter( p_sys, D3D11_VIDEO_PROCESSOR_FILTER_HUE, &p_sys->Hue, inputs[idx], outputs[idx] ) ) + { idx++; + count++; + } /* saturation */ if ( ApplyFilter( p_sys, D3D11_VIDEO_PROCESSOR_FILTER_SATURATION, &p_sys->Saturation, inputs[idx], outputs[idx] ) ) + { idx++; + count++; + } - ID3D11DeviceContext_CopySubresourceRegion(p_outpic->p_sys->context, - p_outpic->p_sys->resource[KNOWN_DXGI_INDEX], - p_outpic->p_sys->slice_index, - 0, 0, 0, - p_sys->out[outputs[idx] == p_sys->procOutput[0] ? 1 : 0].resource, - 0, - NULL); + if (count == 0) + { + ID3D11DeviceContext_CopySubresourceRegion(p_outpic->p_sys->context, + p_outpic->p_sys->resource[KNOWN_DXGI_INDEX], + p_outpic->p_sys->slice_index, + 0, 0, 0, + p_src_sys->resource[KNOWN_DXGI_INDEX], + p_src_sys->slice_index, + NULL); + } + else + { + ID3D11DeviceContext_CopySubresourceRegion(p_outpic->p_sys->context, + p_outpic->p_sys->resource[KNOWN_DXGI_INDEX], + p_outpic->p_sys->slice_index, + 0, 0, 0, + p_sys->out[outputs[idx] == p_sys->procOutput[0] ? 1 : 0].resource, + 0, + NULL); + } if( p_sys->context_mutex != INVALID_HANDLE_VALUE ) ReleaseMutex( p_sys->context_mutex ); _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits