diff --git a/libavfilter/vf_blurdetect.c b/libavfilter/vf_blurdetect.c index e29ed5041d..0e08ba96de 100644 --- a/libavfilter/vf_blurdetect.c +++ b/libavfilter/vf_blurdetect.c @@ -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_45UP: 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 @@ -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 (block_total_width >= 2) { + if (block_total_width >= 2 && block_count) { blks[blkcnt] = block_total_width / block_count; blkcnt++; }