Reading through the implementation, I feel this line of comment is not consistent with the actually code, so this is for correcting it.
if( interpolation == INTER_LINEAR && is_area_fast && iscale_x == 2 && iscale_y == 2 )
interpolation = INTER_AREA;
- // true "area" interpolation is only implemented for the case (scale_x <= 1 && scale_y <= 1).
+ // true "area" interpolation is only implemented for the case (scale_x >= 1 && scale_y >= 1).
// In other cases it is emulated using some variant of bilinear interpolation
if( interpolation == INTER_AREA && scale_x >= 1 && scale_y >= 1 )
{