Also call avcodec_set_dimensions on dimension param change packets. --- libavcodec/utils.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index a1d2a01..2bc1dcf 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -879,6 +879,7 @@ static void apply_param_change(AVCodecContext *avctx, AVPacket *avpkt) return; avctx->width = bytestream_get_le32(&data); avctx->height = bytestream_get_le32(&data); + avcodec_set_dimensions(avctx, avctx->width, avctx->height); size -= 8; } } @@ -894,6 +895,7 @@ int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *pi return -1; avctx->pkt = avpkt; + apply_param_change(avctx, avpkt); if((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size || (avctx->active_thread_type&FF_THREAD_FRAME)){ if (HAVE_THREADS && avctx->active_thread_type&FF_THREAD_FRAME) -- 1.7.3.1 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel