All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2
@ 2016-08-15 15:03 Bernd Kuhls
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 2/6] package/ffmpeg: default to --cpu=generic for MIPS architecture Bernd Kuhls
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Bernd Kuhls @ 2016-08-15 15:03 UTC (permalink / raw)
  To: buildroot

From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>

- Remove non-existing configure options:
  - --disable-mips32r2
  - --disable-libvo-aacenc
  - --enable-libdcadec
    (https://github.com/FFmpeg/FFmpeg/commit/e259dc86a80398d56d1aabcf6203f80616a4d04d)

- Amend renamed configure options:
  - --disable-mipsdspr1 has been renamed to --disable-mipsdsp

Remove all Kodi-related patches according to upstream repo:
https://github.com/xbmc/FFmpeg/commits/release/3.1-xbmc

Kodi now uses an unpatched ffmpeg.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v5: bump to version 3.1.2
v4: bump to version 3.1.1
v3: bump to version 3.0.2
v2: bump to version 3.0.1

 ...-dvdsub-palette-as-stored-on-normal-dvd-s.patch |  63 -------------
 ...packet-returns-AVERROR_IO-we-are-done.-ff.patch |  32 -------
 ...t-7187-TV-Teletext-support-for-DVB-EBU-Te.patch |  47 ---------
 ...on-t-accept-mpegts-PMT-that-isn-t-current.patch |  46 ---------
 ...parse-PMT-unless-it-s-version-has-changed.patch |  48 ----------
 ...mestamps-as-well-as-PCR-timestamps-to-fin.patch | 105 ---------------------
 ...Get-stream-durations-using-read_timestamp.patch |  74 ---------------
 ...ow-4-second-skew-between-streams-in-mov-b.patch |  33 -------
 ...ak-in-mpegts-demuxer-on-some-malformed-mp.patch |  44 ---------
 .../0011-Speed-up-mpegts-av_find_stream_info.patch |  30 ------
 ...ix-dxva-playback-of-streams-that-don-t-st.patch |  77 ---------------
 package/ffmpeg/ffmpeg.hash                         |   2 +-
 package/ffmpeg/ffmpeg.mk                           |  20 +---
 13 files changed, 3 insertions(+), 618 deletions(-)
 delete mode 100644 package/ffmpeg/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch
 delete mode 100644 package/ffmpeg/0003-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch
 delete mode 100644 package/ffmpeg/0004-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch
 delete mode 100644 package/ffmpeg/0005-Don-t-accept-mpegts-PMT-that-isn-t-current.patch
 delete mode 100644 package/ffmpeg/0006-Don-t-reparse-PMT-unless-it-s-version-has-changed.patch
 delete mode 100644 package/ffmpeg/0007-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch
 delete mode 100644 package/ffmpeg/0008-Get-stream-durations-using-read_timestamp.patch
 delete mode 100644 package/ffmpeg/0009-changed-allow-4-second-skew-between-streams-in-mov-b.patch
 delete mode 100644 package/ffmpeg/0010-fixed-memleak-in-mpegts-demuxer-on-some-malformed-mp.patch
 delete mode 100644 package/ffmpeg/0011-Speed-up-mpegts-av_find_stream_info.patch
 delete mode 100644 package/ffmpeg/0012-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch

diff --git a/package/ffmpeg/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch b/package/ffmpeg/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch
deleted file mode 100644
index a51a7d3..0000000
--- a/package/ffmpeg/0001-Support-raw-dvdsub-palette-as-stored-on-normal-dvd-s.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 74f1c9b43b191a9d6b494e90a4a11677fca33c13 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/13] 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.
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavcodec/dvdsubdec.c | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
-index 39604f3..a711e16 100644
---- a/libavcodec/dvdsubdec.c
-+++ b/libavcodec/dvdsubdec.c
-@@ -64,6 +64,24 @@ static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *
-     }
- }
- 
-+static void ayvu_to_argb(const uint8_t *ayvu, uint32_t *argb, int num_values)
-+{
-+    uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;
-+    uint8_t r, g, b;
-+    int i, y, cb, cr, a;
-+    int r_add, g_add, b_add;
-+
-+    for (i = num_values; i > 0; i--) {
-+        a = *ayvu++;
-+        y = *ayvu++;
-+        cr = *ayvu++;
-+        cb = *ayvu++;
-+        YUV_TO_RGB1_CCIR(cb, cr);
-+        YUV_TO_RGB2_CCIR(r, g, b, y);
-+        *argb++ = (a << 24) | (r << 16) | (g << 8) | b;
-+    }
-+}
-+
- static int decode_run_2bit(GetBitContext *gb, int *color)
- {
-     unsigned int v, t;
-@@ -697,6 +715,12 @@ static av_cold int dvdsub_init(AVCodecContext *avctx)
-         parse_ifo_palette(ctx, ctx->ifo_str);
-     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;
-+    }
-+
-     if (ctx->has_palette) {
-         int i;
-         av_log(avctx, AV_LOG_DEBUG, "palette:");
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0003-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch b/package/ffmpeg/0003-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch
deleted file mode 100644
index 0344134..0000000
--- a/package/ffmpeg/0003-if-av_read_packet-returns-AVERROR_IO-we-are-done.-ff.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 54200b3e6009c6870e33c02c8bbcf023fcd92cac 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 03/13] if av_read_packet returns AVERROR_IO, we are done.
- ffmpeg's codecs might or might not handle returning any completed demuxed
- packets correctly
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/utils.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libavformat/utils.c b/libavformat/utils.c
-index ae6347a..3e8af50 100644
---- a/libavformat/utils.c
-+++ b/libavformat/utils.c
-@@ -1304,6 +1304,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];
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0004-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch b/package/ffmpeg/0004-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch
deleted file mode 100644
index bc6a2d4..0000000
--- a/package/ffmpeg/0004-added-Ticket-7187-TV-Teletext-support-for-DVB-EBU-Te.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From e9236f6fe3fae1ad4a3a2b6b63db493b083f0b21 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 04/13] added: Ticket #7187, TV Teletext support for DVB EBU
- Teletext streams
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavcodec/avcodec.h | 4 ++++
- libavformat/mpegts.c | 2 ++
- 2 files changed, 6 insertions(+)
-
-diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
-index dabae1b..dd6ef3f 100644
---- a/libavcodec/avcodec.h
-+++ b/libavcodec/avcodec.h
-@@ -520,6 +520,10 @@ enum AVCodecID {
-     AV_CODEC_ID_PJS        = MKBETAG('P','h','J','S'),
-     AV_CODEC_ID_ASS        = MKBETAG('A','S','S',' '),  ///< ASS as defined in Matroska
- 
-+    /* data codecs */
-+    AV_CODEC_ID_VBI_DATA= 0x17500,
-+    AV_CODEC_ID_VBI_TELETEXT,
-+
-     /* other specific kind of codecs (generally used for attachments) */
-     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 97da0a3..5dd28f1 100644
---- a/libavformat/mpegts.c
-+++ b/libavformat/mpegts.c
-@@ -729,6 +729,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 },
- };
- 
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0005-Don-t-accept-mpegts-PMT-that-isn-t-current.patch b/package/ffmpeg/0005-Don-t-accept-mpegts-PMT-that-isn-t-current.patch
deleted file mode 100644
index feb58f7..0000000
--- a/package/ffmpeg/0005-Don-t-accept-mpegts-PMT-that-isn-t-current.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 1f48ee2290e9041b0371eb9a9cb742e9568930a1 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Sun, 18 Sep 2011 19:16:34 +0200
-Subject: [PATCH 05/13] Don't accept mpegts PMT that isn't current
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/mpegts.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
-index 5dd28f1..9f85aed 100644
---- a/libavformat/mpegts.c
-+++ b/libavformat/mpegts.c
-@@ -572,6 +572,7 @@ typedef struct SectionHeader {
-     uint8_t tid;
-     uint16_t id;
-     uint8_t version;
-+    uint8_t current;
-     uint8_t sec_num;
-     uint8_t last_sec_num;
- } SectionHeader;
-@@ -643,6 +644,7 @@ static int parse_section_header(SectionHeader *h,
-     val = get8(pp, p_end);
-     if (val < 0)
-         return val;
-+    h->current = val & 0x1;
-     h->version = (val >> 1) & 0x1f;
-     val = get8(pp, p_end);
-     if (val < 0)
-@@ -1968,6 +1970,8 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
-         return;
-     if (ts->skip_changes)
-         return;
-+    if (!h->current)
-+        return;
- 
-     ts->stream->ts_id = h->id;
- 
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0006-Don-t-reparse-PMT-unless-it-s-version-has-changed.patch b/package/ffmpeg/0006-Don-t-reparse-PMT-unless-it-s-version-has-changed.patch
deleted file mode 100644
index 0418f25..0000000
--- a/package/ffmpeg/0006-Don-t-reparse-PMT-unless-it-s-version-has-changed.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From db98fbe37f2f7175ff03b8d582e940518ddf3642 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Sun, 18 Sep 2011 19:17:23 +0200
-Subject: [PATCH 06/13] Don't reparse PMT unless it's version has changed
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/mpegts.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
-index 9f85aed..25007a6 100644
---- a/libavformat/mpegts.c
-+++ b/libavformat/mpegts.c
-@@ -88,6 +88,7 @@ struct MpegTSFilter {
-     int es_id;
-     int last_cc; /* last cc code (-1 if first packet) */
-     int64_t last_pcr;
-+    int last_version; /* last version of data on this pid */
-     enum MpegTSFilterType type;
-     union {
-         MpegTSPESFilter pes_filter;
-@@ -450,6 +451,7 @@ static MpegTSFilter *mpegts_open_filter(MpegTSContext *ts, unsigned int pid,
-     filter->es_id   = -1;
-     filter->last_cc = -1;
-     filter->last_pcr= -1;
-+    filter->last_version = -1;
- 
-     return filter;
- }
-@@ -1972,6 +1974,10 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
-         return;
-     if (!h->current)
-         return;
-+    if (h->version == filter->last_version)
-+        return;
-+    filter->last_version = h->version;
-+    av_dlog(ts->stream, "version=%d\n", filter->last_version);
- 
-     ts->stream->ts_id = h->id;
- 
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0007-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch b/package/ffmpeg/0007-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch
deleted file mode 100644
index 259b359..0000000
--- a/package/ffmpeg/0007-Read-PID-timestamps-as-well-as-PCR-timestamps-to-fin.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From fdd8caea6535434a877587f5325e914ba50ed17f 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 07/13] Read PID timestamps as well as PCR timestamps to find
- location in mpegts stream
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/mpegts.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 46 insertions(+), 2 deletions(-)
-
-diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
-index 25007a6..d5a8a45 100644
---- a/libavformat/mpegts.c
-+++ b/libavformat/mpegts.c
-@@ -2459,6 +2459,44 @@ static void seek_back(AVFormatContext *s, AVIOContext *pb, int64_t pos) {
-         av_log(s, pb->seekable ? AV_LOG_ERROR : AV_LOG_INFO, "Unable to seek back to the start\n");
- }
- 
-+static int parse_timestamp(int64_t *ts, const uint8_t *buf)
-+{
-+    int afc, flags;
-+    const uint8_t *p;
-+
-+    if(!(buf[1] & 0x40)) /* must be a start packet */
-+        return -1;
-+
-+    afc = (buf[3] >> 4) & 3;
-+    p = buf + 4;
-+    if (afc == 0 || afc == 2) /* invalid or only adaption field */
-+        return -1;
-+    if (afc == 3)
-+        p += p[0] + 1;
-+    if (p >= buf + TS_PACKET_SIZE)
-+        return -1;
-+
-+    if (p[0] != 0x00 || p[1] != 0x00 || p[2] != 0x01)  /* packet_start_code_prefix */
-+        return -1;
-+
-+    flags = p[3] | 0x100; /* stream type */
-+    if (!((flags >= 0x1c0 && flags <= 0x1df) ||
-+          (flags >= 0x1e0 && flags <= 0x1ef) ||
-+          (flags == 0x1bd) || (flags == 0x1fd)))
-+        return -1;
-+
-+    flags = p[7];
-+    if ((flags & 0xc0) == 0x80) {
-+        *ts = ff_parse_pes_pts(p+9);
-+        return 0;
-+    } else if ((flags & 0xc0) == 0xc0) {
-+        *ts = ff_parse_pes_pts(p+9+5);
-+        return 0;
-+    }
-+    return -1;
-+}
-+
-+
- static int mpegts_read_header(AVFormatContext *s)
- {
-     MpegTSContext *ts = s->priv_data;
-@@ -2658,6 +2696,7 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
-     uint8_t buf[TS_PACKET_SIZE];
-     int pcr_l, pcr_pid =
-         ((PESContext *)s->streams[stream_index]->priv_data)->pcr_pid;
-+    int pid = ((PESContext*)s->streams[stream_index]->priv_data)->pid;
-     int pos47 = ts->pos47_full % ts->raw_packet_size;
-     pos =
-         ((*ppos + ts->raw_packet_size - 1 - pos47) / ts->raw_packet_size) *
-@@ -2679,6 +2718,11 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
-             *ppos = pos;
-             return timestamp;
-         }
-+        if ((pid < 0 || (AV_RB16(buf + 1) & 0x1fff) == pid) &&
-+            parse_timestamp(&timestamp, buf) == 0) {
-+            *ppos = pos;
-+            return timestamp;
-+        }
-         pos += ts->raw_packet_size;
-     }
- 
-@@ -2778,7 +2822,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,
-     .priv_class     = &mpegts_class,
- };
-@@ -2790,7 +2834,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,
-     .priv_class     = &mpegtsraw_class,
- };
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0008-Get-stream-durations-using-read_timestamp.patch b/package/ffmpeg/0008-Get-stream-durations-using-read_timestamp.patch
deleted file mode 100644
index 0b80c11..0000000
--- a/package/ffmpeg/0008-Get-stream-durations-using-read_timestamp.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From c57e5b8154f5fe1457f4c64e04885a2cdfb37f51 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Sat, 22 Oct 2011 19:01:38 +0200
-Subject: [PATCH 08/13] Get stream durations using read_timestamp
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/utils.c | 39 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 39 insertions(+)
-
-diff --git a/libavformat/utils.c b/libavformat/utils.c
-index 3e8af50..f4fb172 100644
---- a/libavformat/utils.c
-+++ b/libavformat/utils.c
-@@ -2356,6 +2356,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)
-+{
-+    AVStream *st;
-+    int i, step= 1024;
-+    int64_t ts, pos;
-+
-+    for(i=0;i<ic->nb_streams;i++) {
-+        st = ic->streams[i];
-+
-+        pos = 0;
-+        ts = ic->iformat->read_timestamp(ic, i, &pos, DURATION_MAX_READ_SIZE);
-+        if (ts == AV_NOPTS_VALUE)
-+            continue;
-+        if (st->start_time > ts || st->start_time == AV_NOPTS_VALUE)
-+            st->start_time = ts;
-+
-+        pos = avio_size(ic->pb) - 1;
-+        do {
-+            pos -= step;
-+            ts = ic->iformat->read_timestamp(ic, i, &pos, pos + step);
-+            step += step;
-+        } while (ts == AV_NOPTS_VALUE && pos >= step && step < DURATION_MAX_READ_SIZE);
-+
-+        if (ts == AV_NOPTS_VALUE)
-+            continue;
-+
-+        if (st->duration < ts - st->start_time || st->duration == AV_NOPTS_VALUE)
-+            st->duration = ts - st->start_time;
-+    }
-+
-+    fill_all_stream_timings(ic);
-+
-+    avio_seek(ic->pb, old_offset, SEEK_SET);
-+}
-+
- /* only usable for MPEG-PS streams */
- static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
- {
-@@ -2506,6 +2541,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 */
-+        av_estimate_timings_from_pts2(ic, old_offset);
-     } else {
-         /* less precise: use bitrate info */
-         estimate_timings_from_bit_rate(ic);
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0009-changed-allow-4-second-skew-between-streams-in-mov-b.patch b/package/ffmpeg/0009-changed-allow-4-second-skew-between-streams-in-mov-b.patch
deleted file mode 100644
index fb0aad1..0000000
--- a/package/ffmpeg/0009-changed-allow-4-second-skew-between-streams-in-mov-b.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4bcec3ef0042244b0ade00d132368d0872f73c72 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Wed, 8 Dec 2010 14:03:43 +0000
-Subject: [PATCH 09/13] changed: allow 4 second skew between streams in mov
- before attempting to seek
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/mov.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libavformat/mov.c b/libavformat/mov.c
-index 8d66c0a..127ffd9 100644
---- a/libavformat/mov.c
-+++ b/libavformat/mov.c
-@@ -4028,8 +4028,8 @@ static AVIndexEntry *mov_find_next_sample(AVFormatContext *s, AVStream **st)
-             if (!sample || (!s->pb->seekable && current_sample->pos < sample->pos) ||
-                 (s->pb->seekable &&
-                  ((msc->pb != s->pb && dts < best_dts) || (msc->pb == s->pb &&
--                 ((FFABS(best_dts - dts) <= AV_TIME_BASE && current_sample->pos < sample->pos) ||
--                  (FFABS(best_dts - dts) > AV_TIME_BASE && dts < best_dts)))))) {
-+                 ((FFABS(best_dts - dts) <= 4*AV_TIME_BASE && current_sample->pos < sample->pos) ||
-+                  (FFABS(best_dts - dts) > 4*AV_TIME_BASE && dts < best_dts)))))) {
-                 sample = current_sample;
-                 best_dts = dts;
-                 *st = avst;
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0010-fixed-memleak-in-mpegts-demuxer-on-some-malformed-mp.patch b/package/ffmpeg/0010-fixed-memleak-in-mpegts-demuxer-on-some-malformed-mp.patch
deleted file mode 100644
index d13d073..0000000
--- a/package/ffmpeg/0010-fixed-memleak-in-mpegts-demuxer-on-some-malformed-mp.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From cb7c19124165508ae5f38a385a14f9c13b096a27 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Fri, 26 Nov 2010 20:56:48 +0000
-Subject: [PATCH 10/13] fixed: memleak in mpegts demuxer on some malformed (??)
- mpegts files with too large pes packets
-
-at-visions sample file brokenStream.mpg
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/mpegts.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
-index d5a8a45..e070f1f 100644
---- a/libavformat/mpegts.c
-+++ b/libavformat/mpegts.c
-@@ -832,6 +832,10 @@ static void reset_pes_packet_state(PESContext *pes)
- 
- static void new_pes_packet(PESContext *pes, AVPacket *pkt)
- {
-+    if(pkt->data) {
-+      av_log(pes->stream, AV_LOG_ERROR, "ignoring previously allocated packet on stream %d\n", pkt->stream_index);
-+      av_free_packet(pkt);
-+    }
-     av_init_packet(pkt);
- 
-     pkt->buf  = pes->buffer;
-@@ -2649,6 +2653,8 @@ static int mpegts_read_packet(AVFormatContext *s, AVPacket *pkt)
- 
-     pkt->size = -1;
-     ts->pkt = pkt;
-+    ts->pkt->data = NULL;
-+
-     ret = handle_packets(ts, 0);
-     if (ret < 0) {
-         av_free_packet(ts->pkt);
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0011-Speed-up-mpegts-av_find_stream_info.patch b/package/ffmpeg/0011-Speed-up-mpegts-av_find_stream_info.patch
deleted file mode 100644
index 7c81f1d..0000000
--- a/package/ffmpeg/0011-Speed-up-mpegts-av_find_stream_info.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c315a758a292200c22925603682e259849d6d558 Mon Sep 17 00:00:00 2001
-From: Joakim Plate <elupus@ecce.se>
-Date: Mon, 28 Jun 2010 21:26:54 +0000
-Subject: [PATCH 11/13] Speed up mpegts av_find_stream_info
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavformat/mpegts.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
-index e070f1f..dd9e129 100644
---- a/libavformat/mpegts.c
-+++ b/libavformat/mpegts.c
-@@ -994,7 +994,7 @@ static int mpegts_push_data(MpegTSFilter *filter,
-                         goto skip;
- 
-                     /* stream not present in PMT */
--                    if (!pes->st) {
-+                    if (ts->auto_guess && !pes->st) {
-                         if (ts->skip_changes)
-                             goto skip;
- 
--- 
-2.1.0
-
diff --git a/package/ffmpeg/0012-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch b/package/ffmpeg/0012-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch
deleted file mode 100644
index f346da1..0000000
--- a/package/ffmpeg/0012-dxva-h264-Fix-dxva-playback-of-streams-that-don-t-st.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 939ebbbc46ca9995637415594f1815633587104f Mon Sep 17 00:00:00 2001
-From: marc <mhocking@ubuntu-desktop.(none)>
-Date: Mon, 18 Feb 2013 17:18:18 +0000
-Subject: [PATCH 12/13] dxva-h264 Fix dxva playback of streams that don't start
- with an I-Frame.
-
-Patch part of the XBMC patch set for ffmpeg, downloaded from
-https://github.com/xbmc/FFmpeg/.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- libavcodec/dxva2_h264.c | 8 ++++++++
- libavcodec/h264.c       | 1 +
- libavcodec/h264.h       | 2 ++
- libavcodec/h264_slice.c | 1 +
- 4 files changed, 12 insertions(+)
-
-diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
-index 6deccc3..85b25fd 100644
---- a/libavcodec/dxva2_h264.c
-+++ b/libavcodec/dxva2_h264.c
-@@ -451,6 +451,14 @@ static int dxva2_h264_end_frame(AVCodecContext *avctx)
- 
-     if (ctx_pic->slice_count <= 0 || ctx_pic->bitstream_size <= 0)
-         return -1;
-+
-+    // Wait for an I-frame before start decoding. Workaround for ATI UVD and UVD+ GPUs
-+    if (!h->got_first_iframe) {
-+        if (!(ctx_pic->pp.wBitFields & (1 << 15)))
-+            return -1;
-+        h->got_first_iframe = 1;
-+    }
-+
-     ret = ff_dxva2_common_end_frame(avctx, h->cur_pic_ptr->f,
-                                     &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 222bf58..ea2ec17 100644
---- a/libavcodec/h264.c
-+++ b/libavcodec/h264.c
-@@ -1085,6 +1085,7 @@ void ff_h264_flush_change(H264Context *h)
-     h->mmco_reset = 1;
-     for (i = 0; i < h->nb_slice_ctx; i++)
-         h->slice_ctx[i].list_count = 0;
-+    h->got_first_iframe = 0;
- }
- 
- /* forget old pics after a seek */
-diff --git a/libavcodec/h264.h b/libavcodec/h264.h
-index b94f06b..bc9458b 100644
---- a/libavcodec/h264.h
-+++ b/libavcodec/h264.h
-@@ -741,6 +741,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
-diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
-index 53f61ca..b171d78 100644
---- a/libavcodec/h264_slice.c
-+++ b/libavcodec/h264_slice.c
-@@ -1189,6 +1189,7 @@ static int h264_slice_header_init(H264Context *h, int reinit)
-         ff_h264_free_tables(h, 0);
-     h->first_field           = 0;
-     h->prev_interlaced_frame = 1;
-+    h->got_first_iframe = 0;
- 
-     init_scan_tables(h);
-     ret = ff_h264_alloc_tables(h);
--- 
-2.1.0
-
diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash
index 3120a7a..e3f4570 100644
--- a/package/ffmpeg/ffmpeg.hash
+++ b/package/ffmpeg/ffmpeg.hash
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256	97be8a6c1cab2c52015544f76d40f6fd0babcb1b40cf601b4e57fb818564157c	ffmpeg-2.8.7.tar.xz
+sha256 58d2a2b69f0f46fe8aacd45e582c62e380ba611b5baf6a4dfcf2906eb2b9bd61  ffmpeg-3.1.2.tar.xz
diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index c42336f..a816cea 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FFMPEG_VERSION = 2.8.7
+FFMPEG_VERSION = 3.1.2
 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz
 FFMPEG_SITE = http://ffmpeg.org/releases
 FFMPEG_INSTALL_STAGING = YES
@@ -40,7 +40,7 @@ FFMPEG_CONF_OPTS = \
 	--enable-runtime-cpudetect \
 	--disable-hardcoded-tables \
 	--disable-memalign-hack \
-	--disable-mipsdspr1 \
+	--disable-mipsdsp \
 	--disable-mipsdspr2 \
 	--disable-msa \
 	--enable-hwaccels \
@@ -57,7 +57,6 @@ FFMPEG_CONF_OPTS = \
 	--disable-libnut \
 	--disable-libopenjpeg \
 	--disable-libschroedinger \
-	--disable-libvo-aacenc \
 	--disable-libvo-amrwbenc \
 	--disable-symver \
 	--disable-doc
@@ -217,13 +216,6 @@ FFMPEG_CONF_OPTS += --disable-openssl
 endif
 endif
 
-ifeq ($(BR2_PACKAGE_LIBDCADEC),y)
-FFMPEG_CONF_OPTS += --enable-libdcadec
-FFMPEG_DEPENDENCIES += libdcadec
-else
-FFMPEG_CONF_OPTS += --disable-libdcadec
-endif
-
 ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBEBUR128),yy)
 FFMPEG_DEPENDENCIES += libebur128
 endif
@@ -445,14 +437,6 @@ else
 FFMPEG_CONF_OPTS += --enable-mipsfpu
 endif
 
-ifeq ($(BR2_mips_32r2),y)
-FFMPEG_CONF_OPTS += \
-	--enable-mips32r2
-else
-FFMPEG_CONF_OPTS += \
-	--disable-mips32r2
-endif
-
 ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
 FFMPEG_CONF_OPTS += --enable-altivec
 else
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 2/6] package/ffmpeg: default to --cpu=generic for MIPS architecture
  2016-08-15 15:03 [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Bernd Kuhls
@ 2016-08-15 15:03 ` Bernd Kuhls
  2016-08-26 19:46   ` Thomas Petazzoni
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 3/6] package/ffmpeg: re-enable for mips64r2 and mips64r6 Bernd Kuhls
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Bernd Kuhls @ 2016-08-15 15:03 UTC (permalink / raw)
  To: buildroot

From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>

This option is needed to prevent this message from configure:

WARNING: unknown CPU. Disabling all MIPS optimizations.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v5: no changes
v4: no changes
v3: no changes
v2: no changes

 package/ffmpeg/ffmpeg.mk | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index a816cea..154a091 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -455,6 +455,11 @@ else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
 FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
 endif
 
+# Default to --cpu=generic for MIPS architecture
+ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
+FFMPEG_CONF_OPTS += --cpu=generic
+endif
+
 FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF))
 
 # Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 3/6] package/ffmpeg: re-enable for mips64r2 and mips64r6
  2016-08-15 15:03 [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Bernd Kuhls
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 2/6] package/ffmpeg: default to --cpu=generic for MIPS architecture Bernd Kuhls
@ 2016-08-15 15:03 ` Bernd Kuhls
  2016-08-26 19:46   ` Thomas Petazzoni
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 4/6] package/ffmpeg: add optional support for opencv Bernd Kuhls
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Bernd Kuhls @ 2016-08-15 15:03 UTC (permalink / raw)
  To: buildroot

