core: fix inplace support in mulSpectrums

This commit is contained in:
Alexander Alekhin 2016-12-07 19:27:19 +03:00
parent 7be4a0ee2f
commit 21f3531b17

View File

@ -1905,6 +1905,12 @@ void cv::mulSpectrums( InputArray _srcA, InputArray _srcB,
_dst.create( srcA.rows, srcA.cols, type );
Mat dst = _dst.getMat();
// correct inplace support
if (dst.data == srcA.data)
srcA = srcA.clone();
if (dst.data == srcB.data)
srcB = srcB.clone();
bool is_1d = (flags & DFT_ROWS) || (rows == 1 || (cols == 1 &&
srcA.isContinuous() && srcB.isContinuous() && dst.isContinuous()));