diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c index c0263cdfb5a0f3df376c5691019c78da17400599..77c56a9772279ae4d4569c8bd1c72fb38b012be8 100644 --- a/libswscale/yuv2rgb.c +++ b/libswscale/yuv2rgb.c @@ -768,10 +768,10 @@ av_cold int ff_yuv2rgb_c_init_tables(SwsContext *c, const int inv_table[4], c->yuv2rgb_u2b_coeff = (int16_t)roundToInt16(cbu << 13); //scale coefficients by cy - crv = ((crv << 16) + 0x8000) / cy; - cbu = ((cbu << 16) + 0x8000) / cy; - cgu = ((cgu << 16) + 0x8000) / cy; - cgv = ((cgv << 16) + 0x8000) / cy; + crv = ((crv << 16) + 0x8000) / FFMAX(cy, 1); + cbu = ((cbu << 16) + 0x8000) / FFMAX(cy, 1); + cgu = ((cgu << 16) + 0x8000) / FFMAX(cy, 1); + cgv = ((cgv << 16) + 0x8000) / FFMAX(cy, 1); av_freep(&c->yuvTable);