|
|
|
@ -654,12 +654,12 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code |
|
|
|
|
// only call ff_set_dimensions() for non H.264/VP6F/DXV codecs so as not to overwrite previously setup dimensions
|
|
|
|
|
if (!(avctx->coded_width && avctx->coded_height && avctx->width && avctx->height && |
|
|
|
|
(avctx->codec_id == AV_CODEC_ID_H264 || avctx->codec_id == AV_CODEC_ID_VP6F || avctx->codec_id == AV_CODEC_ID_DXV))) { |
|
|
|
|
if (avctx->coded_width && avctx->coded_height) |
|
|
|
|
ret = ff_set_dimensions(avctx, avctx->coded_width, avctx->coded_height); |
|
|
|
|
else if (avctx->width && avctx->height) |
|
|
|
|
ret = ff_set_dimensions(avctx, avctx->width, avctx->height); |
|
|
|
|
if (ret < 0) |
|
|
|
|
goto free_and_end; |
|
|
|
|
if (avctx->coded_width && avctx->coded_height) |
|
|
|
|
ret = ff_set_dimensions(avctx, avctx->coded_width, avctx->coded_height); |
|
|
|
|
else if (avctx->width && avctx->height) |
|
|
|
|
ret = ff_set_dimensions(avctx, avctx->width, avctx->height); |
|
|
|
|
if (ret < 0) |
|
|
|
|
goto free_and_end; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((avctx->coded_width || avctx->coded_height || avctx->width || avctx->height) |
|
|
|
|