void VideoFrameTransform::runFiltering()

in Transform360/Library/VideoFrameTransform.cpp [610:649]


void VideoFrameTransform::runFiltering(
    const Mat& inputMat,
    Mat& blurredPlane,
    int transformMatPlaneIndex,
    int imagePlaneIndex,
    int leftOffset,
    int topOffset,
    vector<thread>& segmentFilteringThreads) {
  for (int i = 0;
    i < segmentFilteringConfigs_[transformMatPlaneIndex].size(); ++i) {
    SegmentFilteringConfig config =
      segmentFilteringConfigs_[transformMatPlaneIndex][i];

    if (ctx_.enable_multi_threading) {
      segmentFilteringThreads.emplace_back(
        &VideoFrameTransform::filterSegment,
        this,
        cref(inputMat),
        ref(blurredPlane),
        cref(filterKernelsX_[transformMatPlaneIndex][i]),
        cref(filterKernelsY_[transformMatPlaneIndex][i]),
        config.left + leftOffset,
        config.top + topOffset,
        config.width,
        config.height,
        imagePlaneIndex);
    } else {
      filterSegment(
        inputMat,
        blurredPlane,
        filterKernelsX_[transformMatPlaneIndex][i],
        filterKernelsY_[transformMatPlaneIndex][i],
        config.left + leftOffset,
        config.top + topOffset,
        config.width,
        config.height,
        imagePlaneIndex);
    }
  }
}