From 1ff6c758ecb3552c6269784c990ea5cb3bfee763 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Tue, 18 Jul 2017 16:04:35 +0300 Subject: [PATCH] photo: crash workaround for MSVC 2015 32-bit --- modules/photo/src/fast_nlmeans_denoising_invoker.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/photo/src/fast_nlmeans_denoising_invoker.hpp b/modules/photo/src/fast_nlmeans_denoising_invoker.hpp index cfa9826aea..b875ebc92d 100644 --- a/modules/photo/src/fast_nlmeans_denoising_invoker.hpp +++ b/modules/photo/src/fast_nlmeans_denoising_invoker.hpp @@ -205,6 +205,10 @@ void FastNlMeansDenoisingInvoker::operator() (const Range& ra const T * b_up_ptr = extended_src_.ptr(start_by - template_window_half_size_ - 1 + y); const T * b_down_ptr = extended_src_.ptr(start_by + template_window_half_size_ + y); +// MSVC 2015 generates unaligned destination for "movaps" instruction for 32-bit builds +#if defined _MSC_VER && _MSC_VER == 1900 && !defined _WIN64 +#pragma loop(no_vector) +#endif for (int x = 0; x < search_window_size; x++) { // remove from current pixel sum column sum with index "first_col_num"