]> granicus.if.org Git - handbrake/commitdiff
contrib: Add libav patch for better DV in AVI compatibility.
authorBradley Sepos <bradley@bradleysepos.com>
Thu, 11 Feb 2016 17:37:07 +0000 (12:37 -0500)
committerBradley Sepos <bradley@bradleysepos.com>
Thu, 11 Feb 2016 17:44:22 +0000 (12:44 -0500)
(cherry picked from commit efbe7038856d931b79eeb904e7a5e6bad31df38c)

contrib/ffmpeg/A12-avi-dv.diff [new file with mode: 0644]

diff --git a/contrib/ffmpeg/A12-avi-dv.diff b/contrib/ffmpeg/A12-avi-dv.diff
new file mode 100644 (file)
index 0000000..1424fcc
--- /dev/null
@@ -0,0 +1,37 @@
+commit 0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4
+Author: Michael Niedermayer <michaelni@gmx.at>
+Date:   Sat Nov 28 21:06:45 2015 +0100
+
+    avi: Validate the stream-id for DV as well
+    
+    Avoid false positives while syncing.
+    
+    Bug-Id: ffmpeg/4086
+    Bug-Id: 879
+    
+    Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
+    Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
+
+diff --git a/libavformat/avidec.c b/libavformat/avidec.c
+index 43c178f..477e045 100644
+--- a/libavformat/avidec.c
++++ b/libavformat/avidec.c
+@@ -995,7 +995,7 @@ start_sync:
+             goto start_sync;
+         }
+-        n = avi->dv_demux ? 0 : get_stream_idx(d);
++        n = get_stream_idx(d);
+         if (!((i - avi->last_pkt_pos) & 1) &&
+             get_stream_idx(d + 1) < s->nb_streams)
+@@ -1007,6 +1007,9 @@ start_sync:
+             goto start_sync;
+         }
++        if (avi->dv_demux && n != 0)
++            continue;
++
+         // parse ##dc/##wb
+         if (n < s->nb_streams) {
+             AVStream *st;