aboutsummaryrefslogtreecommitdiff
path: root/lib/ffmpeg/patches
diff options
context:
space:
mode:
authorFlyingRat <flyingrat@outlook.com>2013-04-07 16:36:04 +0200
committerFlyingRat <flyingrat@outlook.com>2013-04-07 16:36:04 +0200
commit0e63a815aa6af63a21848e04b683d3f506dd41b1 (patch)
tree002f61d8a5b1d294d99fd4ba5b6982d76a612f0c /lib/ffmpeg/patches
parent71862137c5337fc678681a23bfbc65f4db7a7b2f (diff)
[FFmpeg] version bump to n1.2 (rev e820e3a) - lib/ffmpeg
This commit now contains the original patches sub directory: patches - Org dir that contains applied xbmc custom patches. patches/README-patches - New README file with info about xbmc patches. patches/obsolete-patches - New dir with obsolete xbmc patches.
Diffstat (limited to 'lib/ffmpeg/patches')
-rw-r--r--lib/ffmpeg/patches/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch27
-rw-r--r--lib/ffmpeg/patches/0002-Change-fallthrough-logic-for-read_seek-to-be-based-o.patch82
-rw-r--r--lib/ffmpeg/patches/0003-matroska-Check-return-value-of-avio_seek-and-avoid-m.patch28
-rw-r--r--lib/ffmpeg/patches/0005-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch31
-rw-r--r--lib/ffmpeg/patches/0006-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch40
-rw-r--r--lib/ffmpeg/patches/0009-fixed-compile-with-VDPAU-header-versions-without-MPE.patch41
-rw-r--r--lib/ffmpeg/patches/0010-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch38
-rw-r--r--lib/ffmpeg/patches/0011-Get-stream-durations-using-read_timestamp.patch23
-rw-r--r--lib/ffmpeg/patches/0013-aacenc-add-recognized-profiles-array.patch26
-rw-r--r--lib/ffmpeg/patches/0016-Speed-up-mpegts-av_find_stream_info.patch2
-rw-r--r--lib/ffmpeg/patches/0017-allow-customizing-shared-library-soname-name-with-ma.patch25
-rw-r--r--lib/ffmpeg/patches/0019-dxva-mpeg2-speed-up-slice-allocation.patch25
-rw-r--r--lib/ffmpeg/patches/0020-dxva-vc1-Take-BI-into-account-for-forward-and-backwa.patch23
-rw-r--r--lib/ffmpeg/patches/0021-dxva-vc1-Pass-overlapping-transforms-hint.patch23
-rw-r--r--lib/ffmpeg/patches/0022-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch70
-rw-r--r--lib/ffmpeg/patches/0024-add-public-version-of-ff_read_frame_flush.patch24
-rw-r--r--lib/ffmpeg/patches/0026-Handle-return-value-of-BeginFrame-better.patch4
-rw-r--r--lib/ffmpeg/patches/0029-stop-forcing-gas-preprocessor-for-darwin.patch18
-rw-r--r--lib/ffmpeg/patches/README-patches7
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0012-include-stdint.h.patch (renamed from lib/ffmpeg/patches/0012-include-stdint.h.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0023-Changed-format-string-td-not-supported-by-our-MingW-.patch (renamed from lib/ffmpeg/patches/0023-Changed-format-string-td-not-supported-by-our-MingW-.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0025-dvb-subtitle-decoding-when-display-segment-is-mi.patch (renamed from lib/ffmpeg/patches/0025-dvb-subtitle-decoding-when-display-segment-is-mi.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0027-threads-Perform-the-generic-progress-cleanup-more-ca.patch (renamed from lib/ffmpeg/patches/0027-threads-Perform-the-generic-progress-cleanup-more-ca.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0028-added-support-for-OTF-fonts.patch (renamed from lib/ffmpeg/patches/0028-added-support-for-OTF-fonts.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0028-fixed-dvd-still-frames-ended-up-in-internal-lavf.patch (renamed from lib/ffmpeg/patches/0028-fixed-dvd-still-frames-ended-up-in-internal-lavf.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0030-ARM-generate-position-independent-code-to-access-data-symbols.patch (renamed from lib/ffmpeg/patches/0030-ARM-generate-position-independent-code-to-access-data-symbols.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0031-ARM-vp56-allow-inline-asm-to-build-with-clang.patch (renamed from lib/ffmpeg/patches/0031-ARM-vp56-allow-inline-asm-to-build-with-clang.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0032-PGS-use-the-PTS-from-the-presentation-segment.patch (renamed from lib/ffmpeg/patches/0032-PGS-use-the-PTS-from-the-presentation-segment.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0033-ARM-ac3-fix-ac3_bit_alloc_calc_bap_armv6.patch (renamed from lib/ffmpeg/patches/0033-ARM-ac3-fix-ac3_bit_alloc_calc_bap_armv6.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0034-ARM-fix-h264-chroma-mc-overrides.patch (renamed from lib/ffmpeg/patches/0034-ARM-fix-h264-chroma-mc-overrides.patch)0
-rw-r--r--lib/ffmpeg/patches/obsolete-patches/0035-ffmpeg-fixed-missing-S_DVBSUB-subtitles.patch (renamed from lib/ffmpeg/patches/0035-ffmpeg-fixed-missing-S_DVBSUB-subtitles.patch)0
31 files changed, 259 insertions, 298 deletions
diff --git a/lib/ffmpeg/patches/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch b/lib/ffmpeg/patches/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch
index 9815107f39..d7999844b0 100644
--- a/lib/ffmpeg/patches/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch
+++ b/lib/ffmpeg/patches/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch
@@ -1,20 +1,16 @@
-From 5d361593f1149c2c0874d76a27c5cc68a219088c Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Sun, 11 Sep 2011 19:04:51 +0200
-Subject: [PATCH 01/24] Support raw dvdsub palette as stored on normal dvd's
+From a77624551376c138dcda4d0bce167abe379a0a6b Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:08:55 +0000
+Subject: [PATCH] Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s
-This is how the palette is stored on dvd's. Currently
-only xbmc passes the palette information to libavcodec
-this way.
---
- libavcodec/dvdsubdec.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
+ libavcodec/dvdsubdec.c | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
-index f4b5439..d0d13ee 100644
+index cc9e11b..52ec0a8 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
-@@ -50,6 +50,24 @@ static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *
+@@ -54,6 +54,24 @@ static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *
}
}
@@ -39,10 +35,11 @@ index f4b5439..d0d13ee 100644
static int decode_run_2bit(GetBitContext *gb, int *color)
{
unsigned int v, t;
-@@ -547,6 +565,11 @@ static int dvdsub_init(AVCodecContext *avctx)
- data += strspn(data, "\n\r");
- }
+@@ -574,6 +592,12 @@ static int dvdsub_init(AVCodecContext *avctx)
+ if (ctx->palette_str)
+ parse_palette(ctx, ctx->palette_str);
++
+ if (!ctx->has_palette && avctx->extradata_size == 64) {
+ ayvu_to_argb((uint8_t*)avctx->extradata, ctx->palette, 16);
+ ctx->has_palette = 1;
@@ -52,5 +49,5 @@ index f4b5439..d0d13ee 100644
int i;
av_log(avctx, AV_LOG_DEBUG, "palette:");
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0002-Change-fallthrough-logic-for-read_seek-to-be-based-o.patch b/lib/ffmpeg/patches/0002-Change-fallthrough-logic-for-read_seek-to-be-based-o.patch
index 010fbcaa93..29c05cee5e 100644
--- a/lib/ffmpeg/patches/0002-Change-fallthrough-logic-for-read_seek-to-be-based-o.patch
+++ b/lib/ffmpeg/patches/0002-Change-fallthrough-logic-for-read_seek-to-be-based-o.patch
@@ -1,28 +1,22 @@
-From 8b480b7321130ad691cf46314164787301691161 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Mon, 12 Sep 2011 23:53:29 +0200
-Subject: [PATCH 02/24] Change fallthrough logic for read_seek to be based on
- return value
+From bad37718f9fb608ffdd271c96a17f071ad508464 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:23:24 +0000
+Subject: [PATCH] Change-fallthrough-logic-for-read_seek-to-be-based-o
-This changes the logic for read_seek to only use generic seek
-rutines if the return value is AVERROR(ENOSYS) to avoid retrying
-seeks if the demuxer already realized it wasn't possible.
---
- libavformat/asfdec.c | 2 +-
- libavformat/gxf.c | 4 ++--
- libavformat/jvdec.c | 2 +-
- libavformat/matroskadec.c | 2 +-
- libavformat/oggdec.c | 4 +++-
- libavformat/pmpdec.c | 2 +-
- libavformat/r3d.c | 2 +-
- libavformat/utils.c | 4 +++-
- 8 files changed, 13 insertions(+), 9 deletions(-)
+ libavformat/asfdec.c | 2 +-
+ libavformat/gxf.c | 4 ++--
+ libavformat/jvdec.c | 2 +-
+ libavformat/oggdec.c | 4 +++-
+ libavformat/pmpdec.c | 2 +-
+ libavformat/r3d.c | 2 +-
+ libavformat/utils.c | 4 +++-
+ 7 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
-index 0deafc6..a62bab3 100644
+index 2dcdf56..2581307 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
-@@ -1278,7 +1278,7 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int
+@@ -1415,7 +1415,7 @@ static int asf_read_seek(AVFormatContext *s, int stream_index, int64_t pts, int
AVStream *st = s->streams[stream_index];
if (s->packet_size <= 0)
@@ -32,10 +26,10 @@ index 0deafc6..a62bab3 100644
/* Try using the protocol's read_seek if available */
if(s->pb) {
diff --git a/libavformat/gxf.c b/libavformat/gxf.c
-index e773ba7..a3298a7 100644
+index 86e6291..b46e6d6 100644
--- a/libavformat/gxf.c
+++ b/libavformat/gxf.c
-@@ -542,7 +542,7 @@ static int gxf_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int
+@@ -559,7 +559,7 @@ static int gxf_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int
idx = av_index_search_timestamp(st, timestamp - start_time,
AVSEEK_FLAG_ANY | AVSEEK_FLAG_BACKWARD);
if (idx < 0)
@@ -44,7 +38,7 @@ index e773ba7..a3298a7 100644
pos = st->index_entries[idx].pos;
if (idx < st->nb_index_entries - 2)
maxlen = st->index_entries[idx + 2].pos - pos;
-@@ -552,7 +552,7 @@ static int gxf_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int
+@@ -569,7 +569,7 @@ static int gxf_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int
return res;
found = gxf_resync_media(s, maxlen, -1, timestamp);
if (FFABS(found - timestamp) > 4)
@@ -54,10 +48,10 @@ index e773ba7..a3298a7 100644
}
diff --git a/libavformat/jvdec.c b/libavformat/jvdec.c
-index 212cd8a..d52060b 100644
+index e941492..8039b2a 100644
--- a/libavformat/jvdec.c
+++ b/libavformat/jvdec.c
-@@ -207,7 +207,7 @@ static int read_seek(AVFormatContext *s, int stream_index,
+@@ -209,7 +209,7 @@ static int read_seek(AVFormatContext *s, int stream_index,
}
if (i < 0 || i >= ast->nb_index_entries)
@@ -66,27 +60,14 @@ index 212cd8a..d52060b 100644
if (avio_seek(s->pb, ast->index_entries[i].pos, SEEK_SET) < 0)
return -1;
-diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
-index 2787a17..135fddd 100644
---- a/libavformat/matroskadec.c
-+++ b/libavformat/matroskadec.c
-@@ -2048,7 +2048,7 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
- }
-
- if (!st->nb_index_entries)
-- return 0;
-+ return -1;
- timestamp = FFMAX(timestamp, st->index_entries[0].timestamp);
-
- if ((index = av_index_search_timestamp(st, timestamp, flags)) < 0) {
diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c
-index ceb4091..80669a5 100644
+index e51db61..7441615 100644
--- a/libavformat/oggdec.c
+++ b/libavformat/oggdec.c
-@@ -663,8 +663,10 @@ static int ogg_read_seek(AVFormatContext *s, int stream_index,
+@@ -808,8 +808,10 @@ static int ogg_read_seek(AVFormatContext *s, int stream_index,
ret = ff_seek_frame_binary(s, stream_index, timestamp, flags);
- os = ogg->streams + stream_index;
+ os = ogg->streams + stream_index;
- if (ret < 0)
+ if (ret < 0) {
os->keyframe_seek = 0;
@@ -96,10 +77,10 @@ index ceb4091..80669a5 100644
}
diff --git a/libavformat/pmpdec.c b/libavformat/pmpdec.c
-index a57b660..9db4e26 100644
+index 2ea37ef..0a89650 100644
--- a/libavformat/pmpdec.c
+++ b/libavformat/pmpdec.c
-@@ -157,7 +157,7 @@ static int pmp_seek(AVFormatContext *s, int stream_index, int64_t ts, int flags)
+@@ -161,7 +161,7 @@ static int pmp_seek(AVFormatContext *s, int stream_index, int64_t ts, int flags)
PMPContext *pmp = s->priv_data;
pmp->cur_stream = 0;
// fallback to default seek now
@@ -109,29 +90,28 @@ index a57b660..9db4e26 100644
static int pmp_close(AVFormatContext *s)
diff --git a/libavformat/r3d.c b/libavformat/r3d.c
-index 874c361..0adad72 100644
+index 35da81e..452849d 100644
--- a/libavformat/r3d.c
+++ b/libavformat/r3d.c
-@@ -358,7 +358,7 @@ static int r3d_seek(AVFormatContext *s, int stream_index, int64_t sample_time, i
+@@ -366,7 +366,7 @@ static int r3d_seek(AVFormatContext *s, int stream_index, int64_t sample_time, i
int frame_num;
- if (!st->codec->time_base.num || !st->time_base.den)
+ if (!st->avg_frame_rate.num)
- return -1;
+ return AVERROR(ENOSYS);
- frame_num = sample_time*st->codec->time_base.den/
- ((int64_t)st->codec->time_base.num*st->time_base.den);
+ frame_num = av_rescale_q(sample_time, st->time_base,
+ av_inv_q(st->avg_frame_rate));
diff --git a/libavformat/utils.c b/libavformat/utils.c
-index 9164cd0..242d616 100644
+index 5cbf7ca..4b8bcd1 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
-@@ -1910,11 +1910,13 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int f
+@@ -2059,10 +2059,12 @@ static int seek_frame_internal(AVFormatContext *s, int stream_index,
ff_read_frame_flush(s);
ret = s->iformat->read_seek(s, stream_index, timestamp, flags);
} else
- ret = -1;
+ ret = AVERROR(ENOSYS);
- )
if (ret >= 0) {
return 0;
}
@@ -141,5 +121,5 @@ index 9164cd0..242d616 100644
if (s->iformat->read_timestamp && !(s->iformat->flags & AVFMT_NOBINSEARCH)) {
ff_read_frame_flush(s);
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0003-matroska-Check-return-value-of-avio_seek-and-avoid-m.patch b/lib/ffmpeg/patches/0003-matroska-Check-return-value-of-avio_seek-and-avoid-m.patch
index fe9ca1cf81..12ce6a90fa 100644
--- a/lib/ffmpeg/patches/0003-matroska-Check-return-value-of-avio_seek-and-avoid-m.patch
+++ b/lib/ffmpeg/patches/0003-matroska-Check-return-value-of-avio_seek-and-avoid-m.patch
@@ -1,20 +1,16 @@
-From a8a72d52860df38f3a126ca544663f9ea379a929 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Sat, 22 Oct 2011 18:33:45 +0200
-Subject: [PATCH 03/24] [matroska] Check return value of avio_seek and avoid
- modifying state if it fails
+From 6d0c6f74bce43810c2c8a7ca01de5e1f0e7da333 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:27:59 +0000
+Subject: [PATCH] matroska-Check-return-value-of-avio_seek-and-avoid-m
-The code still modifies state if the timestamp is not found. Not
-sure exactly how to avoid that.
---
libavformat/matroskadec.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
-index 135fddd..a9a0d1f 100644
+index 87c4a39..d066186 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
-@@ -2052,7 +2052,8 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
+@@ -2386,7 +2386,8 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
timestamp = FFMAX(timestamp, st->index_entries[0].timestamp);
if ((index = av_index_search_timestamp(st, timestamp, flags)) < 0) {
@@ -24,13 +20,13 @@ index 135fddd..a9a0d1f 100644
matroska->current_id = 0;
while ((index = av_index_search_timestamp(st, timestamp, flags)) < 0) {
matroska_clear_queue(matroska);
-@@ -2061,16 +2062,11 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
+@@ -2395,16 +2396,11 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
}
}
- matroska_clear_queue(matroska);
- if (index < 0)
- return 0;
+ if (index < 0 || (matroska->cues_parsing_deferred < 0 && index == st->nb_index_entries - 1))
+ goto err;
index_min = index;
for (i=0; i < matroska->tracks.nb_elem; i++) {
@@ -39,9 +35,9 @@ index 135fddd..a9a0d1f 100644
- tracks[i].audio.buf_timecode = AV_NOPTS_VALUE;
- tracks[i].end_timecode = 0;
if (tracks[i].type == MATROSKA_TRACK_TYPE_SUBTITLE
- && !tracks[i].stream->discard != AVDISCARD_ALL) {
+ && tracks[i].stream->discard != AVDISCARD_ALL) {
index_sub = av_index_search_timestamp(tracks[i].stream, st->index_entries[index].timestamp, AVSEEK_FLAG_BACKWARD);
-@@ -2081,7 +2077,16 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
+@@ -2415,7 +2411,16 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
}
}
@@ -57,8 +53,8 @@ index 135fddd..a9a0d1f 100644
+ tracks[i].end_timecode = 0;
+ }
matroska->current_id = 0;
+ st->skip_to_keyframe =
matroska->skip_to_keyframe = !(flags & AVSEEK_FLAG_ANY);
- matroska->skip_to_timecode = st->index_entries[index].timestamp;
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0005-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch b/lib/ffmpeg/patches/0005-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch
index 93371335f6..4403a06c36 100644
--- a/lib/ffmpeg/patches/0005-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch
+++ b/lib/ffmpeg/patches/0005-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch
@@ -1,27 +1,24 @@
-From 55467e617c4772441e128cfcc3939beafdd8bf8a Mon Sep 17 00:00:00 2001
-From: Cory Fields <theuni-nospam-@xbmc.org>
-Date: Mon, 28 Jun 2010 01:55:31 -0400
-Subject: [PATCH 05/24] if av_read_packet returns AVERROR_IO, we are done.
- ffmpeg's codecs might or might not handle returning
- any completed demuxed packets correctly
+From dac532f278c50002ed2fae5c7e2c5b3edfc4f96e Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:34:09 +0000
+Subject: [PATCH] if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff
---
libavformat/utils.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/utils.c b/libavformat/utils.c
-index 242d616..ebb8493 100644
+index 4b8bcd1..bdb9d17 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
-@@ -1248,6 +1248,8 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
- if (ret < 0) {
- if (ret == AVERROR(EAGAIN))
- return ret;
-+ if (ret == AVERROR(EIO))
-+ return ret;
- /* return the last frames, if any */
- for(i = 0; i < s->nb_streams; i++) {
- st = s->streams[i];
+@@ -1386,6 +1386,8 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
+ if (ret < 0) {
+ if (ret == AVERROR(EAGAIN))
+ return ret;
++ if (ret == AVERROR(EIO))
++ return ret;
+ /* flush the parsers */
+ for(i = 0; i < s->nb_streams; i++) {
+ st = s->streams[i];
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0006-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch b/lib/ffmpeg/patches/0006-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch
index fa32988546..c7f455cae6 100644
--- a/lib/ffmpeg/patches/0006-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch
+++ b/lib/ffmpeg/patches/0006-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch
@@ -1,8 +1,6 @@
-From 406e25be924a32d5df14a977e8b9694a767f6378 Mon Sep 17 00:00:00 2001
-From: Cory Fields <theuni-nospam-@xbmc.org>
-Date: Mon, 28 Jun 2010 02:10:50 -0400
-Subject: [PATCH 06/24] added: Ticket #7187, TV Teletext support for DVB EBU
- Teletext streams
+From 81f4c30d6f4dd4f1da818553c869082b50ab601b Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:41:56 +0000
+Subject: [PATCH] added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te
---
libavcodec/avcodec.h | 4 ++++
@@ -10,33 +8,33 @@ Subject: [PATCH 06/24] added: Ticket #7187, TV Teletext support for DVB EBU
2 files changed, 6 insertions(+)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
-index 81849c1..0b756d0 100644
+index ab7a8a5..fff064c 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
-@@ -425,6 +425,10 @@ enum CodecID {
- CODEC_ID_SRT,
- CODEC_ID_MICRODVD = MKBETAG('m','D','V','D'),
+@@ -472,6 +472,10 @@ enum AVCodecID {
+ AV_CODEC_ID_VPLAYER = MKBETAG('V','P','l','r'),
+ AV_CODEC_ID_PJS = MKBETAG('P','h','J','S'),
+ /* data codecs */
-+ CODEC_ID_VBI_DATA= 0x17500,
-+ CODEC_ID_VBI_TELETEXT,
++ AV_CODEC_ID_VBI_DATA= 0x17500,
++ AV_CODEC_ID_VBI_TELETEXT,
+
/* other specific kind of codecs (generally used for attachments) */
- CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
- CODEC_ID_TTF = 0x18000,
+ AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
+ AV_CODEC_ID_TTF = 0x18000,
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
-index 9998248..e7e061e 100644
+index a6e07fa..87269d7 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
-@@ -581,6 +581,8 @@ static const StreamType DESC_types[] = {
- { 0x7b, AVMEDIA_TYPE_AUDIO, CODEC_ID_DTS },
- { 0x56, AVMEDIA_TYPE_SUBTITLE, CODEC_ID_DVB_TELETEXT },
- { 0x59, AVMEDIA_TYPE_SUBTITLE, CODEC_ID_DVB_SUBTITLE }, /* subtitling descriptor */
-+ { 0x45, AVMEDIA_TYPE_DATA, CODEC_ID_VBI_DATA }, /* VBI Data descriptor */
-+ { 0x46, AVMEDIA_TYPE_DATA, CODEC_ID_VBI_TELETEXT }, /* VBI Teletext descriptor */
+@@ -611,6 +611,8 @@ static const StreamType DESC_types[] = {
+ { 0x7b, AVMEDIA_TYPE_AUDIO, AV_CODEC_ID_DTS },
+ { 0x56, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_DVB_TELETEXT },
+ { 0x59, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_DVB_SUBTITLE }, /* subtitling descriptor */
++ { 0x45, AVMEDIA_TYPE_DATA, AV_CODEC_ID_VBI_DATA }, /* VBI Data descriptor */
++ { 0x46, AVMEDIA_TYPE_DATA, AV_CODEC_ID_VBI_TELETEXT }, /* VBI Teletext descriptor */
{ 0 },
};
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0009-fixed-compile-with-VDPAU-header-versions-without-MPE.patch b/lib/ffmpeg/patches/0009-fixed-compile-with-VDPAU-header-versions-without-MPE.patch
index 7c86e01163..3bd34c40f7 100644
--- a/lib/ffmpeg/patches/0009-fixed-compile-with-VDPAU-header-versions-without-MPE.patch
+++ b/lib/ffmpeg/patches/0009-fixed-compile-with-VDPAU-header-versions-without-MPE.patch
@@ -1,10 +1,7 @@
-From 13fa8f2299e51192354cfb468dc05452ab9c9e4e Mon Sep 17 00:00:00 2001
-From: Cory Fields <theuni-nospam-@xbmc.org>
-Date: Mon, 28 Jun 2010 03:04:26 -0400
-Subject: [PATCH 09/24] fixed: compile with VDPAU header versions without
- MPEG4 support.
+From eaa6e4a2d98b3f04b4e1d9cd7db6185015d370d7 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:46:38 +0000
+Subject: [PATCH] fixed-compile-with-VDPAU-header-versions-without-MPE
-See http://repo.or.cz/w/FFMpeg-mirror/mplayer-patches.git/commitdiff/136c16af11076153717d3de31c9d84360644e006
---
configure | 2 ++
libavcodec/vdpau.c | 2 ++
@@ -12,20 +9,20 @@ See http://repo.or.cz/w/FFMpeg-mirror/mplayer-patches.git/commitdiff/136c16af110
3 files changed, 6 insertions(+)
diff --git a/configure b/configure
-index 07d473e..6255f57 100755
+index 0707a94..6b9e668 100755
--- a/configure
+++ b/configure
-@@ -3058,6 +3058,8 @@ check_header sys/select.h
- check_header termios.h
+@@ -3748,6 +3748,8 @@ check_header termios.h
+ check_header unistd.h
check_header vdpau/vdpau.h
check_header vdpau/vdpau_x11.h
+check_cpp_condition vdpau/vdpau.h "defined(VDP_DECODER_PROFILE_MPEG4_PART2_SP)" && enable vdpau_mpeg4_support
+
+ check_header VideoDecodeAcceleration/VDADecoder.h
+ check_header windows.h
check_header X11/extensions/XvMClib.h
- check_header asm/types.h
-
diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c
-index ce5103a..21b4fc9 100644
+index 6ac195e..09dcb3e 100644
--- a/libavcodec/vdpau.c
+++ b/libavcodec/vdpau.c
@@ -316,6 +316,7 @@ void ff_vdpau_vc1_decode_picture(MpegEncContext *s, const uint8_t *buf,
@@ -45,19 +42,23 @@ index ce5103a..21b4fc9 100644
// Only dummy functions for now
static int vdpau_mpeg2_start_frame(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
diff --git a/libavcodec/vdpau.h b/libavcodec/vdpau.h
-index f3a5471..3748675 100644
+index 23394b5..67fadb6 100644
--- a/libavcodec/vdpau.h
+++ b/libavcodec/vdpau.h
-@@ -79,7 +79,9 @@ struct vdpau_render_state {
- VdpPictureInfoH264 h264;
- VdpPictureInfoMPEG1Or2 mpeg;
- VdpPictureInfoVC1 vc1;
+@@ -56,7 +56,9 @@ union FFVdpPictureInfo {
+ VdpPictureInfoH264 h264;
+ VdpPictureInfoMPEG1Or2 mpeg;
+ VdpPictureInfoVC1 vc1;
+- VdpPictureInfoMPEG4Part2 mpeg4;
+#ifdef VDP_DECODER_PROFILE_MPEG4_PART2_SP
- VdpPictureInfoMPEG4Part2 mpeg4;
++ VdpPictureInfoMPEG4Part2 mpeg4;
+#endif
- } info;
};
+
+ /**
--
-1.7.9.4
+1.7.10.4
+
+
diff --git a/lib/ffmpeg/patches/0010-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch b/lib/ffmpeg/patches/0010-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch
index c2a836886c..11547db4c5 100644
--- a/lib/ffmpeg/patches/0010-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch
+++ b/lib/ffmpeg/patches/0010-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch
@@ -1,18 +1,16 @@
-From 17c6bca0f47b1a0c3deac3ad948cdd674c135321 Mon Sep 17 00:00:00 2001
-From: Cory Fields <theuni-nospam-@xbmc.org>
-Date: Fri, 9 Jul 2010 16:43:31 -0400
-Subject: [PATCH 10/24] Read PID timestamps as well as PCR timestamps to find
- location in mpegts stream
+From 3c31f5987079c3796f3f7313d97ee3c58fb0d4db Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:52:01 +0000
+Subject: [PATCH] Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin
---
libavformat/mpegts.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 46 insertions(+), 2 deletions(-)
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
-index 8bdafc5..ba2f163 100644
+index 3befaf8..21df7b3 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
-@@ -1928,6 +1928,44 @@ static int parse_pcr(int64_t *ppcr_high, int *ppcr_low,
+@@ -1985,6 +1985,44 @@ static int parse_pcr(int64_t *ppcr_high, int *ppcr_low,
return 0;
}
@@ -54,10 +52,10 @@ index 8bdafc5..ba2f163 100644
+}
+
+
- static int mpegts_read_header(AVFormatContext *s,
- AVFormatParameters *ap)
+ static int mpegts_read_header(AVFormatContext *s)
{
-@@ -2118,6 +2156,7 @@ static int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
+ MpegTSContext *ts = s->priv_data;
+@@ -2176,6 +2214,7 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
int64_t pos, timestamp;
uint8_t buf[TS_PACKET_SIZE];
int pcr_l, pcr_pid = ((PESContext*)s->streams[stream_index]->priv_data)->pcr_pid;
@@ -65,7 +63,7 @@ index 8bdafc5..ba2f163 100644
pos = ((*ppos + ts->raw_packet_size - 1 - ts->pos47) / ts->raw_packet_size) * ts->raw_packet_size + ts->pos47;
while(pos < pos_limit) {
if (avio_seek(s->pb, pos, SEEK_SET) < 0)
-@@ -2135,6 +2174,11 @@ static int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
+@@ -2193,6 +2232,11 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
*ppos = pos;
return timestamp;
}
@@ -77,24 +75,24 @@ index 8bdafc5..ba2f163 100644
pos += ts->raw_packet_size;
}
-@@ -2322,7 +2366,7 @@ AVInputFormat ff_mpegts_demuxer = {
+@@ -2294,7 +2338,7 @@ AVInputFormat ff_mpegts_demuxer = {
.read_header = mpegts_read_header,
.read_packet = mpegts_read_packet,
.read_close = mpegts_read_close,
- .read_timestamp = mpegts_get_dts,
+ .read_timestamp = mpegts_get_pcr,
- .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
- #ifdef USE_SYNCPOINT_SEARCH
- .read_seek2 = read_seek2,
-@@ -2336,7 +2380,7 @@ AVInputFormat ff_mpegtsraw_demuxer = {
+ .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+ };
+
+@@ -2305,7 +2349,7 @@ AVInputFormat ff_mpegtsraw_demuxer = {
.read_header = mpegts_read_header,
.read_packet = mpegts_raw_read_packet,
.read_close = mpegts_read_close,
- .read_timestamp = mpegts_get_dts,
+ .read_timestamp = mpegts_get_pcr,
- .flags = AVFMT_SHOW_IDS|AVFMT_TS_DISCONT,
- #ifdef USE_SYNCPOINT_SEARCH
- .read_seek2 = read_seek2,
+ .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+ .priv_class = &mpegtsraw_class,
+ };
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0011-Get-stream-durations-using-read_timestamp.patch b/lib/ffmpeg/patches/0011-Get-stream-durations-using-read_timestamp.patch
index 60f097ed19..88710d82e7 100644
--- a/lib/ffmpeg/patches/0011-Get-stream-durations-using-read_timestamp.patch
+++ b/lib/ffmpeg/patches/0011-Get-stream-durations-using-read_timestamp.patch
@@ -1,19 +1,18 @@
-From 95926a84fe1369f796c916f72c50dd5b7d50b15a Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Sat, 22 Oct 2011 19:01:38 +0200
-Subject: [PATCH 11/24] Get stream durations using read_timestamp
+From f3bdfee28332b1ccc794186d91a1f9e082004a1e Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 11:55:37 +0000
+Subject: [PATCH] Get-stream-durations-using-read_timestamp
---
libavformat/utils.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/libavformat/utils.c b/libavformat/utils.c
-index ebb8493..25fe38e 100644
+index bdb9d17..3e7dec9 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
-@@ -2082,6 +2082,41 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic)
- #define DURATION_MAX_READ_SIZE 250000
- #define DURATION_MAX_RETRY 3
+@@ -2283,6 +2283,41 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic)
+ #define DURATION_MAX_READ_SIZE 250000LL
+ #define DURATION_MAX_RETRY 4
+static void av_estimate_timings_from_pts2(AVFormatContext *ic, int64_t old_offset)
+{
@@ -31,7 +30,7 @@ index ebb8493..25fe38e 100644
+ if (st->start_time > ts || st->start_time == AV_NOPTS_VALUE)
+ st->start_time = ts;
+
-+ pos = url_fsize(ic->pb) - 1;
++ pos = avio_size(ic->pb) - 1;
+ do {
+ pos -= step;
+ ts = ic->iformat->read_timestamp(ic, i, &pos, pos + step);
@@ -53,10 +52,10 @@ index ebb8493..25fe38e 100644
/* only usable for MPEG-PS streams */
static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
{
-@@ -2184,6 +2219,10 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
- /* at least one component has timings - we use them for all
+@@ -2382,6 +2417,10 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
the components */
fill_all_stream_timings(ic);
+ ic->duration_estimation_method = AVFMT_DURATION_FROM_STREAM;
+ } else if (ic->iformat->read_timestamp &&
+ file_size && ic->pb->seekable) {
+ /* get accurate estimate from the PTSes */
@@ -65,5 +64,5 @@ index ebb8493..25fe38e 100644
av_log(ic, AV_LOG_WARNING, "Estimating duration from bitrate, this may be inaccurate\n");
/* less precise: use bitrate info */
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0013-aacenc-add-recognized-profiles-array.patch b/lib/ffmpeg/patches/0013-aacenc-add-recognized-profiles-array.patch
index 8e3b847106..d34b45bd5c 100644
--- a/lib/ffmpeg/patches/0013-aacenc-add-recognized-profiles-array.patch
+++ b/lib/ffmpeg/patches/0013-aacenc-add-recognized-profiles-array.patch
@@ -1,19 +1,17 @@
-From 8728e8bdef30313f1961d2687cfb0ffccf540797 Mon Sep 17 00:00:00 2001
-From: Anssi Hannula <anssi.hannula@iki.fi>
-Date: Fri, 21 Jan 2011 20:44:02 +0200
-Subject: [PATCH 13/24] aacenc: add recognized profiles array
+From 51e09f5022d1250802cbec8017a2c5e76160bdcb Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 16:53:54 +0000
+Subject: [PATCH] aacenc-add-recognized-profiles-array
-Submitted upstream.
---
libavcodec/aacenc.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
-index 2ff6f9c..4ffaa3d 100644
+index 348d3a2..3cbca03 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
-@@ -777,6 +777,11 @@ static const AVClass aacenc_class = {
- LIBAVUTIL_VERSION_INT,
+@@ -818,6 +818,11 @@ static const int mpeg4audio_sample_rates[16] = {
+ 24000, 22050, 16000, 12000, 11025, 8000, 7350
};
+static const AVProfile profiles[] = {
@@ -24,12 +22,12 @@ index 2ff6f9c..4ffaa3d 100644
AVCodec ff_aac_encoder = {
.name = "aac",
.type = AVMEDIA_TYPE_AUDIO,
-@@ -789,4 +794,5 @@ AVCodec ff_aac_encoder = {
- .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_FLT,AV_SAMPLE_FMT_NONE},
- .long_name = NULL_IF_CONFIG_SMALL("Advanced Audio Coding"),
- .priv_class = &aacenc_class,
-+ .profiles = profiles,
+@@ -833,4 +838,5 @@ AVCodec ff_aac_encoder = {
+ AV_SAMPLE_FMT_NONE },
+ .long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
+ .priv_class = &aacenc_class,
++ .profiles = profiles,
};
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0016-Speed-up-mpegts-av_find_stream_info.patch b/lib/ffmpeg/patches/0016-Speed-up-mpegts-av_find_stream_info.patch
index a1af1bd744..9281558b46 100644
--- a/lib/ffmpeg/patches/0016-Speed-up-mpegts-av_find_stream_info.patch
+++ b/lib/ffmpeg/patches/0016-Speed-up-mpegts-av_find_stream_info.patch
@@ -27,7 +27,7 @@ index c374cb9..6da6db5 100644
- s->ctx_flags |= AVFMTCTX_NOHEADER;
+ /* only flag NOHEADER if we are in file mode,
+ in streaming mode scanning may take too long for users */
-+ if (!url_is_streamed(pb))
++ if (pb->seekable)
+ s->ctx_flags |= AVFMTCTX_NOHEADER;
} else {
AVStream *st;
diff --git a/lib/ffmpeg/patches/0017-allow-customizing-shared-library-soname-name-with-ma.patch b/lib/ffmpeg/patches/0017-allow-customizing-shared-library-soname-name-with-ma.patch
index 8ca10d4393..7260a483c9 100644
--- a/lib/ffmpeg/patches/0017-allow-customizing-shared-library-soname-name-with-ma.patch
+++ b/lib/ffmpeg/patches/0017-allow-customizing-shared-library-soname-name-with-ma.patch
@@ -1,27 +1,24 @@
-From 954d92f3fc2c5bd45fc1b4d347f2d9295d269574 Mon Sep 17 00:00:00 2001
-From: Anssi Hannula <anssi.hannula@iki.fi>
-Date: Wed, 23 Feb 2011 19:24:07 +0200
-Subject: [PATCH 17/24] allow customizing shared library soname (name with
- major)
+From 4f4aacd3d85c5caecbc0b0f02739aff0b9d8f657 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 16:58:33 +0000
+Subject: [PATCH] allow-customizing-shared-library-soname-name-with-ma
-This is a hack.
---
configure | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/configure b/configure
-index 6255f57..5e11b2d 100755
+index 6b9e668..d4aa8f2 100755
--- a/configure
+++ b/configure
-@@ -238,6 +238,7 @@ Advanced options (experts only):
+@@ -269,6 +269,7 @@ Advanced options (experts only):
--arch=ARCH select architecture [$arch]
--cpu=CPU select the minimum required CPU (affects
instruction selection, may crash on older CPUs)
+ --custom-libname-with-major=NAME custom library name with major [$SLIBNAME_WITH_MAJOR]
- --disable-asm disable all assembler optimizations
- --disable-altivec disable AltiVec optimizations
- --disable-amd3dnow disable 3DNow! optimizations
-@@ -1298,6 +1299,7 @@ CMDLINE_SET="
+ --enable-pic build position-independent code
+ --enable-sram allow use of on-chip SRAM
+ --enable-thumb compile for Thumb instruction set
+@@ -1527,6 +1528,7 @@ CMDLINE_SET="
cpu
cross_prefix
cxx
@@ -29,7 +26,7 @@ index 6255f57..5e11b2d 100755
dep_cc
extra_version
host_cc
-@@ -2778,6 +2780,8 @@ EOF
+@@ -3408,6 +3410,8 @@ EOF
exit 1;
fi
@@ -39,5 +36,5 @@ index 6255f57..5e11b2d 100755
enabled $1 || { enabled $2 && die "$2 is $1 and --enable-$1 is not specified."; }
}
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0019-dxva-mpeg2-speed-up-slice-allocation.patch b/lib/ffmpeg/patches/0019-dxva-mpeg2-speed-up-slice-allocation.patch
index 9bb1a9a812..4336c3180f 100644
--- a/lib/ffmpeg/patches/0019-dxva-mpeg2-speed-up-slice-allocation.patch
+++ b/lib/ffmpeg/patches/0019-dxva-mpeg2-speed-up-slice-allocation.patch
@@ -36,8 +36,8 @@ diff --git a/libavcodec/dxva2_mpeg2.c b/libavcodec/dxva2_mpeg2.c
index 8ba83b6..90507f9 100644
--- a/libavcodec/dxva2_mpeg2.c
+++ b/libavcodec/dxva2_mpeg2.c
-@@ -224,6 +224,16 @@ static int start_frame(AVCodecContext *avctx,
- ctx_pic->slice_alloc = 0;
+@@ -222,6 +222,16 @@
+ ctx_pic->slice_count = 0;
ctx_pic->bitstream_size = 0;
ctx_pic->bitstream = NULL;
+
@@ -52,23 +52,24 @@ index 8ba83b6..90507f9 100644
+
return 0;
}
-
-@@ -258,6 +268,7 @@ static int end_frame(AVCodecContext *avctx)
+
+@@ -251,6 +261,7 @@
struct MpegEncContext *s = avctx->priv_data;
struct dxva2_picture_context *ctx_pic =
s->current_picture_ptr->f.hwaccel_picture_private;
+ struct dxva_context *ctx = avctx->hwaccel_context;
-
+ int ret;
+
if (ctx_pic->slice_count <= 0 || ctx_pic->bitstream_size <= 0)
- return -1;
-@@ -266,6 +277,7 @@ static int end_frame(AVCodecContext *avctx)
- &ctx_pic->qm, sizeof(ctx_pic->qm),
- commit_bitstream_and_slice_buffer);
- av_freep(ctx_pic->slice);
+@@ -261,6 +272,8 @@
+ commit_bitstream_and_slice_buffer);
+ if (!ret)
+ ff_mpeg_draw_horiz_band(s, 0, avctx->height);
++
+ ctx->last_slice_count = ctx_pic->slice_count;
+ return ret;
}
-
- AVHWAccel ff_mpeg2_dxva2_hwaccel = {
+
--
1.7.9.4
diff --git a/lib/ffmpeg/patches/0020-dxva-vc1-Take-BI-into-account-for-forward-and-backwa.patch b/lib/ffmpeg/patches/0020-dxva-vc1-Take-BI-into-account-for-forward-and-backwa.patch
index faf10c744a..023995ecf6 100644
--- a/lib/ffmpeg/patches/0020-dxva-vc1-Take-BI-into-account-for-forward-and-backwa.patch
+++ b/lib/ffmpeg/patches/0020-dxva-vc1-Take-BI-into-account-for-forward-and-backwa.patch
@@ -1,16 +1,13 @@
-From 1c0fcc2cfe27197368e0490afe34dd51a831995f Mon Sep 17 00:00:00 2001
-From: CrystalP <CrystalP@xbmc.org>
-Date: Wed, 5 Oct 2011 12:53:38 -0400
-Subject: [PATCH 20/24] dxva-vc1 Take BI into account for forward and backward
- pictures
+From 85a109a59218337bbfac6b3ff54e37499dcbb306 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 17:06:15 +0000
+Subject: [PATCH] dxva-vc1-Take-BI-into-account-for-forward-and-backwa
-See ticket #11643, sample on team ftp, samples/11643/vc-1 test.wmv
---
libavcodec/dxva2_vc1.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c
-index 0ae9685..23507d3 100644
+index ed4836d..26e1ad4 100644
--- a/libavcodec/dxva2_vc1.c
+++ b/libavcodec/dxva2_vc1.c
@@ -38,15 +38,17 @@ static void fill_picture_parameters(AVCodecContext *avctx,
@@ -23,12 +20,12 @@ index 0ae9685..23507d3 100644
memset(pp, 0, sizeof(*pp));
pp->wDecodedPictureIndex =
pp->wDeblockedPictureIndex = ff_dxva2_get_surface_index(ctx, current_picture);
-- if (s->pict_type != AV_PICTURE_TYPE_I)
+- if (s->pict_type != AV_PICTURE_TYPE_I && !v->bi_type)
+ if (!bPicIntra)
pp->wForwardRefPictureIndex = ff_dxva2_get_surface_index(ctx, &s->last_picture);
else
pp->wForwardRefPictureIndex = 0xffff;
-- if (s->pict_type == AV_PICTURE_TYPE_B)
+- if (s->pict_type == AV_PICTURE_TYPE_B && !v->bi_type)
+ if (bPicBackwardPrediction)
pp->wBackwardRefPictureIndex = ff_dxva2_get_surface_index(ctx, &s->next_picture);
else
@@ -36,14 +33,14 @@ index 0ae9685..23507d3 100644
@@ -69,8 +71,8 @@ static void fill_picture_parameters(AVCodecContext *avctx,
if (s->picture_structure & PICT_BOTTOM_FIELD)
pp->bPicStructure |= 0x02;
- pp->bSecondField = v->interlace && v->fcm != ILACE_FIELD && !s->first_field;
-- pp->bPicIntra = s->pict_type == AV_PICTURE_TYPE_I;
-- pp->bPicBackwardPrediction = s->pict_type == AV_PICTURE_TYPE_B;
+ pp->bSecondField = v->interlace && v->fcm == ILACE_FIELD && v->second_field;
+- pp->bPicIntra = s->pict_type == AV_PICTURE_TYPE_I || v->bi_type;
+- pp->bPicBackwardPrediction = s->pict_type == AV_PICTURE_TYPE_B && !v->bi_type;
+ pp->bPicIntra = bPicIntra;
+ pp->bPicBackwardPrediction = bPicBackwardPrediction;
pp->bBidirectionalAveragingMode = (1 << 7) |
((ctx->cfg->ConfigIntraResidUnsigned != 0) << 6) |
((ctx->cfg->ConfigResidDiffAccelerator != 0) << 5) |
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0021-dxva-vc1-Pass-overlapping-transforms-hint.patch b/lib/ffmpeg/patches/0021-dxva-vc1-Pass-overlapping-transforms-hint.patch
index c108abca60..efb9132266 100644
--- a/lib/ffmpeg/patches/0021-dxva-vc1-Pass-overlapping-transforms-hint.patch
+++ b/lib/ffmpeg/patches/0021-dxva-vc1-Pass-overlapping-transforms-hint.patch
@@ -1,29 +1,26 @@
-From 6ba7fd3e2acf39e8c276e7db901c54dba0fd8307 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Sat, 22 Oct 2011 21:59:22 +0200
-Subject: [PATCH 21/24] dxva-vc1 Pass overlapping transforms hint
+From 484c01de4d5dba595ad8dc5582d4f8d2b7b7f2d4 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 17:11:04 +0000
+Subject: [PATCH] dxva-vc1-Pass-overlapping-transforms-hint
-see ticket #11643
---
- libavcodec/dxva2_vc1.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
+ libavcodec/dxva2_vc1.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c
-index 23507d3..9d550dd 100644
+index 26e1ad4..3dc32cb 100644
--- a/libavcodec/dxva2_vc1.c
+++ b/libavcodec/dxva2_vc1.c
-@@ -103,7 +103,10 @@ static void fill_picture_parameters(AVCodecContext *avctx,
+@@ -103,7 +103,9 @@ static void fill_picture_parameters(AVCodecContext *avctx,
(v->rangered << 3) |
(s->max_b_frames );
pp->bPicExtrapolation = (!v->interlace || v->fcm == PROGRESSIVE) ? 1 : 2;
-- pp->bPicDeblocked = ((v->profile != PROFILE_ADVANCED && v->rangeredfrm) << 5) |
+- pp->bPicDeblocked = ((!pp->bPicBackwardPrediction && v->overlap) << 6) |
+ pp->bPicDeblocked = ((v->overlap == 1 &&
+ pp->bPicBackwardPrediction == 0 &&
+ ctx->cfg->ConfigResidDiffHost == 0) << 6) |
-+ ((v->profile != PROFILE_ADVANCED && v->rangeredfrm) << 5) |
+ ((v->profile != PROFILE_ADVANCED && v->rangeredfrm) << 5) |
(s->loop_filter << 1);
pp->bPicDeblockConfined = (v->postprocflag << 7) |
- (v->broadcast << 6) |
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0022-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch b/lib/ffmpeg/patches/0022-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch
index e56f8ee216..d0a7b88abb 100644
--- a/lib/ffmpeg/patches/0022-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch
+++ b/lib/ffmpeg/patches/0022-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch
@@ -1,17 +1,9 @@
-From 3b6417ff1e86c2aa72fc5360f67be2db8b83b80d Mon Sep 17 00:00:00 2001
-From: CrystalP <CrystalP@xbmc.org>
-Date: Wed, 5 Oct 2011 13:13:25 -0400
-Subject: [PATCH 22/24] dxva-h264 Fix dxva playback of streams that don't
- start with an I-Frame.
+From 95b4c0af771121001967e01c1a13125c13178e25 Mon Sep 17 00:00:00 2001
+From: marc <mhocking@ubuntu-desktop.(none)>
+Date: Mon, 18 Feb 2013 17:18:18 +0000
+Subject: [PATCH] dxva-h264 Fix dxva playback of streams that don't start
+ with an I-Frame.
-GPUs with ATI UVDa and UVD+ have trouble when decoding doesn't start on an
-I-Frame, and they don't recover on later I-Frames.
-
-The variable to track the first I-Frame is in H264Context so that it can be
-reset by code in h264 when initializing the context or flushing.
-
-credits isidrogar, see ticket #11772.
-sample on team ftp, samples/11772/CSI_ New York - TV3 - 2008-09-16_1.ts
---
libavcodec/dxva2_h264.c | 8 ++++++++
libavcodec/h264.c | 2 ++
@@ -19,11 +11,11 @@ sample on team ftp, samples/11772/CSI_ New York - TV3 - 2008-09-16_1.ts
3 files changed, 12 insertions(+)
diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
-index af91e02..b7e0251 100644
+index f7d4e5d..2ad4afd 100644
--- a/libavcodec/dxva2_h264.c
+++ b/libavcodec/dxva2_h264.c
-@@ -432,6 +432,14 @@ static int end_frame(AVCodecContext *avctx)
-
+@@ -431,6 +431,14 @@
+
if (ctx_pic->slice_count <= 0 || ctx_pic->bitstream_size <= 0)
return -1;
+
@@ -34,42 +26,42 @@ index af91e02..b7e0251 100644
+ h->got_first_iframe = 1;
+ }
+
- return ff_dxva2_common_end_frame(avctx, s,
- &ctx_pic->pp, sizeof(ctx_pic->pp),
- &ctx_pic->qm, sizeof(ctx_pic->qm),
+ ret = ff_dxva2_common_end_frame(avctx, h->cur_pic_ptr,
+ &ctx_pic->pp, sizeof(ctx_pic->pp),
+ &ctx_pic->qm, sizeof(ctx_pic->qm),
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
-index d010b55..98c7a5d 100644
+index 0aab4e7..aee9407 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
-@@ -2372,6 +2372,7 @@ static void flush_dpb(AVCodecContext *avctx){
+@@ -2183,6 +2183,7 @@ static void flush_dpb(AVCodecContext *avctx)
h->delayed_pic[i]->f.reference = 0;
- h->delayed_pic[i]= NULL;
+ h->delayed_pic[i] = NULL;
+ }
++ h->got_first_iframe = 0;
+
+ flush_change(h);
+ ff_mpeg_flush(avctx);
+@@ -2597,6 +2598,7 @@ static int h264_slice_header_init(H264Context *h, int reinit)
}
-+ h->got_first_iframe = 0;
- h->outputed_poc=h->next_outputed_poc= INT_MIN;
+ s->first_field = 0;
h->prev_interlaced_frame = 1;
- idr(h);
-@@ -2819,6 +2820,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
- }
- s->first_field = 0;
- h->prev_interlaced_frame = 1;
-+ h->got_first_iframe = 0;
++ h->got_first_iframe = 0;
- init_scan_tables(h);
- if (ff_h264_alloc_tables(h) < 0) {
+ init_scan_tables(h);
+ if (ff_h264_alloc_tables(h) < 0) {
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
-index d0dfca3..f4df997 100644
+index 4b6a19e..06c2384 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
-@@ -584,6 +584,8 @@ typedef struct H264Context{
- int luma_weight_flag[2]; ///< 7.4.3.2 luma_weight_lX_flag
- int chroma_weight_flag[2]; ///< 7.4.3.2 chroma_weight_lX_flag
+@@ -588,6 +588,8 @@ typedef struct H264Context {
+ int luma_weight_flag[2]; ///< 7.4.3.2 luma_weight_lX_flag
+ int chroma_weight_flag[2]; ///< 7.4.3.2 chroma_weight_lX_flag
+ int got_first_iframe;
+
// Timestamp stuff
- int sei_buffering_period_present; ///< Buffering period SEI flag
- int initial_cpb_removal_delay[32]; ///< Initial timestamps for CPBs
+ int sei_buffering_period_present; ///< Buffering period SEI flag
+ int initial_cpb_removal_delay[32]; ///< Initial timestamps for CPBs
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0024-add-public-version-of-ff_read_frame_flush.patch b/lib/ffmpeg/patches/0024-add-public-version-of-ff_read_frame_flush.patch
index f6c5c3bab7..46e44e28a4 100644
--- a/lib/ffmpeg/patches/0024-add-public-version-of-ff_read_frame_flush.patch
+++ b/lib/ffmpeg/patches/0024-add-public-version-of-ff_read_frame_flush.patch
@@ -1,21 +1,17 @@
-From 399301fd74ed748d24d7ee2806f50e8ad57aeea8 Mon Sep 17 00:00:00 2001
-From: elupus <elupus@xbmc.org>
-Date: Tue, 1 Nov 2011 20:18:35 +0100
-Subject: [PATCH 24/24] add public version of ff_read_frame_flush
+From f9cbb94f63aaaf889c21445e71fdd258f9ebcad1 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 17:31:52 +0000
+Subject: [PATCH] add-public-version-of-ff_read_frame_flush
-We need this since we sometimes seek on the
-input stream behind ffmpeg's back. After this
-all data need to be flushed completely.
---
libavformat/avformat.h | 5 +++++
libavformat/utils.c | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
-index 1e8a629..c76ac71 100644
+index c907d4e..c0f517c 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
-@@ -1631,6 +1631,11 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt);
+@@ -1615,6 +1615,11 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt);
int av_read_frame(AVFormatContext *s, AVPacket *pkt);
/**
@@ -28,10 +24,10 @@ index 1e8a629..c76ac71 100644
* 'timestamp' in 'stream_index'.
* @param stream_index If stream_index is (-1), a default
diff --git a/libavformat/utils.c b/libavformat/utils.c
-index 25fe38e..4729a40 100644
+index 3e7dec9..72925bb 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
-@@ -1463,6 +1463,11 @@ void ff_read_frame_flush(AVFormatContext *s)
+@@ -1636,6 +1636,11 @@ void ff_read_frame_flush(AVFormatContext *s)
}
}
@@ -40,9 +36,9 @@ index 25fe38e..4729a40 100644
+ ff_read_frame_flush(s);
+}
+
- #if FF_API_SEEK_PUBLIC
- void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp)
+ void ff_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp)
{
+ int i;
--
-1.7.9.4
+1.7.10.4
diff --git a/lib/ffmpeg/patches/0026-Handle-return-value-of-BeginFrame-better.patch b/lib/ffmpeg/patches/0026-Handle-return-value-of-BeginFrame-better.patch
index b7051c0128..1a2258ef88 100644
--- a/lib/ffmpeg/patches/0026-Handle-return-value-of-BeginFrame-better.patch
+++ b/lib/ffmpeg/patches/0026-Handle-return-value-of-BeginFrame-better.patch
@@ -28,14 +28,14 @@ index b6f8aea..3a10f69 100644
{
@@ -88,10 +91,17 @@ int ff_dxva2_common_end_frame(AVCodecContext *avctx, MpegEncContext *s,
DXVA2_DecodeBufferDesc buffer[4];
- DXVA2_DecodeExecuteParams exec;
+ DXVA2_DecodeExecuteParams exec = { 0 };
int result;
+ HRESULT hr;
+ int tries = 0;
- if (FAILED(IDirectXVideoDecoder_BeginFrame(ctx->decoder,
+ while ((hr=IDirectXVideoDecoder_BeginFrame(ctx->decoder,
- ff_dxva2_get_surface(s->current_picture_ptr),
+ ff_dxva2_get_surface(pic),
- NULL))) {
+ NULL)) == E_PENDING
+ && tries < MAX_RETRY_ON_PENDING) {
diff --git a/lib/ffmpeg/patches/0029-stop-forcing-gas-preprocessor-for-darwin.patch b/lib/ffmpeg/patches/0029-stop-forcing-gas-preprocessor-for-darwin.patch
index fb3b558fbc..06f1afec38 100644
--- a/lib/ffmpeg/patches/0029-stop-forcing-gas-preprocessor-for-darwin.patch
+++ b/lib/ffmpeg/patches/0029-stop-forcing-gas-preprocessor-for-darwin.patch
@@ -1,14 +1,24 @@
+From bc85fb8d204c7090dc6856d880f7556e7291d353 Mon Sep 17 00:00:00 2001
+Date: Mon, 18 Feb 2013 21:18:39 +0000
+Subject: [PATCH] stop-forcing-gas-preprocessor-for-darwin
+
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/configure b/configure
-index 5e11b2d..c06005b 100755
+index d4aa8f2..980346e 100755
--- a/configure
+++ b/configure
-@@ -2635,7 +2635,7 @@ case $target_os in
+@@ -3166,7 +3166,7 @@ case $target_os in
+ strip="strip -d"
;;
darwin)
- enable malloc_aligned
- gas="gas-preprocessor.pl $cc"
+ #gas="gas-preprocessor.pl $cc"
enabled ppc && add_asflags -force_cpusubtype_ALL
- SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
+ SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress
+--
+1.7.10.4
diff --git a/lib/ffmpeg/patches/README-patches b/lib/ffmpeg/patches/README-patches
new file mode 100644
index 0000000000..5f1db53098
--- /dev/null
+++ b/lib/ffmpeg/patches/README-patches
@@ -0,0 +1,7 @@
+This directory contains XBMC custom patches that are refactored to fit the FFmpeg n1.2 rev e820e3a distribution.
+
+All patches in the patches folder are already applied to the ffmpeg code base and are only kept here for tracking history. Some of patches are ours and some are backports from ffmpegs upstream. Patches that has become obsolete since ffmpeg n0.10.2 are moved to obsolete-patches, also for tracking reasons.
+
+Normally you can have a look into that patchfile itself to see if its a backport or not (we normally leave the original commit message and the committer in there). You can also use "git log lib/ffmpeg/patches" to show the history where the patch file came from.
+
+Whenever you need to patch a new ffmpeg versions you apply the patch and then add the git diff to the patches folder in the next commit (if its a backport - adapt the patch so that it clearly states that it is a change from upstream and which commit in ffmpeg repo it is).
diff --git a/lib/ffmpeg/patches/0012-include-stdint.h.patch b/lib/ffmpeg/patches/obsolete-patches/0012-include-stdint.h.patch
index f81c35a443..f81c35a443 100644
--- a/lib/ffmpeg/patches/0012-include-stdint.h.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0012-include-stdint.h.patch
diff --git a/lib/ffmpeg/patches/0023-Changed-format-string-td-not-supported-by-our-MingW-.patch b/lib/ffmpeg/patches/obsolete-patches/0023-Changed-format-string-td-not-supported-by-our-MingW-.patch
index 04c19f6f74..04c19f6f74 100644
--- a/lib/ffmpeg/patches/0023-Changed-format-string-td-not-supported-by-our-MingW-.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0023-Changed-format-string-td-not-supported-by-our-MingW-.patch
diff --git a/lib/ffmpeg/patches/0025-dvb-subtitle-decoding-when-display-segment-is-mi.patch b/lib/ffmpeg/patches/obsolete-patches/0025-dvb-subtitle-decoding-when-display-segment-is-mi.patch
index d7c035016b..d7c035016b 100644
--- a/lib/ffmpeg/patches/0025-dvb-subtitle-decoding-when-display-segment-is-mi.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0025-dvb-subtitle-decoding-when-display-segment-is-mi.patch
diff --git a/lib/ffmpeg/patches/0027-threads-Perform-the-generic-progress-cleanup-more-ca.patch b/lib/ffmpeg/patches/obsolete-patches/0027-threads-Perform-the-generic-progress-cleanup-more-ca.patch
index 311bef4ce7..311bef4ce7 100644
--- a/lib/ffmpeg/patches/0027-threads-Perform-the-generic-progress-cleanup-more-ca.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0027-threads-Perform-the-generic-progress-cleanup-more-ca.patch
diff --git a/lib/ffmpeg/patches/0028-added-support-for-OTF-fonts.patch b/lib/ffmpeg/patches/obsolete-patches/0028-added-support-for-OTF-fonts.patch
index 2167d9fb8e..2167d9fb8e 100644
--- a/lib/ffmpeg/patches/0028-added-support-for-OTF-fonts.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0028-added-support-for-OTF-fonts.patch
diff --git a/lib/ffmpeg/patches/0028-fixed-dvd-still-frames-ended-up-in-internal-lavf.patch b/lib/ffmpeg/patches/obsolete-patches/0028-fixed-dvd-still-frames-ended-up-in-internal-lavf.patch
index db2b39a5ed..db2b39a5ed 100644
--- a/lib/ffmpeg/patches/0028-fixed-dvd-still-frames-ended-up-in-internal-lavf.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0028-fixed-dvd-still-frames-ended-up-in-internal-lavf.patch
diff --git a/lib/ffmpeg/patches/0030-ARM-generate-position-independent-code-to-access-data-symbols.patch b/lib/ffmpeg/patches/obsolete-patches/0030-ARM-generate-position-independent-code-to-access-data-symbols.patch
index 22ed06d826..22ed06d826 100644
--- a/lib/ffmpeg/patches/0030-ARM-generate-position-independent-code-to-access-data-symbols.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0030-ARM-generate-position-independent-code-to-access-data-symbols.patch
diff --git a/lib/ffmpeg/patches/0031-ARM-vp56-allow-inline-asm-to-build-with-clang.patch b/lib/ffmpeg/patches/obsolete-patches/0031-ARM-vp56-allow-inline-asm-to-build-with-clang.patch
index 994be915e2..994be915e2 100644
--- a/lib/ffmpeg/patches/0031-ARM-vp56-allow-inline-asm-to-build-with-clang.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0031-ARM-vp56-allow-inline-asm-to-build-with-clang.patch
diff --git a/lib/ffmpeg/patches/0032-PGS-use-the-PTS-from-the-presentation-segment.patch b/lib/ffmpeg/patches/obsolete-patches/0032-PGS-use-the-PTS-from-the-presentation-segment.patch
index 7e26c66bb3..7e26c66bb3 100644
--- a/lib/ffmpeg/patches/0032-PGS-use-the-PTS-from-the-presentation-segment.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0032-PGS-use-the-PTS-from-the-presentation-segment.patch
diff --git a/lib/ffmpeg/patches/0033-ARM-ac3-fix-ac3_bit_alloc_calc_bap_armv6.patch b/lib/ffmpeg/patches/obsolete-patches/0033-ARM-ac3-fix-ac3_bit_alloc_calc_bap_armv6.patch
index fb5c6d091a..fb5c6d091a 100644
--- a/lib/ffmpeg/patches/0033-ARM-ac3-fix-ac3_bit_alloc_calc_bap_armv6.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0033-ARM-ac3-fix-ac3_bit_alloc_calc_bap_armv6.patch
diff --git a/lib/ffmpeg/patches/0034-ARM-fix-h264-chroma-mc-overrides.patch b/lib/ffmpeg/patches/obsolete-patches/0034-ARM-fix-h264-chroma-mc-overrides.patch
index 8b13712f3e..8b13712f3e 100644
--- a/lib/ffmpeg/patches/0034-ARM-fix-h264-chroma-mc-overrides.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0034-ARM-fix-h264-chroma-mc-overrides.patch
diff --git a/lib/ffmpeg/patches/0035-ffmpeg-fixed-missing-S_DVBSUB-subtitles.patch b/lib/ffmpeg/patches/obsolete-patches/0035-ffmpeg-fixed-missing-S_DVBSUB-subtitles.patch
index 506655b3b3..506655b3b3 100644
--- a/lib/ffmpeg/patches/0035-ffmpeg-fixed-missing-S_DVBSUB-subtitles.patch
+++ b/lib/ffmpeg/patches/obsolete-patches/0035-ffmpeg-fixed-missing-S_DVBSUB-subtitles.patch