diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 63a4c76ac3ce8c1a8f80591d6c6b9cc418db45ba..de7a5ac9976a071f766c878b9e46073342f62ece 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2781,11 +2781,9 @@ static int decode_slice_header(H264Context *h, H264Context *h0) s->avctx->pix_fmt = pix_fmt; if (s->context_initialized && - (s->width != s->avctx->coded_width || - s->height != s->avctx->coded_height || - pix_fmt != s->avctx->pix_fmt || + ( needs_reinit || - av_cmp_q(h->sps.sar, s->avctx->sample_aspect_ratio))) { + must_reinit)) { if (h != h0) { av_log(s->avctx, AV_LOG_ERROR, "changing width/height on "