From 0ff5eb599f82a90e4380b3590236b6bd78868ae8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 26 Oct 2018 19:06:52 +0100 Subject: [PATCH] MMALRender: Destroy deinterlace component when method changes --- .../VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp index c6cd06997833d..ce3665208d18c 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp @@ -763,7 +763,9 @@ void CMMALRenderer::Run() interlace_method = VS_INTERLACEMETHOD_MMAL_BOB_HALF; } - if (interlace_method == VS_INTERLACEMETHOD_NONE && !yuv16) + bool encodingChanged = (last_interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED || last_interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED_HALF) != + (interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED || interlace_method == VS_INTERLACEMETHOD_MMAL_ADVANCED_HALF); + if ((interlace_method == VS_INTERLACEMETHOD_NONE || encodingChanged) && !yuv16) { if (m_deint_input) DestroyDeinterlace();