avcodec/utils: check AVframe.format being set in avcodec_encode_video2()
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 7 Dec 2014 01:10:19 +0000 (02:10 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 7 Dec 2014 01:44:14 +0000 (02:44 +0100)
We dont fail hard if its not set as the old API allowed this and our examples
did in the distant past not set it, these examples still work with the
current code and some encoders.

Based on suggestion by: funman
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/utils.c

index 66fe62c..a75fe1a 100644 (file)
@@ -2088,6 +2088,9 @@ int attribute_align_arg avcodec_encode_video2(AVCodecContext *avctx,
     if (av_image_check_size(avctx->width, avctx->height, 0, avctx))
         return AVERROR(EINVAL);
 
+    if (frame && frame->format == AV_PIX_FMT_NONE)
+        av_log(avctx, AV_LOG_WARNING, "AVFrame.format is not set\n");
+
     av_assert0(avctx->codec->encode2);
 
     ret = avctx->codec->encode2(avctx, avpkt, frame, got_packet_ptr);