Skip to content

Commit 8814d2c

Browse files
committed
Merge pull request matplotlib#869 from mdboom/faster_nearest
Faster "direct" interpolation
2 parents b9f4e2d + 1c9f9b5 commit 8814d2c

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/_image.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -439,11 +439,15 @@ Image::resize(const Py::Tuple& args, const Py::Dict& kwargs)
439439

440440
case NEAREST:
441441
{
442-
typedef agg::span_image_filter_rgba_nn<img_accessor_type, interpolator_type> span_gen_type;
443-
typedef agg::renderer_scanline_aa<renderer_base, span_alloc_type, span_gen_type> renderer_type;
444-
span_gen_type sg(ia, interpolator);
445-
renderer_type ri(rb, sa, sg);
446-
agg::render_scanlines(ras, sl, ri);
442+
if (colsIn == numcols && rowsIn == numrows) {
443+
memcpy(bufferOut, bufferIn, colsIn * rowsIn * 4);
444+
} else {
445+
typedef agg::span_image_filter_rgba_nn<img_accessor_type, interpolator_type> span_gen_type;
446+
typedef agg::renderer_scanline_aa<renderer_base, span_alloc_type, span_gen_type> renderer_type;
447+
span_gen_type sg(ia, interpolator);
448+
renderer_type ri(rb, sa, sg);
449+
agg::render_scanlines(ras, sl, ri);
450+
}
447451
}
448452
break;
449453

0 commit comments

Comments
 (0)