Libmv: Use static scheduler for threading

For a real-world distortion the payload is quite uniformly
distributed across scanlines. Surely, in the corners more
iterations of minimizer is needed, but that happens in threads
without scheduling overhead.
This commit is contained in:
Sergey Sharybin 2020-04-06 14:47:35 +02:00
parent 7e93d4eea3
commit 5dde5dd44e
1 changed files with 2 additions and 2 deletions

View File

@ -63,7 +63,7 @@ void LookupWarpGrid::Compute(const CameraIntrinsics &intrinsics,
double aspx = (double) w / intrinsics.image_width();
double aspy = (double) h / intrinsics.image_height();
#if defined(_OPENMP)
# pragma omp parallel for schedule(dynamic) num_threads(threads_) \
# pragma omp parallel for schedule(static) num_threads(threads_) \
if (threads_ > 1 && height > 100)
#endif
for (int y = 0; y < height; y++) {
@ -125,7 +125,7 @@ void LookupWarpGrid::Apply(const PixelType *input_buffer,
int channels,
PixelType *output_buffer) {
#if defined(_OPENMP)
# pragma omp parallel for schedule(dynamic) num_threads(threads_) \
# pragma omp parallel for schedule(static) num_threads(threads_) \
if (threads_ > 1 && height > 100)
#endif
for (int y = 0; y < height; y++) {