ffmpeg: Print a debug message if the frame parameters mismatch the context
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Nov 2014 13:16:31 +0000 (14:16 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Nov 2014 14:47:49 +0000 (15:47 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c

index 2586dcf..57abd30 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1948,6 +1948,20 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
     if (*got_output || ret<0 || pkt->size)
         decode_error_stat[ret<0] ++;
 
+    if (*got_output && ret >= 0) {
+        if (ist->dec_ctx->width  != decoded_frame->width ||
+            ist->dec_ctx->height != decoded_frame->height ||
+            ist->dec_ctx->pix_fmt != decoded_frame->format) {
+            av_log(NULL, AV_LOG_DEBUG, "Frame parameters mismatch context %d,%d,%d != %d,%d,%d\n",
+                decoded_frame->width,
+                decoded_frame->height,
+                decoded_frame->format,
+                ist->dec_ctx->width,
+                ist->dec_ctx->height,
+                ist->dec_ctx->pix_fmt);
+        }
+    }
+
     if (!*got_output || ret < 0) {
         if (!pkt->size) {
             for (i = 0; i < ist->nb_filters; i++)