blob: 6098c315014bdbe69d10b4d2a27362e6e3ae1741 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 871f2b2..cba2e90 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -592,6 +592,24 @@ static int decode_frame(AVCodecContext *avctx,
}
}
exit_loop:
+/* ffmpeg-r18421 introduced support for CorePNG p-frames which
+ * breaks raw png sequences created by QuickTime Pro.
+ * since only the first png appears to be marked as PKT_FLAG_KEY
+ * it means either QuickTime Pro is encoding incorrectly, or
+ * this code block needs to find other criteria.
+ *
+ * As of ffmpeg-r19079 this patch should no longer be required.
+ * It offers a similar solution; forces code block to be skipped.
+ *
+ * --kb
+ *
+ * The "fix" in r19079 was a hack placed in avcodec_decode_video.
+ * avcodec_decode_video was obsoleted and no longer exists. The
+ * "fix" disappeared with it.
+ *
+ * --jas
+ */
+#if 0
/* handle p-frames only if a predecessor frame is available */
if(s->last_picture->data[0] != NULL) {
if(!(avpkt->flags & AV_PKT_FLAG_KEY)) {
@@ -608,6 +626,7 @@ static int decode_frame(AVCodecContext *avctx,
}
}
}
+#endif
*picture= *s->current_picture;
*data_size = sizeof(AVFrame);
|