ffmpeg 3 fixed support for mips64r2 and mips64r6, for details see
http://patchwork.ozlabs.org/patch/626756/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v5: no changes
v4: no changes
v3: no changes
v2: no changes

 package/ffmpeg/Config.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index 096ff95..6b7a6e7 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -1,8 +1,7 @@
 config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
 	bool
 	# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
-	# ffmpeg's configure script only supports mips64 (r1) variant
-	default y if !BR2_nios2 && !BR2_mips_64r2 && !BR2_mips_64r6
+	default y if !BR2_nios2
 
 menuconfig BR2_PACKAGE_FFMPEG
 	bool "ffmpeg"
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 4/6] package/ffmpeg: add optional support for opencv
  2016-08-15 15:03 [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Bernd Kuhls
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 2/6] package/ffmpeg: default to --cpu=generic for MIPS architecture Bernd Kuhls
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 3/6] package/ffmpeg: re-enable for mips64r2 and mips64r6 Bernd Kuhls
@ 2016-08-15 15:03 ` Bernd Kuhls
  2016-08-26 19:46   ` Thomas Petazzoni
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 5/6] package/tvheadend: remove compat patch for ffmpeg < 3.x Bernd Kuhls
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Bernd Kuhls @ 2016-08-15 15:03 UTC (permalink / raw)
  To: buildroot

