Lines Matching refs:src1
287 int operator() (const uchar * src1, const uchar * src2, float * dst, const uchar * mask, int len, int cn) const
296 uint8x16_t v_1src = vld1q_u8(src1 + x), v_2src = vld1q_u8(src2 + x);
313 uint8x16_t v_1src = vandq_u8(vld1q_u8(src1 + x), v_mask), v_2src = vandq_u8(vld1q_u8(src2 + x), v_mask);
331 int operator() (const ushort * src1, const ushort * src2, float * dst, const uchar * mask, int len, int cn) const
340 uint16x8_t v_1src = vld1q_u16(src1 + x), v_2src = vld1q_u16(src2 + x);
357 v_1src = vandq_u16(vld1q_u16(src1 + x), v_mask),
375 int operator() (const float * src1, const float * src2, float * dst, const uchar * mask, int len, int cn) const
384 vst1q_f32(dst + x, vmlaq_f32(vld1q_f32(dst + x), vld1q_f32(src1 + x), vld1q_f32(src2 + x)));
385 vst1q_f32(dst + x + 4, vmlaq_f32(vld1q_f32(dst + x + 4), vld1q_f32(src1 + x + 4), vld1q_f32(src2 + x + 4)));
590 accProd_( const T* src1, const T* src2, AT* dst, const uchar* mask, int len, int cn )
592 int i = AccProd_SIMD<T, AT>()(src1, src2, dst, mask, len, cn);
601 t0 = (AT)src1[i]*src2[i] + dst[i];
602 t1 = (AT)src1[i+1]*src2[i+1] + dst[i+1];
605 t0 = (AT)src1[i+2]*src2[i+2] + dst[i+2];
606 t1 = (AT)src1[i+3]*src2[i+3] + dst[i+3];
611 dst[i] += (AT)src1[i]*src2[i];
618 dst[i] += (AT)src1[i]*src2[i];
623 for( ; i < len; i++, src1 += 3, src2 += 3, dst += 3 )
627 AT t0 = (AT)src1[0]*src2[0] + dst[0];
628 AT t1 = (AT)src1[1]*src2[1] + dst[1];
629 AT t2 = (AT)src1[2]*src2[2] + dst[2];
637 for( ; i < len; i++, src1 += cn, src2 += cn, dst += cn )
641 dst[k] += (AT)src1[k]*src2[k];
715 static void accProd_##suffix(const type* src1, const type* src2, \
717 { accProd_(src1, src2, dst, mask, len, cn); } \
1027 Mat src1 = _src1.getMat(), src2 = _src2.getMat(), dst = _dst.getMat(), mask = _mask.getMat();
1032 if (src1.dims <= 2 || (src1.isContinuous() && src2.isContinuous() && dst.isContinuous()))
1058 Size size = src1.size();
1059 int src1step = (int)src1.step, src2step = (int)src2.step, dststep = (int)dst.step, maskstep = (int)mask.step;
1060 if (src1.isContinuous() && src2.isContinuous() && dst.isContinuous() && mask.isContinuous())
1062 src1step = static_cast<int>(src1.total() * src1.elemSize());
1066 size.width = static_cast<int>(src1.total());
1072 status = ippFunc(src1.ptr(), src1step, src2.ptr(), src2step, dst.ptr<Ipp32f>(),
1075 status = ippFuncMask(src1.ptr(), src1step, src2.ptr(), src2step, mask.ptr<Ipp8u>(), maskstep,
1093 const Mat* arrays[] = {&src1, &src2, &dst, &mask, 0};
1211 cv::Mat src1 = cv::cvarrToMat(arr1), src2 = cv::cvarrToMat(arr2);
1215 cv::accumulateProduct( src1, src2, dst, mask );