|
|
@ -138,6 +138,7 @@ static float edge_width(BLRContext *blr, int i, int j, int8_t dir, int w, int h, |
|
|
|
case DIRECTION_VERTICAL: dX = 0; dY = 1; break; |
|
|
|
case DIRECTION_VERTICAL: dX = 0; dY = 1; break; |
|
|
|
case DIRECTION_45UP: dX = 1; dY = -1; break; |
|
|
|
case DIRECTION_45UP: dX = 1; dY = -1; break; |
|
|
|
case DIRECTION_45DOWN: dX = 1; dY = 1; break; |
|
|
|
case DIRECTION_45DOWN: dX = 1; dY = 1; break; |
|
|
|
|
|
|
|
default: dX = 1; dY = 1; break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// determines if search in direction dX/dY is looking for a maximum or minimum
|
|
|
|
// determines if search in direction dX/dY is looking for a maximum or minimum
|
|
|
@ -227,7 +228,7 @@ static float calculate_blur(BLRContext *s, int w, int h, int hsub, int vsub, |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// if not enough edge pixels in a block, consider it smooth
|
|
|
|
// if not enough edge pixels in a block, consider it smooth
|
|
|
|
if (block_total_width >= 2) { |
|
|
|
if (block_total_width >= 2 && block_count) { |
|
|
|
blks[blkcnt] = block_total_width / block_count; |
|
|
|
blks[blkcnt] = block_total_width / block_count; |
|
|
|
blkcnt++; |
|
|
|
blkcnt++; |
|
|
|
} |
|
|
|
} |
|
|
|