ffmpeg only needs the imgproc module of opencv:
https://github.com/FFmpeg/FFmpeg/commit/15708f13477aaf2effdc0d7fc727507bc468335a

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v5: no changes
v4: first release

 package/ffmpeg/ffmpeg.mk | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index 154a091..1f2d1df 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -48,7 +48,6 @@ FFMPEG_CONF_OPTS = \
 	--disable-frei0r \
 	--disable-libopencore-amrnb \
 	--disable-libopencore-amrwb \
-	--disable-libopencv \
 	--disable-libcdio \
 	--disable-libdc1394 \
 	--disable-libfaac \
@@ -249,6 +248,15 @@ else
 FFMPEG_CONF_OPTS += --disable-vdpau
 endif
 
+# To avoid a circular dependency only use opencv if opencv itself does
+# not depend on ffmpeg.
+ifeq ($(BR2_PACKAGE_OPENCV_LIB_IMGPROC)x$(BR2_PACKAGE_OPENCV_WITH_FFMPEG),yx)
+FFMPEG_CONF_OPTS += --enable-libopencv
+FFMPEG_DEPENDENCIES += opencv
+else
+FFMPEG_CONF_OPTS += --disable-libopencv
+endif
+
 ifeq ($(BR2_PACKAGE_OPUS),y)
 FFMPEG_CONF_OPTS += --enable-libopus
 FFMPEG_DEPENDENCIES += opus
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 5/6] package/tvheadend: remove compat patch for ffmpeg < 3.x
  2016-08-15 15:03 [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Bernd Kuhls
                   ` (2 preceding siblings ...)
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 4/6] package/ffmpeg: add optional support for opencv Bernd Kuhls
@ 2016-08-15 15:03 ` Bernd Kuhls
  2016-08-26 19:46   ` Thomas Petazzoni
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 6/6] package/vlc: add support for ffmpeg 3.0 Bernd Kuhls
  2016-08-26 19:45 ` [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Thomas Petazzoni
  5 siblings, 1 reply; 13+ messages in thread
From: Bernd Kuhls @ 2016-08-15 15:03 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v5: no changes
v4: no changes
v3: no changes
v2: no changes

 ...g-revert-minimum-required-version-numbers.patch | 51 ----------------------
 1 file changed, 51 deletions(-)
 delete mode 100644 package/tvheadend/0002-ffmpeg-revert-minimum-required-version-numbers.patch

diff --git a/package/tvheadend/0002-ffmpeg-revert-minimum-required-version-numbers.patch b/package/tvheadend/0002-ffmpeg-revert-minimum-required-version-numbers.patch
deleted file mode 100644
index 74136fe..0000000
--- a/package/tvheadend/0002-ffmpeg-revert-minimum-required-version-numbers.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 78a7b7365a67fa2f5394c6b4ca39de01b00416dc Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Sat, 2 Apr 2016 19:05:52 +0200
-Subject: [PATCH 1/1] ffmpeg: revert minimum required version numbers
-
-This commit reverts the minimum version numbers required by configure to
-the values before
-https://github.com/tvheadend/tvheadend/commit/1359effe28a0381b8c9cbd362d6e144fb87b00fc#diff-e2d5a00791bce9a01f99bc6fd613a39dL486
-in order to allow compilation with older versions of ffmpeg again.
-
-Please note that the previous version numbers of all ffmpeg libs, with
-the exception of libavfilter, are those of ffmpeg 2.0.7:
-https://ffmpeg.org/olddownload.html
-
-Therefore I synced the minimum version number required for libavfilter to
-3.79.101 and not to 4.0.0 as previous in tvheadend's configure script.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-[Patch sent upstream: https://github.com/tvheadend/tvheadend/pull/838]
----
- configure | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/configure b/configure
-index be3d2e2..2ffd280 100755
---- a/configure
-+++ b/configure
-@@ -512,13 +512,13 @@ else
-   if enabled_or_auto libav; then
-     has_libav=true
- 
--    check_pkg libavfilter   ">=6.31.100"  || has_libav=false
--    check_pkg libswresample ">=2.0.101"   || has_libav=false
--    check_pkg libavresample ">=3.0.0"     || has_libav=false
--    check_pkg libswscale    ">=4.0.100"   || has_libav=false
--    check_pkg libavformat   ">=57.25.100" || has_libav=false
--    check_pkg libavcodec    ">=57.24.102" || has_libav=false
--    check_pkg libavutil     ">=55.17.103" || has_libav=false
-+    check_pkg libavfilter   ">=3.79.101"  || has_libav=false
-+    check_pkg libswresample ">=0.17.102"   || has_libav=false
-+    check_pkg libavresample ">=1.1.0"     || has_libav=false
-+    check_pkg libswscale    ">=2.3.100"   || has_libav=false
-+    check_pkg libavformat   ">=55.12.100" || has_libav=false
-+    check_pkg libavcodec    ">=55.18.102" || has_libav=false
-+    check_pkg libavutil     ">=52.38.100" || has_libav=false
- 
-     if $has_libav; then
-       enable libav
--- 
-2.8.0.rc3
-
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 6/6] package/vlc: add support for ffmpeg 3.0
  2016-08-15 15:03 [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Bernd Kuhls
                   ` (3 preceding siblings ...)
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 5/6] package/tvheadend: remove compat patch for ffmpeg < 3.x Bernd Kuhls
@ 2016-08-15 15:03 ` Bernd Kuhls
  2016-08-26 19:47   ` Thomas Petazzoni
  2016-08-26 19:45 ` [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Thomas Petazzoni
  5 siblings, 1 reply; 13+ messages in thread
From: Bernd Kuhls @ 2016-08-15 15:03 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v5: first release
    instead of bumping vlc to git master (no vlc 3.x release yet) we use
    a patch from deb-multimedia.org which provides the necessary changes
    for ffmpeg 3.x support to vlc 2.2, compile-tested using this
    defconfig:

    BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
    BR2_TOOLCHAIN_BUILDROOT_CXX=y
    BR2_PACKAGE_FFMPEG=y
    BR2_PACKAGE_FFMPEG_GPL=y
    BR2_PACKAGE_FFMPEG_POSTPROC=y
    BR2_PACKAGE_FFMPEG_SWSCALE=y
    BR2_PACKAGE_VLC=y

    This patch can be removed when vlc is bumped to 3.x.

 package/vlc/0008-ffmpeg-3.0.patch | 283 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 283 insertions(+)
 create mode 100644 package/vlc/0008-ffmpeg-3.0.patch

diff --git a/package/vlc/0008-ffmpeg-3.0.patch b/package/vlc/0008-ffmpeg-3.0.patch
new file mode 100644
index 0000000..892c625
--- /dev/null
+++ b/package/vlc/0008-ffmpeg-3.0.patch
@@ -0,0 +1,283 @@
+Changes for ffmpeg 3.0
+
+This file is a copy of debian/patches/04_ffmpeg-3.0.diff, to be found in
+http://www.deb-multimedia.org/pool/main/v/vlc-dmo/vlc-dmo_2.2.4.orig.tar.gz
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -2324,7 +2324,7 @@ AC_ARG_ENABLE(avcodec,
+ AS_IF([test "${enable_avcodec}" != "no"], [
+   PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
+     PKG_CHECK_EXISTS([libavutil < 55],, [
+-      AC_MSG_ERROR([libavutil versions 55 and later are not supported.])
++      AC_MSG_WARN([libavutil versions 55 and later are not supported.])
+     ])
+     VLC_SAVE_FLAGS
+     CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
+@@ -2334,7 +2334,7 @@ AS_IF([test "${enable_avcodec}" != "no"]
+     VLC_RESTORE_FLAGS
+     have_avcodec="yes"
+   ],[
+-    AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
++    AC_MSG_WARN([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.])
+   ])
+ ], [
+   have_avcodec="no"
+@@ -2383,7 +2383,7 @@ AS_IF([test "${have_vaapi}" = "yes" -a "
+   case "${avfork}" in
+     ffmpeg)
+       PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
+-        AC_MSG_ERROR([VA API requires FFmpeg libavcodec < 57.10 or libav.])
++        AC_MSG_WARN([VA API requires FFmpeg libavcodec < 57.10 or libav.])
+       ])
+       ;;
+   esac
+@@ -2417,7 +2417,7 @@ AS_IF([test "${enable_dxva2}" != "no"],
+     case "${avfork}" in
+       ffmpeg)
+         PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
+-          AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.])
++          AC_MSG_WARN([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.])
+         ])
+         ;;
+     esac
+@@ -2509,7 +2509,7 @@ AS_IF([test "${enable_avformat}" != "no"
+       ])
+       VLC_RESTORE_FLAGS
+     ],[
+-      AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
++      AC_MSG_WARN([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.])
+   ])
+ ])
+ AM_CONDITIONAL([HAVE_AVFORMAT], [test "${enable_avformat}" != "no"])
+@@ -2538,7 +2538,7 @@ then
+       ])
+       VLC_RESTORE_FLAGS
+     ],[
+-      AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
++      AC_MSG_WARN([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.])
+   ])
+ fi
+ 
+@@ -3181,7 +3181,7 @@ AS_IF([test "${have_vdpau}" = "yes" -a "
+     libav) av_vdpau_ver="55.26.0" ;;
+     ffmpeg) av_vdpau_ver="55.42.100"
+       PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [
+-        AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.])
++        AC_MSG_WARN([VDPAU requires FFmpeg libavcodec < 57.10 or libav.])
+       ])
+       ;;
+   esac
+--- a/modules/codec/avcodec/audio.c
++++ b/modules/codec/avcodec/audio.c
+@@ -39,7 +39,7 @@
+ #include <libavcodec/avcodec.h>
+ #include <libavutil/mem.h>
+ 
+-#include <libavutil/audioconvert.h>
++#include <libavutil/channel_layout.h>
+ 
+ #include "avcodec.h"
+ 
+--- a/modules/codec/avcodec/video.c
++++ b/modules/codec/avcodec/video.c
+@@ -108,8 +108,8 @@ static int lavc_GetFrame(struct AVCodecC
+ static int  ffmpeg_GetFrameBuf    ( struct AVCodecContext *, AVFrame * );
+ static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *, AVFrame * );
+ #endif
+-static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
+-                                          const enum PixelFormat * );
++static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *,
++                                          const enum AVPixelFormat * );
+ 
+ static uint32_t ffmpeg_CodecTag( vlc_fourcc_t fcc )
+ {
+@@ -234,7 +234,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo
+     p_sys->p_codec = p_codec;
+     p_sys->i_codec_id = i_codec_id;
+     p_sys->psz_namecodec = psz_namecodec;
+-    p_sys->p_ff_pic = avcodec_alloc_frame();
++    p_sys->p_ff_pic = av_frame_alloc();
+     p_sys->b_delayed_open = true;
+     p_sys->p_va = NULL;
+     vlc_sem_init( &p_sys->sem_mt, 0 );
+@@ -446,7 +446,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo
+     if( ffmpeg_OpenCodec( p_dec ) < 0 )
+     {
+         msg_Err( p_dec, "cannot open codec (%s)", p_sys->psz_namecodec );
+-        avcodec_free_frame( &p_sys->p_ff_pic );
++        av_frame_free( &p_sys->p_ff_pic );
+         vlc_sem_destroy( &p_sys->sem_mt );
+         free( p_sys );
+         return VLC_EGENERIC;
+@@ -826,7 +826,7 @@ void EndVideoDec( decoder_t *p_dec )
+     wait_mt( p_sys );
+ 
+     if( p_sys->p_ff_pic )
+-        avcodec_free_frame( &p_sys->p_ff_pic );
++        av_frame_free( &p_sys->p_ff_pic );
+ 
+     if( p_sys->p_va )
+         vlc_va_Delete( p_sys->p_va );
+@@ -1313,8 +1313,8 @@ static void ffmpeg_ReleaseFrameBuf( stru
+ }
+ #endif
+ 
+-static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
+-                                          const enum PixelFormat *pi_fmt )
++static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
++                                          const enum AVPixelFormat *pi_fmt )
+ {
+     decoder_t *p_dec = p_context->opaque;
+     decoder_sys_t *p_sys = p_dec->p_sys;
+--- a/modules/codec/avcodec/encoder.c
++++ b/modules/codec/avcodec/encoder.c
+@@ -41,7 +41,7 @@
+ #include <vlc_cpu.h>
+ 
+ #include <libavcodec/avcodec.h>
+-#include <libavutil/audioconvert.h>
++#include <libavutil/channel_layout.h>
+ 
+ #include "avcodec.h"
+ #include "avcommon.h"
+@@ -311,7 +311,7 @@ int OpenEncoder( vlc_object_t *p_this )
+     else if( !GetFfmpegCodec( p_enc->fmt_out.i_codec, &i_cat, &i_codec_id,
+                              &psz_namecodec ) )
+     {
+-        if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == PIX_FMT_NONE )
++        if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == AV_PIX_FMT_NONE )
+             return VLC_EGENERIC; /* handed chroma output */
+ 
+         i_cat      = VIDEO_ES;
+@@ -555,7 +555,7 @@ int OpenEncoder( vlc_object_t *p_this )
+ 
+         if( p_codec->pix_fmts )
+         {
+-            const enum PixelFormat *p = p_codec->pix_fmts;
++            const enum AVPixelFormat *p = p_codec->pix_fmts;
+             for( ; *p != -1; p++ )
+             {
+                 if( *p == p_context->pix_fmt ) break;
+@@ -1017,7 +1017,7 @@ errmsg:
+         }
+     }
+ 
+-    p_sys->frame = avcodec_alloc_frame();
++    p_sys->frame = av_frame_alloc();
+     if( !p_sys->frame )
+     {
+         goto error;
+@@ -1048,7 +1048,7 @@ static void vlc_av_packet_Release(block_
+ {
+     vlc_av_packet_t *b = (void *) block;
+ 
+-    av_free_packet(&b->packet);
++    av_packet_unref(&b->packet);
+     free(b);
+ }
+ 
+@@ -1088,7 +1088,7 @@ static block_t *EncodeVideo( encoder_t *
+     AVFrame *frame = NULL;
+     if( likely(p_pict) ) {
+         frame = p_sys->frame;
+-        avcodec_get_frame_defaults( frame );
++        av_frame_unref( frame );
+         for( i_plane = 0; i_plane < p_pict->i_planes; i_plane++ )
+         {
+             p_sys->frame->data[i_plane] = p_pict->p[i_plane].p_pixels;
+@@ -1188,7 +1188,7 @@ static block_t *EncodeVideo( encoder_t *
+             av_pkt.duration / p_sys->p_context->time_base.den, p_sys->p_context );
+     if( unlikely(p_block == NULL) )
+     {
+-        av_free_packet( &av_pkt );
++        av_packet_unref( &av_pkt );
+         return NULL;
+     }
+ 
+@@ -1329,7 +1329,7 @@ static block_t *handle_delay_buffer( enc
+     //How much we need to copy from new packet
+     const int leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes;
+ 
+-    avcodec_get_frame_defaults( p_sys->frame );
++    av_frame_unref( p_sys->frame );
+     p_sys->frame->format     = p_sys->p_context->sample_fmt;
+     p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay;
+ 
+@@ -1451,7 +1451,7 @@ static block_t *EncodeAudio( encoder_t *
+     while( ( p_aout_buf->i_nb_samples >= p_sys->i_frame_size ) ||
+            ( p_sys->b_variable && p_aout_buf->i_nb_samples ) )
+     {
+-        avcodec_get_frame_defaults( p_sys->frame );
++        av_frame_unref( p_sys->frame );
+         if( p_sys->b_variable )
+             p_sys->frame->nb_samples = p_aout_buf->i_nb_samples;
+         else
+@@ -1514,7 +1514,7 @@ void CloseEncoder( vlc_object_t *p_this
+     encoder_t *p_enc = (encoder_t *)p_this;
+     encoder_sys_t *p_sys = p_enc->p_sys;
+ 
+-    /*FIXME: we should use avcodec_free_frame, but we don't require so new avcodec that has it*/
++    /*FIXME: we should use av_frame_free, but we don't require so new avcodec that has it*/
+     av_freep( &p_sys->frame );
+ 
+     vlc_avcodec_lock();
+--- a/modules/demux/avformat/demux.c
++++ b/modules/demux/avformat/demux.c
+@@ -734,14 +734,14 @@ static int Demux( demux_t *p_demux )
+     }
+     if( pkt.stream_index < 0 || pkt.stream_index >= p_sys->i_tk )
+     {
+-        av_free_packet( &pkt );
++        av_packet_unref( &pkt );
+         return 1;
+     }
+     const AVStream *p_stream = p_sys->ic->streams[pkt.stream_index];
+     if( p_stream->time_base.den <= 0 )
+     {
+         msg_Warn( p_demux, "Invalid time base for the stream %d", pkt.stream_index );
+-        av_free_packet( &pkt );
++        av_packet_unref( &pkt );
+         return 1;
+     }
+     if( p_stream->codec->codec_id == AV_CODEC_ID_SSA )
+@@ -749,7 +749,7 @@ static int Demux( demux_t *p_demux )
+         p_frame = BuildSsaFrame( &pkt, p_sys->i_ssa_order++ );
+         if( !p_frame )
+         {
+-            av_free_packet( &pkt );
++            av_packet_unref( &pkt );
+             return 1;
+         }
+     }
+@@ -757,7 +757,7 @@ static int Demux( demux_t *p_demux )
+     {
+         if( ( p_frame = block_Alloc( pkt.size ) ) == NULL )
+         {
+-            av_free_packet( &pkt );
++            av_packet_unref( &pkt );
+             return 0;
+         }
+         memcpy( p_frame->p_buffer, pkt.data, pkt.size );
+@@ -838,7 +838,7 @@ static int Demux( demux_t *p_demux )
+     else
+         block_Release( p_frame );
+ 
+-    av_free_packet( &pkt );
++    av_packet_unref( &pkt );
+     return 1;
+ }
+ 
+--- a/modules/codec/avcodec/vaapi.c
++++ b/modules/codec/avcodec/vaapi.c
+@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCod
+         return err;
+ 
+     /* Only VLD supported */
+-    p_va->pix_fmt = PIX_FMT_VAAPI_VLD;
++    p_va->pix_fmt = AV_PIX_FMT_VAAPI_VLD;
+     p_va->setup = Setup;
+     p_va->get = Get;
+     p_va->release = Release;
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2
  2016-08-15 15:03 [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Bernd Kuhls
                   ` (4 preceding siblings ...)
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 6/6] package/vlc: add support for ffmpeg 3.0 Bernd Kuhls
@ 2016-08-26 19:45 ` Thomas Petazzoni
  5 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2016-08-26 19:45 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 15 Aug 2016 17:03:36 +0200, Bernd Kuhls wrote:
> From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> 
> - Remove non-existing configure options:
>   - --disable-mips32r2
>   - --disable-libvo-aacenc
>   - --enable-libdcadec
>     (https://github.com/FFmpeg/FFmpeg/commit/e259dc86a80398d56d1aabcf6203f80616a4d04d)
> 
> - Amend renamed configure options:
>   - --disable-mipsdspr1 has been renamed to --disable-mipsdsp
> 
> Remove all Kodi-related patches according to upstream repo:
> https://github.com/xbmc/FFmpeg/commits/release/3.1-xbmc
> 
> Kodi now uses an unpatched ffmpeg.
> 
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v5: bump to version 3.1.2
> v4: bump to version 3.1.1
> v3: bump to version 3.0.2
> v2: bump to version 3.0.1

Applied to next, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 2/6] package/ffmpeg: default to --cpu=generic for MIPS architecture
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 2/6] package/ffmpeg: default to --cpu=generic for MIPS architecture Bernd Kuhls
@ 2016-08-26 19:46   ` Thomas Petazzoni
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2016-08-26 19:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 15 Aug 2016 17:03:37 +0200, Bernd Kuhls wrote:

> diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
> index a816cea..154a091 100644
> --- a/package/ffmpeg/ffmpeg.mk
> +++ b/package/ffmpeg/ffmpeg.mk
> @@ -455,6 +455,11 @@ else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
>  FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
>  endif
>  
> +# Default to --cpu=generic for MIPS architecture
> +ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
> +FFMPEG_CONF_OPTS += --cpu=generic
> +endif

The conditionals above were already adding a --cpu option. Even though
the last option probably wins, it isn't that nice, so I've changed the
code to:

# Default to --cpu=generic for MIPS architecture, in order to avoid a
# warning from ffmpeg's configure script.
ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
FFMPEG_CONF_OPTS += --cpu=generic
else ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_CPU)
else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
endif

However, the configure script makes it pretty clear that not all
BR2_GCC_TARGET_{CPU,ARCH} values might be valid, so maybe this is
something we should revisit at some point.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 3/6] package/ffmpeg: re-enable for mips64r2 and mips64r6
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 3/6] package/ffmpeg: re-enable for mips64r2 and mips64r6 Bernd Kuhls
@ 2016-08-26 19:46   ` Thomas Petazzoni
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2016-08-26 19:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 15 Aug 2016 17:03:38 +0200, Bernd Kuhls wrote:
> ffmpeg 3 fixed support for mips64r2 and mips64r6, for details see
> http://patchwork.ozlabs.org/patch/626756/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v5: no changes
> v4: no changes
> v3: no changes
> v2: no changes

Applied to next, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 4/6] package/ffmpeg: add optional support for opencv
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 4/6] package/ffmpeg: add optional support for opencv Bernd Kuhls
@ 2016-08-26 19:46   ` Thomas Petazzoni
  2016-08-27  6:06     ` Bernd Kuhls
  0 siblings, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2016-08-26 19:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 15 Aug 2016 17:03:39 +0200, Bernd Kuhls wrote:
> ffmpeg only needs the imgproc module of opencv:
> https://github.com/FFmpeg/FFmpeg/commit/15708f13477aaf2effdc0d7fc727507bc468335a
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

Applied to next. However: what about opencv3 support?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 5/6] package/tvheadend: remove compat patch for ffmpeg < 3.x
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 5/6] package/tvheadend: remove compat patch for ffmpeg < 3.x Bernd Kuhls
@ 2016-08-26 19:46   ` Thomas Petazzoni
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2016-08-26 19:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 15 Aug 2016 17:03:40 +0200, Bernd Kuhls wrote:
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v5: no changes
> v4: no changes
> v3: no changes
> v2: no changes

Applied to next, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 6/6] package/vlc: add support for ffmpeg 3.0
  2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 6/6] package/vlc: add support for ffmpeg 3.0 Bernd Kuhls
@ 2016-08-26 19:47   ` Thomas Petazzoni
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2016-08-26 19:47 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 15 Aug 2016 17:03:41 +0200, Bernd Kuhls wrote:
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v5: first release
>     instead of bumping vlc to git master (no vlc 3.x release yet) we use
>     a patch from deb-multimedia.org which provides the necessary changes
>     for ffmpeg 3.x support to vlc 2.2, compile-tested using this
>     defconfig:
> 
>     BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
>     BR2_TOOLCHAIN_BUILDROOT_CXX=y
>     BR2_PACKAGE_FFMPEG=y
>     BR2_PACKAGE_FFMPEG_GPL=y
>     BR2_PACKAGE_FFMPEG_POSTPROC=y
>     BR2_PACKAGE_FFMPEG_SWSCALE=y
>     BR2_PACKAGE_VLC=y
> 
>     This patch can be removed when vlc is bumped to 3.x.

Why is this very useful explanation below the "---" and the commit log
empty? It's a bit sad to write such a useful explanation, and lose it
when the patch is applied.

So I've moved this explanation up in the commit log, and applied to
next. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH/next v5 4/6] package/ffmpeg: add optional support for opencv
  2016-08-26 19:46   ` Thomas Petazzoni
@ 2016-08-27  6:06     ` Bernd Kuhls
  0 siblings, 0 replies; 13+ messages in thread
From: Bernd Kuhls @ 2016-08-27  6:06 UTC (permalink / raw)
  To: buildroot

Am Fri, 26 Aug 2016 21:46:51 +0200 schrieb Thomas Petazzoni:

> Hello,
> 
> On Mon, 15 Aug 2016 17:03:39 +0200, Bernd Kuhls wrote:
>> ffmpeg only needs the imgproc module of opencv:
>> https://github.com/FFmpeg/FFmpeg/commit/15708f13477aaf2effdc0d7fc727507bc468335a
>> 
>> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> 
> Applied to next. However: what about opencv3 support?

Hi Thomas,

according to ffmpeg/configure it only checks for opencv2:

http://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=configure;h=f28aa8ff66181e0025debd7480d3ad6e63e415ff;hp=f4b821ad313f1640b2698ef2ed5928ce24eca8f1;hb=15708f13477aaf2effdc0d7fc727507bc468335a;hpb=b70e9b4906a3d1a61c542da02793decba1dbabba

Regards, Bernd

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-08-27  6:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-15 15:03 [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Bernd Kuhls
2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 2/6] package/ffmpeg: default to --cpu=generic for MIPS architecture Bernd Kuhls
2016-08-26 19:46   ` Thomas Petazzoni
2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 3/6] package/ffmpeg: re-enable for mips64r2 and mips64r6 Bernd Kuhls
2016-08-26 19:46   ` Thomas Petazzoni
2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 4/6] package/ffmpeg: add optional support for opencv Bernd Kuhls
2016-08-26 19:46   ` Thomas Petazzoni
2016-08-27  6:06     ` Bernd Kuhls
2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 5/6] package/tvheadend: remove compat patch for ffmpeg < 3.x Bernd Kuhls
2016-08-26 19:46   ` Thomas Petazzoni
2016-08-15 15:03 ` [Buildroot] [PATCH/next v5 6/6] package/vlc: add support for ffmpeg 3.0 Bernd Kuhls
2016-08-26 19:47   ` Thomas Petazzoni
2016-08-26 19:45 ` [Buildroot] [PATCH/next v5 1/6] package/ffmpeg: bump to version 3.1.2 Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.