OSDN Git Service

- fixed regression: mov/png-sequence decoding.
authorkonablend <konablend@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Wed, 3 Jun 2009 03:55:55 +0000 (03:55 +0000)
committerkonablend <konablend@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Wed, 3 Jun 2009 03:55:55 +0000 (03:55 +0000)
- regression was introduced in r2469 (ffmpeg-r18421); workaround is to disable CorePNG p-frames.

git-svn-id: svn://localhost/HandBrake/trunk@2474 b64f7644-9d1e-0410-96f1-a4d463321fa5

contrib/ffmpeg/A03-png-sequences.patch [new file with mode: 0644]

diff --git a/contrib/ffmpeg/A03-png-sequences.patch b/contrib/ffmpeg/A03-png-sequences.patch
new file mode 100644 (file)
index 0000000..ee17087
--- /dev/null
@@ -0,0 +1,26 @@
+diff -Naur ffmpeg-r19067.orig/libavcodec/pngdec.c ffmpeg-r19067/libavcodec/pngdec.c
+--- ffmpeg-r19067.orig/libavcodec/pngdec.c     2009-05-24 08:44:54.000000000 -0400
++++ ffmpeg-r19067/libavcodec/pngdec.c  2009-06-02 23:42:29.000000000 -0400
+@@ -593,6 +593,14 @@
+         }
+     }
+  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.
++ * --kb
++ */
++#if 0
+      /* handle p-frames only if a predecessor frame is available */
+      if(s->last_picture->data[0] != NULL) {
+          if(!(avpkt->flags & PKT_FLAG_KEY)) {
+@@ -609,6 +617,7 @@
+             }
+         }
+     }
++#endif
+     *picture= *s->current_picture;
+     *data_size = sizeof(AVFrame);