diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 20231aa5de..453094a7d4 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -1109,11 +1109,13 @@ static int init_dimensions(H264Context *h) { int width = h->width - (h->sps.crop_right + h->sps.crop_left); int height = h->height - (h->sps.crop_top + h->sps.crop_bottom); + int crop_present = h->sps.crop_left || h->sps.crop_top || + h->sps.crop_right || h->sps.crop_bottom; av_assert0(h->sps.crop_right + h->sps.crop_left < (unsigned)h->width); av_assert0(h->sps.crop_top + h->sps.crop_bottom < (unsigned)h->height); /* handle container cropping */ - if (!h->sps.crop && + if (!crop_present && FFALIGN(h->avctx->width, 16) == h->width && FFALIGN(h->avctx->height, 16) == h->height) { width = h->avctx->width;