Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0
@ 2018-08-25  7:31 Bernd Kuhls
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 2/7] package/freeswitch: " Bernd Kuhls
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Bernd Kuhls @ 2018-08-25  7:31 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: re-integrated in ffmpeg bump series
v2: split patch from v1 series

 package/aubio/0001-ffmpeg4.patch | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 package/aubio/0001-ffmpeg4.patch

diff --git a/package/aubio/0001-ffmpeg4.patch b/package/aubio/0001-ffmpeg4.patch
new file mode 100644
index 0000000000..bdaac55a3d
--- /dev/null
+++ b/package/aubio/0001-ffmpeg4.patch
@@ -0,0 +1,32 @@
+From 5690daf759b473b9d13b4547ef37adc2695cf524 Mon Sep 17 00:00:00 2001
+From: James Cowgill <jcowgill@jcowgill.uk>
+Date: Sun, 25 Feb 2018 14:23:25 +0000
+Subject: [PATCH] Fix build with FFmpeg 4.0
+
+Downloaded from upstream commit
+https://git.aubio.org/?p=aubio.git;a=commitdiff;h=5690daf759b473b9d13b4547ef37adc2695cf524
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ src/io/source_avcodec.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/io/source_avcodec.c b/src/io/source_avcodec.c
+index ccdce807..8197445c 100644
+--- a/src/io/source_avcodec.c
++++ b/src/io/source_avcodec.c
+@@ -58,7 +58,11 @@
+ #include "fmat.h"
+ #include "source_avcodec.h"
+ 
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(56, 56, 0)
+ #define AUBIO_AVCODEC_MAX_BUFFER_SIZE FF_MIN_BUFFER_SIZE
++#else
++#define AUBIO_AVCODEC_MAX_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE
++#endif
+ 
+ struct _aubio_source_avcodec_t {
+   uint_t hop_size;
+-- 
+2.11.0
+
-- 
2.18.0

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

* [Buildroot] [PATCH/next v3 2/7] package/freeswitch: Fix build with FFmpeg 4.0
  2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
@ 2018-08-25  7:31 ` Bernd Kuhls
  2018-09-08 21:04   ` Thomas Petazzoni
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 3/7] package/gstreamer1/gst1-libav: " Bernd Kuhls
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bernd Kuhls @ 2018-08-25  7:31 UTC (permalink / raw)
  To: buildroot

Added missing license hashes.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: re-integrated in ffmpeg bump series
v2: split patch from v1 series, added missing license hashes,
    git-formatted patch 0002
    patch 0001 can not be reformatted because Makefile.in is not part of
    the git repository

 .../0002-mod_av-unbreak-with-ffmpeg-4.0.patch | 90 +++++++++++++++++++
 package/freeswitch/freeswitch.hash            |  2 +
 2 files changed, 92 insertions(+)
 create mode 100644 package/freeswitch/0002-mod_av-unbreak-with-ffmpeg-4.0.patch

diff --git a/package/freeswitch/0002-mod_av-unbreak-with-ffmpeg-4.0.patch b/package/freeswitch/0002-mod_av-unbreak-with-ffmpeg-4.0.patch
new file mode 100644
index 0000000000..0fc7536f52
--- /dev/null
+++ b/package/freeswitch/0002-mod_av-unbreak-with-ffmpeg-4.0.patch
@@ -0,0 +1,90 @@
+From 72f2f7047ad35b37002d6210458667a89c301cfe Mon Sep 17 00:00:00 2001
+From: jbeich <jbeich@FreeBSD.org>
+Date: Thu, 16 Aug 2018 22:14:20 +0200
+Subject: [PATCH] mod_av: unbreak with ffmpeg 4.0
+
+avcodec.c:194:40: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE'
+static uint8_t ff_input_buffer_padding[FF_INPUT_BUFFER_PADDING_SIZE] = { 0 };
+                                       ^
+avformat.c:471:14: error: use of undeclared identifier 'CODEC_FLAG_LOOP_FILTER'
+                        c->flags|=CODEC_FLAG_LOOP_FILTER;   // flags=+loop
+                                  ^
+avformat.c:477:47: error: use of undeclared identifier 'ME_HEX'
+                        av_opt_set_int(c->priv_data, "motion_est", ME_HEX, 0);
+                                                                   ^
+avformat.c:553:15: error: use of undeclared identifier 'CODEC_FLAG_GLOBAL_HEADER'
+                c->flags |= CODEC_FLAG_GLOBAL_HEADER;
+                            ^
+avformat.c:638:31: error: use of undeclared identifier 'CODEC_CAP_VARIABLE_FRAME_SIZE'
+        if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) {
+                                     ^
+
+PR:		227726
+Reported by:	antoine (via exp-run)
+
+Downloaded from
+https://github.com/freebsd/freebsd-ports/commit/da104360ea7d7861aa9fe6dc04b776a1eaf794ec
+
+Original file
+https://svnweb.freebsd.org/ports/head/net/freeswitch/files/patch-ffmpeg4?view=markup
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ src/mod/applications/mod_av/avcodec.c  | 2 +-
+ src/mod/applications/mod_av/avformat.c | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/mod/applications/mod_av/avcodec.c b/src/mod/applications/mod_av/avcodec.c
+index f987a47466..54a61c878c 100644
+--- a/src/mod/applications/mod_av/avcodec.c
++++ b/src/mod/applications/mod_av/avcodec.c
+@@ -191,7 +191,7 @@ typedef struct h264_codec_context_s {
+ 	int hw_encoder;
+ } h264_codec_context_t;
+ 
+-static uint8_t ff_input_buffer_padding[FF_INPUT_BUFFER_PADDING_SIZE] = { 0 };
++static uint8_t ff_input_buffer_padding[AV_INPUT_BUFFER_PADDING_SIZE] = { 0 };
+ 
+ static switch_status_t buffer_h264_nalu(h264_codec_context_t *context, switch_frame_t *frame)
+ {
+diff --git a/src/mod/applications/mod_av/avformat.c b/src/mod/applications/mod_av/avformat.c
+index b9f6f99ef5..f5329c9106 100644
+--- a/src/mod/applications/mod_av/avformat.c
++++ b/src/mod/applications/mod_av/avformat.c
+@@ -468,13 +468,13 @@ GCC_DIAG_ON(deprecated-declarations)
+ 			c->ticks_per_frame = 2;
+ 
+ 
+-			c->flags|=CODEC_FLAG_LOOP_FILTER;   // flags=+loop
++			c->flags|=AV_CODEC_FLAG_LOOP_FILTER;   // flags=+loop
+ 			c->me_cmp|= 1;  // cmp=+chroma, where CHROMA = 1
+ 			c->me_range = 16;   // me_range=16
+ 			c->max_b_frames = 3;    // bf=3
+ 
+ 			av_opt_set_int(c->priv_data, "b_strategy", 1, 0);
+-			av_opt_set_int(c->priv_data, "motion_est", ME_HEX, 0);
++			av_opt_set(c->priv_data, "motion_est", "hex", 0);
+ 			av_opt_set_int(c->priv_data, "coder", 1, 0);
+ 
+ 			switch (mm->vprofile) {
+@@ -550,7 +550,7 @@ GCC_DIAG_ON(deprecated-declarations)
+ 
+ 	/* Some formats want stream headers to be separate. */
+ 	if (fc->oformat->flags & AVFMT_GLOBALHEADER) {
+-		c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++		c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 	}
+ 
+ 	return SWITCH_STATUS_SUCCESS;
+@@ -639,7 +639,7 @@ GCC_DIAG_ON(deprecated-declarations)
+ 	mst->frame->format         = AV_SAMPLE_FMT_S16;
+ 	mst->frame->channel_layout = c->channel_layout;
+ 
+-	if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) {
++	if (c->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE) {
+ 		mst->frame->nb_samples = 10000;
+ 	} else {
+ 		mst->frame->nb_samples = c->frame_size;
+-- 
+2.18.0
+
diff --git a/package/freeswitch/freeswitch.hash b/package/freeswitch/freeswitch.hash
index 25421de99b..057142e655 100644
--- a/package/freeswitch/freeswitch.hash
+++ b/package/freeswitch/freeswitch.hash
@@ -8,6 +8,8 @@ sha256 dbb0f73109171bd381772b247b8ef581f6a176964619082a1fe031b004086f6b  freeswi
 sha256 10299420c1e8602c0daf5a59d022621cd72a9148d1f0f33501edb3db3445c7fe  COPYING
 sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4  libs/apr/LICENSE
 sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a  libs/apr-util/LICENSE
+sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615  libs/libvpx/LICENSE
+sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f  libs/libyuv/LICENSE
 sha256 7d72a8aee2c4b1a084200487992a5d86f5df6b535727a14c1874918e99d24600  libs/libzrtp/src/zrtp_legal.c
 sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60  libs/sofia-sip/COPYING
 sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556  libs/sofia-sip/COPYRIGHTS
-- 
2.18.0

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

* [Buildroot] [PATCH/next v3 3/7] package/gstreamer1/gst1-libav: Fix build with FFmpeg 4.0
  2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 2/7] package/freeswitch: " Bernd Kuhls
@ 2018-08-25  7:31 ` Bernd Kuhls
  2018-09-08 21:23   ` Thomas Petazzoni
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 4/7] package/mediastreamer: " Bernd Kuhls
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bernd Kuhls @ 2018-08-25  7:31 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: re-integrated in ffmpeg bump series
v2: split patch from v1 series, git-formatted patch,
    fixed typo in patch description (Peter S.)

 .../0001-Fix-build-with-ffmpeg-4.0.patch      | 676 ++++++++++++++++++
 1 file changed, 676 insertions(+)
 create mode 100644 package/gstreamer1/gst1-libav/0001-Fix-build-with-ffmpeg-4.0.patch

diff --git a/package/gstreamer1/gst1-libav/0001-Fix-build-with-ffmpeg-4.0.patch b/package/gstreamer1/gst1-libav/0001-Fix-build-with-ffmpeg-4.0.patch
new file mode 100644
index 0000000000..2d750e2345
--- /dev/null
+++ b/package/gstreamer1/gst1-libav/0001-Fix-build-with-ffmpeg-4.0.patch
@@ -0,0 +1,676 @@
+From 257963d93ce6a8ce08c3f3771e3a1b7ebb71dc2e Mon Sep 17 00:00:00 2001
+From: Ulenrich <eulenreich@gmx.de>
+Date: Thu, 16 Aug 2018 22:43:18 +0200
+Subject: [PATCH] Fix build with ffmpeg 4.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Instead of using the ffmpeg copy included by this package we use a patch
+from the Gentoo bug tracker to fix the build with ffmpeg 4.0.
+
+Upstream included support for ffmpeg 4.0 in the upcoming 1.16.x release
+of gstreamer:
+https://bugzilla.gnome.org/show_bug.cgi?id=792900
+
+NEWS mentions that the fixes "won?t be backported to the 1.14 branch as
+it is rather intrusive":
+https://github.com/GStreamer/gst-libav/commit/8886a016fce625e1c25a4902be4021196a6784a2#diff-ff4e2dc4962dc25a1512353299992c8dR1400
+
+Downloaded from https://bugs.gentoo.org/654628#c11
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ ext/libav/gstav.c         |  4 +--
+ ext/libav/gstavauddec.c   | 20 ++++++-------
+ ext/libav/gstavaudenc.c   |  7 ++---
+ ext/libav/gstavcfg.c      | 59 +++++++++++++++++++++++++--------------
+ ext/libav/gstavcodecmap.c | 29 +++++++++----------
+ ext/libav/gstavcodecmap.h |  2 +-
+ ext/libav/gstavviddec.c   | 33 ++++++++++------------
+ ext/libav/gstavvidenc.c   | 40 ++++++++++++++------------
+ 8 files changed, 106 insertions(+), 88 deletions(-)
+
+diff --git a/ext/libav/gstav.c b/ext/libav/gstav.c
+index 0fba840..3f26c86 100644
+--- a/ext/libav/gstav.c
++++ b/ext/libav/gstav.c
+@@ -30,7 +30,7 @@
+ 
+ #include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+-#include <libavfilter/avfiltergraph.h>
++//#include <libavfilter/avfiltergraph.h>
+ 
+ #include "gstav.h"
+ #include "gstavutils.h"
+@@ -156,7 +156,7 @@ plugin_init (GstPlugin * plugin)
+   gst_ffmpeg_init_pix_fmt_info ();
+ 
+   av_register_all ();
+-  avfilter_register_all ();
++  //avfilter_register_all ();
+ 
+   gst_ffmpegaudenc_register (plugin);
+   gst_ffmpegvidenc_register (plugin);
+diff --git a/ext/libav/gstavauddec.c b/ext/libav/gstavauddec.c
+index 9e56275..ae8aa66 100644
+--- a/ext/libav/gstavauddec.c
++++ b/ext/libav/gstavauddec.c
+@@ -287,7 +287,7 @@ gst_ffmpegauddec_propose_allocation (GstAudioDecoder * decoder,
+   gst_allocation_params_init (&params);
+   params.flags = GST_MEMORY_FLAG_ZERO_PADDED;
+   params.align = 15;
+-  params.padding = FF_INPUT_BUFFER_PADDING_SIZE;
++  params.padding = AV_INPUT_BUFFER_PADDING_SIZE;
+   /* we would like to have some padding so that we don't have to
+    * memcpy. We don't suggest an allocator. */
+   gst_query_add_allocation_param (query, NULL, &params);
+@@ -669,7 +669,7 @@ gst_ffmpegauddec_drain (GstFFMpegAudDec * ffmpegdec)
+ 
+   oclass = (GstFFMpegAudDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
+ 
+-  if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {
++  if (oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) {
+     gint have_data, len;
+ 
+     GST_LOG_OBJECT (ffmpegdec,
+@@ -748,10 +748,10 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf)
+   bsize = map.size;
+ 
+   if (bsize > 0 && (!GST_MEMORY_IS_ZERO_PADDED (map.memory)
+-          || (map.maxsize - map.size) < FF_INPUT_BUFFER_PADDING_SIZE)) {
++          || (map.maxsize - map.size) < AV_INPUT_BUFFER_PADDING_SIZE)) {
+     /* add padding */
+-    if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) {
+-      ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE;
++    if (ffmpegdec->padded_size < bsize + AV_INPUT_BUFFER_PADDING_SIZE) {
++      ffmpegdec->padded_size = bsize + AV_INPUT_BUFFER_PADDING_SIZE;
+       ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size);
+       GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d",
+           ffmpegdec->padded_size);
+@@ -759,7 +759,7 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf)
+     GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
+         "Copy input to add padding");
+     memcpy (ffmpegdec->padded, bdata, bsize);
+-    memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++    memset (ffmpegdec->padded + bsize, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+ 
+     bdata = ffmpegdec->padded;
+     do_padding = TRUE;
+@@ -768,7 +768,7 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf)
+   }
+ 
+   do {
+-    guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE];
++    guint8 tmp_padding[AV_INPUT_BUFFER_PADDING_SIZE];
+ 
+     data = bdata;
+     size = bsize;
+@@ -777,15 +777,15 @@ gst_ffmpegauddec_handle_frame (GstAudioDecoder * decoder, GstBuffer * inbuf)
+       /* add temporary padding */
+       GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
+           "Add temporary input padding");
+-      memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE);
+-      memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++      memcpy (tmp_padding, data + size, AV_INPUT_BUFFER_PADDING_SIZE);
++      memset (data + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+     }
+ 
+     /* decode a frame of audio now */
+     len = gst_ffmpegauddec_frame (ffmpegdec, data, size, &have_data, &ret);
+ 
+     if (do_padding) {
+-      memcpy (data + size, tmp_padding, FF_INPUT_BUFFER_PADDING_SIZE);
++      memcpy (data + size, tmp_padding, AV_INPUT_BUFFER_PADDING_SIZE);
+     }
+ 
+     if (ret != GST_FLOW_OK) {
+diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c
+index 6ffbc3e..2a82273 100644
+--- a/ext/libav/gstavaudenc.c
++++ b/ext/libav/gstavaudenc.c
+@@ -283,7 +283,6 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info)
+   }
+ 
+   /* some other defaults */
+-  ffmpegaudenc->context->rc_strategy = 2;
+   ffmpegaudenc->context->b_frame_strategy = 0;
+   ffmpegaudenc->context->coder_type = 0;
+   ffmpegaudenc->context->context_model = 0;
+@@ -330,7 +329,7 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info)
+             oclass->in_plugin) < 0)
+       GST_DEBUG_OBJECT (ffmpegaudenc, "Failed to set context defaults");
+ 
+-    if ((oclass->in_plugin->capabilities & CODEC_CAP_EXPERIMENTAL) &&
++    if ((oclass->in_plugin->capabilities & AV_CODEC_CAP_EXPERIMENTAL) &&
+         ffmpegaudenc->compliance != GST_FFMPEG_EXPERIMENTAL) {
+       GST_ELEMENT_ERROR (ffmpegaudenc, LIBRARY, SETTINGS,
+           ("Codec is experimental, but settings don't allow encoders to "
+@@ -602,7 +601,7 @@ gst_ffmpegaudenc_encode_audio (GstFFMpegAudEnc * ffmpegaudenc,
+         pkt->size, 0, pkt->size, pkt, gst_ffmpegaudenc_free_avpacket);
+ 
+     codec = ffmpegaudenc->context->codec;
+-    if ((codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) || !buffer) {
++    if ((codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE) || !buffer) {
+       /* FIXME: Not really correct, as -1 means "all the samples we got
+          given so far", which may not be true depending on the codec,
+          but we have no way to know AFAICT */
+@@ -626,7 +625,7 @@ gst_ffmpegaudenc_drain (GstFFMpegAudEnc * ffmpegaudenc)
+ 
+   oclass = (GstFFMpegAudEncClass *) (G_OBJECT_GET_CLASS (ffmpegaudenc));
+ 
+-  if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {
++  if (oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) {
+     gint have_data, try = 0;
+ 
+     GST_LOG_OBJECT (ffmpegaudenc,
+diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c
+index a1863fd..408e08e 100644
+--- a/ext/libav/gstavcfg.c
++++ b/ext/libav/gstavcfg.c
+@@ -42,9 +42,9 @@ gst_ffmpeg_pass_get_type (void)
+   if (!ffmpeg_pass_type) {
+     static const GEnumValue ffmpeg_passes[] = {
+       {0, "Constant Bitrate Encoding", "cbr"},
+-      {CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"},
+-      {CODEC_FLAG_PASS1, "VBR Encoding - Pass 1", "pass1"},
+-      {CODEC_FLAG_PASS2, "VBR Encoding - Pass 2", "pass2"},
++      {AV_CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"},
++      {AV_CODEC_FLAG_PASS1, "VBR Encoding - Pass 1", "pass1"},
++      {AV_CODEC_FLAG_PASS2, "VBR Encoding - Pass 2", "pass2"},
+       {0, NULL, NULL},
+     };
+ 
+@@ -66,7 +66,7 @@ gst_ffmpeg_lim_pass_get_type (void)
+   if (!ffmpeg_lim_pass_type) {
+     static const GEnumValue ffmpeg_lim_passes[] = {
+       {0, "Constant Bitrate Encoding", "cbr"},
+-      {CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"},
++      {AV_CODEC_FLAG_QSCALE, "Constant Quantizer", "quant"},
+       {0, NULL, NULL},
+     };
+ 
+@@ -121,9 +121,9 @@ gst_ffmpeg_mb_cmp_get_type (void)
+       {FF_CMP_VSSE, "VSSE", "vsse"},
+ #if 0
+ /* economize a bit for now */
+-      {FF_CMP_NSSE, "NSSE", "nsse"},
+-      {FF_CMP_W53, "W53", "w53"},
+-      {FF_CMP_W97, "W97", "w97"},
++      {AV_CMP_NSSE, "NSSE", "nsse"},
++      {AV_CMP_W53, "W53", "w53"},
++      {AV_CMP_W97, "W97", "w97"},
+ #endif
+       {0, NULL, NULL},
+     };
+@@ -260,21 +260,22 @@ gst_ffmpeg_flags_get_type (void)
+   /* FIXME: This needs some serious resyncing with avcodec.h */
+   if (!ffmpeg_flags_type) {
+     static const GFlagsValue ffmpeg_flags[] = {
+-      {CODEC_FLAG_QSCALE, "Use fixed qscale", "qscale"},
+-      {CODEC_FLAG_4MV, "Allow 4 MV per MB", "4mv"},
+-      {CODEC_FLAG_QPEL, "Quartel Pel Motion Compensation", "qpel"},
+-      {CODEC_FLAG_GMC, "GMC", "gmc"},
+-      {CODEC_FLAG_MV0, "Always try a MB with MV (0,0)", "mv0"},
+-      {CODEC_FLAG_LOOP_FILTER, "Loop filter", "loop-filter"},
+-      {CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"},
+-      {CODEC_FLAG_NORMALIZE_AQP,
+-          "Normalize Adaptive Quantization (masking, etc)", "aqp"},
+-      {CODEC_FLAG_GLOBAL_HEADER,
++      {AV_CODEC_FLAG_QSCALE, "Use fixed qscale", "qscale"},
++      {AV_CODEC_FLAG_4MV, "Allow 4 MV per MB", "4mv"},
++      {AV_CODEC_FLAG_QPEL, "Quartel Pel Motion Compensation", "qpel"},
++      //{AV_CODEC_FLAG_GMC, "GMC", "gmc"},
++      //{AV_CODEC_FLAG_MV0, "Always try a MB with MV (0,0)", "mv0"},
++      {AV_CODEC_FLAG_LOOP_FILTER, "Loop filter", "loop-filter"},
++      {AV_CODEC_FLAG_GRAY, "Only decode/encode grayscale", "gray"},
++      //{AV_CODEC_FLAG_NORMALIZE_AQP,
++      //    "Normalize Adaptive Quantization (masking, etc)", "aqp"},
++      {AV_CODEC_FLAG_GLOBAL_HEADER,
+             "Global headers in extradata instead of every keyframe",
+           "global-headers"},
+-      {CODEC_FLAG_AC_PRED, "H263 Advanced Intra Coding / MPEG4 AC prediction",
++      {AV_CODEC_FLAG_AC_PRED,
++            "H263 Advanced Intra Coding / MPEG4 AC prediction",
+           "aic"},
+-      {CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"},
++      {AV_CODEC_FLAG_CLOSED_GOP, "Closed GOP", "closedgop"},
+       {0, NULL, NULL},
+     };
+ 
+@@ -487,31 +488,39 @@ gst_ffmpeg_cfg_init (void)
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.qblur, FALSE, mpeg, NULL);
+ 
++#if 0
+   pspec = g_param_spec_float ("rc-qsquish", "Ratecontrol Limiting Method",
+       "0 means limit by clipping, otherwise use nice continuous function",
+       0, 99.0f, 1.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_qsquish, FALSE, mpeg, NULL);
++#endif
+ 
++#if 0
+   pspec = g_param_spec_float ("rc-qmod-amp", "Ratecontrol Mod",
+       "Ratecontrol Mod", 0, 99.0f, 0,
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_qmod_amp, FALSE, mpeg, NULL);
++#endif
+ 
++#if 0
+   pspec = g_param_spec_int ("rc-qmod-freq", "Ratecontrol Freq",
+       "Ratecontrol Freq", 0, 0, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_qmod_freq, FALSE, mpeg, NULL);
++#endif
+ 
+   pspec = g_param_spec_int ("rc-buffer-size", "Ratecontrol Buffer Size",
+       "Decoder bitstream buffer size", 0, G_MAXINT, 0,
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_buffer_size, FALSE, mpeg, NULL);
+ 
++#if 0
+   pspec =
+       g_param_spec_float ("rc-buffer-aggressivity",
+       "Ratecontrol Buffer Aggressivity", "Ratecontrol Buffer Aggressivity", 0,
+       99.0f, 1.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_buffer_aggressivity, FALSE, mpeg,
+       NULL);
++#endif
+ 
+ #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT (57, 3, 0)
+   pspec = g_param_spec_int ("rc-max-rate", "Ratecontrol Maximum Bitrate",
+@@ -529,17 +538,21 @@ gst_ffmpeg_cfg_init (void)
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_min_rate, FALSE, mpeg, NULL);
+ 
++#if 0
+   pspec =
+       g_param_spec_float ("rc-initial-cplx",
+       "Initial Complexity for Pass 1 Ratecontrol",
+       "Initial Complexity for Pass 1 Ratecontrol", 0, 9999999.0f, 0,
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_initial_cplx, FALSE, mpeg, NULL);
++#endif
+ 
++#if 0
+   pspec = g_param_spec_string ("rc-eq", "Ratecontrol Equation",
+       "Ratecontrol Equation", "tex^qComp",
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.rc_eq, FALSE, mpeg, NULL);
++#endif
+ 
+   pspec = g_param_spec_float ("b-quant-factor", "B-Quantizer Factor",
+       "Factor in B-Frame Quantizer Computation",
+@@ -630,19 +643,23 @@ gst_ffmpeg_cfg_init (void)
+       0, 16000, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.me_range, FALSE, mpeg, NULL);
+ 
++#if 0
+   pspec = g_param_spec_int ("intra-quant-bias",
+       "Intra Quantizer Bias",
+       "Intra Quantizer Bias",
+-      -1000000, 1000000, FF_DEFAULT_QUANT_BIAS,
++      -1000000, 1000000, AV_DEFAULT_QUANT_BIAS,
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.intra_quant_bias, FALSE, mpeg, NULL);
++#endif
+ 
++#if 0
+   pspec = g_param_spec_int ("inter-quant-bias",
+       "Inter Quantizer Bias",
+       "Inter Quantizer Bias",
+-      -1000000, 1000000, FF_DEFAULT_QUANT_BIAS,
++      -1000000, 1000000, AV_DEFAULT_QUANT_BIAS,
+       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+   gst_ffmpeg_add_pspec (pspec, config.inter_quant_bias, FALSE, mpeg, NULL);
++#endif
+ 
+   pspec = g_param_spec_int ("noise-reduction",
+       "Noise Reduction",
+diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c
+index 9a72033..6b66bb9 100644
+--- a/ext/libav/gstavcodecmap.c
++++ b/ext/libav/gstavcodecmap.c
+@@ -825,10 +825,10 @@ gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id,
+       if (encode && context) {
+ 
+         gst_caps_set_simple (caps,
+-            "annex-f", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_4MV,
+-            "annex-j", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_LOOP_FILTER,
+-            "annex-i", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED,
+-            "annex-t", G_TYPE_BOOLEAN, context->flags & CODEC_FLAG_AC_PRED,
++            "annex-f", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_4MV,
++            "annex-j", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_LOOP_FILTER,
++            "annex-i", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_AC_PRED,
++            "annex-t", G_TYPE_BOOLEAN, context->flags & AV_CODEC_FLAG_AC_PRED,
+             NULL);
+       }
+       break;
+@@ -3181,7 +3181,7 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id,
+        * as is, as that is what most players do. */
+       context->extradata =
+           av_mallocz (GST_ROUND_UP_16 (size * 2 +
+-              FF_INPUT_BUFFER_PADDING_SIZE));
++              AV_INPUT_BUFFER_PADDING_SIZE));
+       copy_config (context->extradata, data, size, &extrasize);
+       GST_DEBUG ("escaped size: %d", extrasize);
+       context->extradata_size = extrasize;
+@@ -3192,7 +3192,7 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id,
+       GST_DEBUG ("copy codec_data");
+       context->extradata =
+           av_mallocz (GST_ROUND_UP_16 (map.size +
+-              FF_INPUT_BUFFER_PADDING_SIZE));
++              AV_INPUT_BUFFER_PADDING_SIZE));
+       memcpy (context->extradata, map.data, map.size);
+       context->extradata_size = map.size;
+     }
+@@ -3216,7 +3216,7 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id,
+     {
+       const gchar *mime = gst_structure_get_name (str);
+ 
+-      context->flags |= CODEC_FLAG_4MV;
++      context->flags |= AV_CODEC_FLAG_4MV;
+ 
+       if (!strcmp (mime, "video/x-divx"))
+         context->codec_tag = GST_MAKE_FOURCC ('D', 'I', 'V', 'X');
+@@ -3228,7 +3228,8 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id,
+         profile = gst_structure_get_string (str, "profile");
+         if (profile) {
+           if (g_strcmp0 (profile, "advanced-simple") == 0)
+-            context->flags |= CODEC_FLAG_GMC | CODEC_FLAG_QPEL;
++            context->flags |= AV_CODEC_FLAG_QPEL;
++            /* FIXME use the "gmc" private option of the libxvid encoder */
+         }
+       }
+       break;
+@@ -3334,18 +3335,18 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id,
+       gboolean val;
+ 
+       if (!gst_structure_get_boolean (str, "annex-f", &val) || val)
+-        context->flags |= CODEC_FLAG_4MV;
++        context->flags |= AV_CODEC_FLAG_4MV;
+       else
+-        context->flags &= ~CODEC_FLAG_4MV;
++        context->flags &= ~AV_CODEC_FLAG_4MV;
+       if ((!gst_structure_get_boolean (str, "annex-i", &val) || val) &&
+           (!gst_structure_get_boolean (str, "annex-t", &val) || val))
+-        context->flags |= CODEC_FLAG_AC_PRED;
++        context->flags |= AV_CODEC_FLAG_AC_PRED;
+       else
+-        context->flags &= ~CODEC_FLAG_AC_PRED;
++        context->flags &= ~AV_CODEC_FLAG_AC_PRED;
+       if (!gst_structure_get_boolean (str, "annex-j", &val) || val)
+-        context->flags |= CODEC_FLAG_LOOP_FILTER;
++        context->flags |= AV_CODEC_FLAG_LOOP_FILTER;
+       else
+-        context->flags &= ~CODEC_FLAG_LOOP_FILTER;
++        context->flags &= ~AV_CODEC_FLAG_LOOP_FILTER;
+       break;
+     }
+     case AV_CODEC_ID_ADPCM_G726:
+diff --git a/ext/libav/gstavcodecmap.h b/ext/libav/gstavcodecmap.h
+index 9575e77..14cdfce 100644
+--- a/ext/libav/gstavcodecmap.h
++++ b/ext/libav/gstavcodecmap.h
+@@ -155,7 +155,7 @@ gst_ffmpeg_formatid_to_caps (const gchar *format_name);
+ 
+ /*
+  * _formatid_get_codecids () can be used to get the codecIDs
+- * (CODEC_ID_NONE-terminated list) that fit that specific
++ * (AV_CODEC_ID_NONE-terminated list) that fit that specific
+  * output format.
+  */
+ 
+diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
+index d3830dd..11ad02c 100644
+--- a/ext/libav/gstavviddec.c
++++ b/ext/libav/gstavviddec.c
+@@ -239,7 +239,7 @@ gst_ffmpegviddec_class_init (GstFFMpegVidDecClass * klass)
+           DEFAULT_OUTPUT_CORRUPT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ 
+   caps = klass->in_plugin->capabilities;
+-  if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) {
++  if (caps & (AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS)) {
+     g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_MAX_THREADS,
+         g_param_spec_int ("max-threads", "Maximum decode threads",
+             "Maximum number of worker threads to spawn. (0 = auto)",
+@@ -369,7 +369,7 @@ gst_ffmpegviddec_open (GstFFMpegVidDec * ffmpegdec)
+       oclass->in_plugin->name, oclass->in_plugin->id);
+ 
+   gst_ffmpegviddec_context_set_flags (ffmpegdec->context,
+-      CODEC_FLAG_OUTPUT_CORRUPT, ffmpegdec->output_corrupt);
++      AV_CODEC_FLAG_OUTPUT_CORRUPT, ffmpegdec->output_corrupt);
+ 
+   return TRUE;
+ 
+@@ -499,7 +499,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
+     gboolean is_live;
+ 
+     if (ffmpegdec->max_threads == 0) {
+-      if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS))
++      if (!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS))
+         ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads ();
+       else
+         ffmpegdec->context->thread_count = 0;
+@@ -628,10 +628,7 @@ gst_ffmpegvideodec_prepare_dr_pool (GstFFMpegVidDec * ffmpegdec,
+   avcodec_align_dimensions2 (ffmpegdec->context, &width, &height,
+       linesize_align);
+ 
+-  if (ffmpegdec->context->flags & CODEC_FLAG_EMU_EDGE)
+-    edge = 0;
+-  else
+-    edge = avcodec_get_edge_width ();
++  edge = 0;
+ 
+   /* increase the size for the padding */
+   width += edge << 1;
+@@ -736,7 +733,7 @@ gst_ffmpegviddec_can_direct_render (GstFFMpegVidDec * ffmpegdec)
+     return FALSE;
+ 
+   oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
+-  return ((oclass->in_plugin->capabilities & CODEC_CAP_DR1) == CODEC_CAP_DR1);
++  return ((oclass->in_plugin->capabilities & AV_CODEC_CAP_DR1) == AV_CODEC_CAP_DR1);
+ }
+ 
+ /* called when ffmpeg wants us to allocate a buffer to write the decoded frame
+@@ -1773,7 +1770,7 @@ gst_ffmpegviddec_drain (GstVideoDecoder * decoder)
+ 
+   oclass = (GstFFMpegVidDecClass *) (G_OBJECT_GET_CLASS (ffmpegdec));
+ 
+-  if (oclass->in_plugin->capabilities & CODEC_CAP_DELAY) {
++  if (oclass->in_plugin->capabilities & AV_CODEC_CAP_DELAY) {
+     gint have_data, len;
+     GstFlowReturn ret;
+ 
+@@ -1819,10 +1816,10 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder,
+   bsize = minfo.size;
+ 
+   if (bsize > 0 && (!GST_MEMORY_IS_ZERO_PADDED (minfo.memory)
+-          || (minfo.maxsize - minfo.size) < FF_INPUT_BUFFER_PADDING_SIZE)) {
++          || (minfo.maxsize - minfo.size) < AV_INPUT_BUFFER_PADDING_SIZE)) {
+     /* add padding */
+-    if (ffmpegdec->padded_size < bsize + FF_INPUT_BUFFER_PADDING_SIZE) {
+-      ffmpegdec->padded_size = bsize + FF_INPUT_BUFFER_PADDING_SIZE;
++    if (ffmpegdec->padded_size < bsize + AV_INPUT_BUFFER_PADDING_SIZE) {
++      ffmpegdec->padded_size = bsize + AV_INPUT_BUFFER_PADDING_SIZE;
+       ffmpegdec->padded = g_realloc (ffmpegdec->padded, ffmpegdec->padded_size);
+       GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d",
+           ffmpegdec->padded_size);
+@@ -1830,7 +1827,7 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder,
+     GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
+         "Copy input to add padding");
+     memcpy (ffmpegdec->padded, bdata, bsize);
+-    memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++    memset (ffmpegdec->padded + bsize, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+ 
+     bdata = ffmpegdec->padded;
+     do_padding = TRUE;
+@@ -1839,7 +1836,7 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder,
+   }
+ 
+   do {
+-    guint8 tmp_padding[FF_INPUT_BUFFER_PADDING_SIZE];
++    guint8 tmp_padding[AV_INPUT_BUFFER_PADDING_SIZE];
+ 
+     /* parse, if at all possible */
+     data = bdata;
+@@ -1849,8 +1846,8 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder,
+       /* add temporary padding */
+       GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
+           "Add temporary input padding");
+-      memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE);
+-      memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++      memcpy (tmp_padding, data + size, AV_INPUT_BUFFER_PADDING_SIZE);
++      memset (data + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+     }
+ 
+     /* decode a frame of audio/video now */
+@@ -1866,7 +1863,7 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder,
+     }
+ 
+     if (do_padding) {
+-      memcpy (data + size, tmp_padding, FF_INPUT_BUFFER_PADDING_SIZE);
++      memcpy (data + size, tmp_padding, AV_INPUT_BUFFER_PADDING_SIZE);
+     }
+ 
+     if (len == 0 && have_data == 0) {
+@@ -2147,7 +2144,7 @@ gst_ffmpegviddec_propose_allocation (GstVideoDecoder * decoder,
+   gst_allocation_params_init (&params);
+   params.flags = GST_MEMORY_FLAG_ZERO_PADDED;
+   params.align = DEFAULT_STRIDE_ALIGN;
+-  params.padding = FF_INPUT_BUFFER_PADDING_SIZE;
++  params.padding = AV_INPUT_BUFFER_PADDING_SIZE;
+   /* we would like to have some padding so that we don't have to
+    * memcpy. We don't suggest an allocator. */
+   gst_query_add_allocation_param (query, NULL, &params);
+diff --git a/ext/libav/gstavvidenc.c b/ext/libav/gstavvidenc.c
+index 36143f5..22e5cae 100644
+--- a/ext/libav/gstavvidenc.c
++++ b/ext/libav/gstavvidenc.c
+@@ -68,18 +68,19 @@ enum
+   PROP_CFG_BASE,
+ };
+ 
++#if 0
+ #define GST_TYPE_ME_METHOD (gst_ffmpegvidenc_me_method_get_type())
+ static GType
+ gst_ffmpegvidenc_me_method_get_type (void)
+ {
+   static GType ffmpegenc_me_method_type = 0;
+   static GEnumValue ffmpegenc_me_methods[] = {
+-    {ME_ZERO, "None (Very low quality)", "zero"},
+-    {ME_FULL, "Full (Slow, unmaintained)", "full"},
+-    {ME_LOG, "Logarithmic (Low quality, unmaintained)", "logarithmic"},
+-    {ME_PHODS, "phods (Low quality, unmaintained)", "phods"},
+-    {ME_EPZS, "EPZS (Best quality, Fast)", "epzs"},
+-    {ME_X1, "X1 (Experimental)", "x1"},
++    {FF_CMP_ZERO, "None (Very low quality)", "zero"},
++    {FF_CMP_FULL, "Full (Slow, unmaintained)", "full"},
++    {FF_CMP_LOG, "Logarithmic (Low quality, unmaintained)", "logarithmic"},
++    {FF_CMP_PHODS, "phods (Low quality, unmaintained)", "phods"},
++    {FF_CMP_EPZS, "EPZS (Best quality, Fast)", "epzs"},
++    {FF_CMP_X1, "X1 (Experimental)", "x1"},
+     {0, NULL, NULL},
+   };
+   if (!ffmpegenc_me_method_type) {
+@@ -88,6 +89,7 @@ gst_ffmpegvidenc_me_method_get_type (void)
+   }
+   return ffmpegenc_me_method_type;
+ }
++#endif
+ 
+ /* A number of function prototypes are given so we can refer to them later. */
+ static void gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass);
+@@ -201,10 +203,12 @@ gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass)
+       g_param_spec_int ("gop-size", "GOP Size",
+           "Number of frames within one GOP", 0, G_MAXINT,
+           DEFAULT_VIDEO_GOP_SIZE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
++#if 0
+   g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_ME_METHOD,
+       g_param_spec_enum ("me-method", "ME Method", "Motion Estimation Method",
+-          GST_TYPE_ME_METHOD, ME_EPZS,
++          GST_TYPE_ME_METHOD, FF_CMP_EPZS,
+           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
++#endif
+ 
+   g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_BUFSIZE,
+       g_param_spec_int ("buffer-size", "Buffer Size",
+@@ -216,7 +220,7 @@ gst_ffmpegvidenc_class_init (GstFFMpegVidEncClass * klass)
+           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ 
+   caps = klass->in_plugin->capabilities;
+-  if (caps & (CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS)) {
++  if (caps & (AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS)) {
+     g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_MAX_THREADS,
+         g_param_spec_int ("max-threads", "Maximum encode threads",
+             "Maximum number of worker threads to spawn. (0 = auto)",
+@@ -259,7 +263,7 @@ gst_ffmpegvidenc_init (GstFFMpegVidEnc * ffmpegenc)
+   ffmpegenc->file = NULL;
+ 
+   ffmpegenc->bitrate = DEFAULT_VIDEO_BITRATE;
+-  ffmpegenc->me_method = ME_EPZS;
++  //ffmpegenc->me_method = FF_CMP_EPZS;
+   ffmpegenc->buffer_size = 512 * 1024;
+   ffmpegenc->gop_size = DEFAULT_VIDEO_GOP_SIZE;
+   ffmpegenc->rtp_payload_size = 0;
+@@ -321,12 +325,12 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder,
+   ffmpegenc->context->bit_rate = ffmpegenc->bitrate;
+   ffmpegenc->context->bit_rate_tolerance = ffmpegenc->bitrate;
+   ffmpegenc->context->gop_size = ffmpegenc->gop_size;
+-  ffmpegenc->context->me_method = ffmpegenc->me_method;
++  //ffmpegenc->context->me_method = ffmpegenc->me_method;
+   GST_DEBUG_OBJECT (ffmpegenc, "Setting avcontext to bitrate %d, gop_size %d",
+       ffmpegenc->bitrate, ffmpegenc->gop_size);
+ 
+   if (ffmpegenc->max_threads == 0) {
+-    if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS))
++    if (!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS))
+       ffmpegenc->context->thread_count = gst_ffmpeg_auto_max_threads ();
+     else
+       ffmpegenc->context->thread_count = 0;
+@@ -343,16 +347,16 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder,
+   gst_ffmpeg_cfg_fill_context (ffmpegenc, ffmpegenc->context);
+ 
+   /* then handle some special cases */
+-  ffmpegenc->context->lmin = (ffmpegenc->lmin * FF_QP2LAMBDA + 0.5);
+-  ffmpegenc->context->lmax = (ffmpegenc->lmax * FF_QP2LAMBDA + 0.5);
++  ffmpegenc->context->qmin = (ffmpegenc->lmin * FF_QP2LAMBDA + 0.5);
++  ffmpegenc->context->qmax = (ffmpegenc->lmax * FF_QP2LAMBDA + 0.5);
+ 
+   if (ffmpegenc->interlaced) {
+     ffmpegenc->context->flags |=
+-        CODEC_FLAG_INTERLACED_DCT | CODEC_FLAG_INTERLACED_ME;
++        AV_CODEC_FLAG_INTERLACED_DCT | AV_CODEC_FLAG_INTERLACED_ME;
+   }
+ 
+   /* some other defaults */
+-  ffmpegenc->context->rc_strategy = 2;
++  //ffmpegenc->context->rc_strategy = 2;
+   ffmpegenc->context->b_frame_strategy = 0;
+   ffmpegenc->context->coder_type = 0;
+   ffmpegenc->context->context_model = 0;
+@@ -362,18 +366,18 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder,
+   ffmpegenc->context->flags |= ffmpegenc->pass;
+   switch (ffmpegenc->pass) {
+       /* some additional action depends on type of pass */
+-    case CODEC_FLAG_QSCALE:
++    case AV_CODEC_FLAG_QSCALE:
+       ffmpegenc->context->global_quality
+           = ffmpegenc->picture->quality = FF_QP2LAMBDA * ffmpegenc->quantizer;
+       break;
+-    case CODEC_FLAG_PASS1:     /* need to prepare a stats file */
++    case AV_CODEC_FLAG_PASS1:     /* need to prepare a stats file */
+       /* we don't close when changing caps, fingers crossed */
+       if (!ffmpegenc->file)
+         ffmpegenc->file = g_fopen (ffmpegenc->filename, "w");
+       if (!ffmpegenc->file)
+         goto open_file_err;
+       break;
+-    case CODEC_FLAG_PASS2:
++    case AV_CODEC_FLAG_PASS2:
+     {                           /* need to read the whole stats file ! */
+       gsize size;
+ 
+-- 
+2.18.0
+
-- 
2.18.0

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

* [Buildroot] [PATCH/next v3 4/7] package/mediastreamer: Fix build with FFmpeg 4.0
  2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 2/7] package/freeswitch: " Bernd Kuhls
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 3/7] package/gstreamer1/gst1-libav: " Bernd Kuhls
@ 2018-08-25  7:31 ` Bernd Kuhls
  2018-09-08 21:11   ` Thomas Petazzoni
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 5/7] package/motion: " Bernd Kuhls
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bernd Kuhls @ 2018-08-25  7:31 UTC (permalink / raw)
  To: buildroot

Added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: re-integrated in ffmpeg bump series
v2: split patch from v1 series, git-formatted patch,
    added license hash

 ...FER_PADDING_SIZE-to-determine-paddin.patch | 64 +++++++++++++++++++
 package/mediastreamer/mediastreamer.hash      |  1 +
 2 files changed, 65 insertions(+)
 create mode 100644 package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch

diff --git a/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch b/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch
new file mode 100644
index 0000000000..792c3eeb44
--- /dev/null
+++ b/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch
@@ -0,0 +1,64 @@
+From 84b1919124884232e0fa30b30458470db27c73fc Mon Sep 17 00:00:00 2001
+From: James Cowgill <jcowgill@debian.org>
+Date: Sat, 18 Aug 2018 12:56:38 +0200
+Subject: [PATCH] Use AV_INPUT_BUFFER_PADDING_SIZE to determine padding
+ size
+
+Hardcoding the value for FF_INPUT_BUFFER_PADDING_SIZE is not safe
+because  upstream FFmpeg might change it (as they did in FFmpeg 4.0).
+
+Instead, use FFmpeg's AV_INPUT_BUFFER_PADDING_SIZE if available and
+only hardcode a value if FFmpeg is disabled (in which case the value
+doesn't particularly matter anyway). For compatibility with older
+FFmpeg versions, define AV_INPUT_BUFFER_PADDING_SIZE if hasn't been
+defined yet.
+
+Downloaded from
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901735
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ src/utils/ffmpeg-priv.h     | 4 ++++
+ src/videofilters/nowebcam.c | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/utils/ffmpeg-priv.h b/src/utils/ffmpeg-priv.h
+index c0745a9a..d59ea0e1 100644
+--- a/src/utils/ffmpeg-priv.h
++++ b/src/utils/ffmpeg-priv.h
+@@ -102,6 +102,10 @@ static inline int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
+ #endif
+ #endif
+ 
++#ifndef AV_INPUT_BUFFER_PADDING_SIZE
++#define AV_INPUT_BUFFER_PADDING_SIZE FF_INPUT_BUFFER_PADDING_SIZE
++#endif
++
+ #ifndef HAVE_FUN_avcodec_encode_video2
+ int avcodec_encode_video2 (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr);
+ #endif
+diff --git a/src/videofilters/nowebcam.c b/src/videofilters/nowebcam.c
+index bd2ca838..4783de05 100644
+--- a/src/videofilters/nowebcam.c
++++ b/src/videofilters/nowebcam.c
+@@ -32,7 +32,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ #ifndef NO_FFMPEG
+ #include "ffmpeg-priv.h"
+ #else
+-#define FF_INPUT_BUFFER_PADDING_SIZE 32
++#define AV_INPUT_BUFFER_PADDING_SIZE 32
+ #endif
+ 
+ #if TARGET_OS_IPHONE
+@@ -248,7 +248,7 @@ static mblk_t *_ms_load_jpeg_as_yuv(const char *jpgpath, MSVideoSize *reqsize){
+ 			ms_error("Cannot load %s",jpgpath);
+ 			return NULL;
+ 		}
+-		jpgbuf=(uint8_t*)ms_malloc0(statbuf.st_size + FF_INPUT_BUFFER_PADDING_SIZE);
++		jpgbuf=(uint8_t*)ms_malloc0(statbuf.st_size + AV_INPUT_BUFFER_PADDING_SIZE);
+ 		if (jpgbuf==NULL)
+ 		{
+ 			close(fd);
+-- 
+2.18.0
+
diff --git a/package/mediastreamer/mediastreamer.hash b/package/mediastreamer/mediastreamer.hash
index 5f26b54bff..8ebf64af09 100644
--- a/package/mediastreamer/mediastreamer.hash
+++ b/package/mediastreamer/mediastreamer.hash
@@ -1,2 +1,3 @@
 # Locally calculated
 sha256  1144849c0c96abafb1153adf56109f0f195a9e4a53cf28cb611bbca7a9012c1a  mediastreamer-2.14.0.tar.gz
+sha256  ba9ed2269151ad63b922598f3c5c19ddf781b2bbb6cb843ed9f085ecd1679c5d  COPYING
-- 
2.18.0

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

* [Buildroot] [PATCH/next v3 5/7] package/motion: Fix build with FFmpeg 4.0
  2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
                   ` (2 preceding siblings ...)
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 4/7] package/mediastreamer: " Bernd Kuhls
@ 2018-08-25  7:31 ` Bernd Kuhls
  2018-09-08 21:24   ` Thomas Petazzoni
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 6/7] package/squeezelite: " Bernd Kuhls
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Bernd Kuhls @ 2018-08-25  7:31 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: re-integrated in ffmpeg bump series
v2: split patch from v1
    backported upstream commit (Thomas)

 ...001-Fix-build-errors-with-FFmpeg-4.0.patch | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 package/motion/0001-Fix-build-errors-with-FFmpeg-4.0.patch

diff --git a/package/motion/0001-Fix-build-errors-with-FFmpeg-4.0.patch b/package/motion/0001-Fix-build-errors-with-FFmpeg-4.0.patch
new file mode 100644
index 0000000000..e738809a74
--- /dev/null
+++ b/package/motion/0001-Fix-build-errors-with-FFmpeg-4.0.patch
@@ -0,0 +1,58 @@
+From 9b93a417e37e1f0fef58d1582a7e98e4c05d3b42 Mon Sep 17 00:00:00 2001
+From: James Cowgill <jcowgill@users.noreply.github.com>
+Date: Sun, 25 Feb 2018 20:13:57 +0000
+Subject: [PATCH] Fix build errors with FFmpeg 4.0
+
+Backported from upstream commit
+https://github.com/Motion-Project/motion/commit/9b93a417e37e1f0fef58d1582a7e98e4c05d3b42
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ ffmpeg.c | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/ffmpeg.c b/ffmpeg.c
+index 1e6cdf6..4299ba3 100644
+--- a/ffmpeg.c
++++ b/ffmpeg.c
+@@ -67,6 +67,19 @@
+ 
+ #endif
+ 
++/*********************************************/
++#if (LIBAVCODEC_VERSION_MAJOR >= 57)
++
++#define MY_CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
++#define MY_CODEC_FLAG_QSCALE        AV_CODEC_FLAG_QSCALE
++
++#else
++
++#define MY_CODEC_FLAG_GLOBAL_HEADER CODEC_FLAG_GLOBAL_HEADER
++#define MY_CODEC_FLAG_QSCALE        CODEC_FLAG_QSCALE
++
++#endif
++
+ /*********************************************/
+ AVFrame *my_frame_alloc(void){
+     AVFrame *pic;
+@@ -548,7 +561,7 @@ static int ffmpeg_set_quality(struct ffmpeg *ffmpeg){
+         /* The selection of 8000 is a subjective number based upon viewing output files */
+         if (ffmpeg->vbr > 0){
+             ffmpeg->vbr =(int)(((100-ffmpeg->vbr)*(100-ffmpeg->vbr)*(100-ffmpeg->vbr) * 8000) / 1000000) + 1;
+-            ffmpeg->ctx_codec->flags |= CODEC_FLAG_QSCALE;
++            ffmpeg->ctx_codec->flags |= MY_CODEC_FLAG_QSCALE;
+             ffmpeg->ctx_codec->global_quality=ffmpeg->vbr;
+         }
+     }
+@@ -673,7 +686,7 @@ static int ffmpeg_set_codec(struct ffmpeg *ffmpeg){
+       ffmpeg->ctx_codec->strict_std_compliance = -2;
+       ffmpeg->ctx_codec->level = 3;
+     }
+-    ffmpeg->ctx_codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
++    ffmpeg->ctx_codec->flags |= MY_CODEC_FLAG_GLOBAL_HEADER;
+ 
+     retcd = ffmpeg_set_quality(ffmpeg);
+     if (retcd < 0){
+-- 
+2.18.0
+
-- 
2.18.0

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

* [Buildroot] [PATCH/next v3 6/7] package/squeezelite: Fix build with FFmpeg 4.0
  2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
                   ` (3 preceding siblings ...)
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 5/7] package/motion: " Bernd Kuhls
@ 2018-08-25  7:31 ` Bernd Kuhls
  2018-09-08 21:26   ` Thomas Petazzoni
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 7/7] package/ffmpeg: bump version to 4.0.2 Bernd Kuhls
  2018-09-08 21:04 ` [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Thomas Petazzoni
  6 siblings, 1 reply; 15+ messages in thread
From: Bernd Kuhls @ 2018-08-25  7:31 UTC (permalink / raw)
  To: buildroot

Git-formatted patch 0003, added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: re-integrated in ffmpeg bump series
v2: split patch from v1, git-formatted patches 3 & 4, added license hash

 ... 0003-Replace-deprecated-FFmpeg-API.patch} | 26 ++++++++++------
 .../0004-Fix-FTBFS-with-FFmpeg-4.0.patch      | 31 +++++++++++++++++++
 package/squeezelite/squeezelite.hash          |  1 +
 3 files changed, 49 insertions(+), 9 deletions(-)
 rename package/squeezelite/{0003-ffmpeg_2_9.patch => 0003-Replace-deprecated-FFmpeg-API.patch} (80%)
 create mode 100644 package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch

diff --git a/package/squeezelite/0003-ffmpeg_2_9.patch b/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch
similarity index 80%
rename from package/squeezelite/0003-ffmpeg_2_9.patch
rename to package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch
index f69b829b38..74d8f1be55 100644
--- a/package/squeezelite/0003-ffmpeg_2_9.patch
+++ b/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch
@@ -1,17 +1,22 @@
-Fix compilation with ffmpeg >= 2.9
+From cce6a0378ac319b87d2545d73f593d440bf686f5 Mon Sep 17 00:00:00 2001
+From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
+Date: Sat, 18 Aug 2018 13:25:23 +0200
+Subject: [PATCH] Replace deprecated FFmpeg API
+
+Fixes compilation with ffmpeg >= 2.9.
 
 Downloaded from Debian:
-https://sources.debian.net/src/squeezelite/1.8-3/debian/patches/ffmpeg_2.9.patch/
+https://sources.debian.org/src/squeezelite/1.8-4.1/debian/patches/ffmpeg_2.9.patch/
 
 Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ ffmpeg.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
 
-
-Description: Replace deprecated FFmpeg API
-Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Last-Update: <2015-11-02>
-
---- squeezelite-1.8.orig/ffmpeg.c
-+++ squeezelite-1.8/ffmpeg.c
+diff --git a/ffmpeg.c b/ffmpeg.c
+index 279f31d..bc9136c 100644
+--- a/ffmpeg.c
++++ b/ffmpeg.c
 @@ -52,8 +52,8 @@ struct ff_s {
  	unsigned (* avcodec_version)(void);
  	AVCodec * (* avcodec_find_decoder)(int);
@@ -55,3 +60,6 @@ Last-Update: <2015-11-02>
  	ff->avcodec_decode_audio4 = dlsym(handle_codec, "avcodec_decode_audio4");
  	ff->av_init_packet = dlsym(handle_codec, "av_init_packet");
  	ff->av_free_packet = dlsym(handle_codec, "av_free_packet");
+-- 
+2.18.0
+
diff --git a/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch b/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch
new file mode 100644
index 0000000000..25a5db3cae
--- /dev/null
+++ b/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch
@@ -0,0 +1,31 @@
+From 4ad37284447e768d641768c7c8a69c4640c83181 Mon Sep 17 00:00:00 2001
+From: James Cowgill <jcowgill@debian.org>
+Date: Sat, 18 Aug 2018 13:26:59 +0200
+Subject: [PATCH] Fix FTBFS with FFmpeg 4.0
+
+Bug-Debian: https://bugs.debian.org/888335
+
+Downloaded from Debian:
+https://sources.debian.org/src/squeezelite/1.8-4.1/debian/patches/ffmpeg4.0.patch/
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ ffmpeg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ffmpeg.c b/ffmpeg.c
+index bc9136c..d51b08e 100644
+--- a/ffmpeg.c
++++ b/ffmpeg.c
+@@ -264,7 +264,7 @@ static decode_state ff_decode(void) {
+ 		ff->mmsh_bytes_left = ff->mmsh_bytes_pad = ff->mmsh_packet_len = 0;
+ 
+ 		if (!ff->readbuf) {
+-			ff->readbuf = AV(ff, malloc, READ_SIZE +  FF_INPUT_BUFFER_PADDING_SIZE);
++			ff->readbuf = AV(ff, malloc, READ_SIZE +  AV_INPUT_BUFFER_PADDING_SIZE);
+ 		}
+ 
+ 		avio = AVIO(ff, alloc_context, ff->readbuf, READ_SIZE, 0, NULL, _read_data, NULL, NULL);
+-- 
+2.18.0
+
diff --git a/package/squeezelite/squeezelite.hash b/package/squeezelite/squeezelite.hash
index 1dbb4c155a..d56f5da665 100644
--- a/package/squeezelite/squeezelite.hash
+++ b/package/squeezelite/squeezelite.hash
@@ -1,2 +1,3 @@
 # Locally calculated
 sha256 0c844e7714d3f15325629c59ee75e6309763116e61a6b73486b502e2e5cce5fd squeezelite-v1.8.tar.gz
+sha256 3e4379e1f34b8c5da00e545cfe94369b94a57745902c5d12be43b6332c34c04e LICENSE.txt
-- 
2.18.0

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

* [Buildroot] [PATCH/next v3 7/7] package/ffmpeg: bump version to 4.0.2
  2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
                   ` (4 preceding siblings ...)
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 6/7] package/squeezelite: " Bernd Kuhls
@ 2018-08-25  7:31 ` Bernd Kuhls
  2018-09-08 21:27   ` Thomas Petazzoni
  2018-09-08 21:04 ` [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Thomas Petazzoni
  6 siblings, 1 reply; 15+ messages in thread
From: Bernd Kuhls @ 2018-08-25  7:31 UTC (permalink / raw)
  To: buildroot

ffserver was removed upstream:
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=6b35a83214f1bc3fb38c9ea9c2cd3676f28709fa

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: initial version

 Config.in.legacy           | 6 ++++++
 package/ffmpeg/Config.in   | 6 ------
 package/ffmpeg/ffmpeg.hash | 2 +-
 package/ffmpeg/ffmpeg.mk   | 8 +-------
 4 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index aae8d28e13..3aa82aa5fe 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -145,6 +145,12 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2018.11"
 
+config BR2_PACKAGE_FFMPEG_FFSERVER
+	bool "ffserver was removed"
+	select BR2_LEGACY
+	help
+	  ffserver was removed upstream
+
 config BR2_KERNEL_HEADERS_4_10
 	bool "kernel headers version 4.10.x are no longer supported"
 	select BR2_KERNEL_HEADERS_4_9
diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index 2d94c5712a..eec7ce0f6b 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -63,12 +63,6 @@ config BR2_PACKAGE_FFMPEG_FFPLAY
 comment "ffplay needs a toolchain w/ dynamic library"
 	depends on BR2_STATIC_LIBS
 
-config BR2_PACKAGE_FFMPEG_FFSERVER
-	bool "Build ffserver"
-	depends on BR2_USE_MMU # fork()
-	help
-	  FFserver is a streaming server for both audio and video.
-
 config BR2_PACKAGE_FFMPEG_FFPROBE
 	bool "Build ffprobe"
 	help
diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash
index 7d64d8441c..ff6b8ffcb5 100644
--- a/package/ffmpeg/ffmpeg.hash
+++ b/package/ffmpeg/ffmpeg.hash
@@ -1,5 +1,5 @@
 # Locally calculated
-sha256 386f7601e865df6bddde05bb6927119b5a853f0b92e2e9834f59c125a17d3fc6  ffmpeg-3.4.4.tar.xz
+sha256 a95c0cc9eb990e94031d2183f2e6e444cc61c99f6f182d1575c433d62afb2f97  ffmpeg-4.0.2.tar.xz
 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING.GPLv2
 sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe  COPYING.LGPLv2.1
 sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff  LICENSE.md
diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index cf9abeb102..4071e1ccef 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FFMPEG_VERSION = 3.4.4
+FFMPEG_VERSION = 4.0.2
 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz
 FFMPEG_SITE = http://ffmpeg.org/releases
 FFMPEG_INSTALL_STAGING = YES
@@ -84,12 +84,6 @@ else
 FFMPEG_CONF_OPTS += --disable-ffplay
 endif
 
-ifeq ($(BR2_PACKAGE_FFMPEG_FFSERVER),y)
-FFMPEG_CONF_OPTS += --enable-ffserver
-else
-FFMPEG_CONF_OPTS += --disable-ffserver
-endif
-
 ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y)
 FFMPEG_CONF_OPTS += --enable-avresample
 else
-- 
2.18.0

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

* [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0
  2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
                   ` (5 preceding siblings ...)
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 7/7] package/ffmpeg: bump version to 4.0.2 Bernd Kuhls
@ 2018-09-08 21:04 ` Thomas Petazzoni
  6 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2018-09-08 21:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 25 Aug 2018 09:31:12 +0200, Bernd Kuhls wrote:
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v3: re-integrated in ffmpeg bump series
> v2: split patch from v1 series
> 
>  package/aubio/0001-ffmpeg4.patch | 32 ++++++++++++++++++++++++++++++++

Please use the file name generated by git format-patch, i.e in the
upstream Git repository, run:

$ git format-patch 5690daf759b473b9d13b4547ef37adc2695cf524^..5690daf759b473b9d13b4547ef37adc2695cf524

which generates:

0001-Fix-build-with-FFmpeg-4.0.patch

I've renamed the file and applied, but please try to do this for the
next contributions. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next v3 2/7] package/freeswitch: Fix build with FFmpeg 4.0
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 2/7] package/freeswitch: " Bernd Kuhls
@ 2018-09-08 21:04   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2018-09-08 21:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 25 Aug 2018 09:31:13 +0200, Bernd Kuhls wrote:

>  .../0002-mod_av-unbreak-with-ffmpeg-4.0.patch | 90 +++++++++++++++++++

This patch no longer applies since the bump of freeswitch to 1.8.1,
could you respin a new version ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next v3 4/7] package/mediastreamer: Fix build with FFmpeg 4.0
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 4/7] package/mediastreamer: " Bernd Kuhls
@ 2018-09-08 21:11   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2018-09-08 21:11 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 25 Aug 2018 09:31:15 +0200, Bernd Kuhls wrote:
> Added license hash.

Please don't add license hash in unrelated patches. When doing a
package bump, it's fairly OK, but mixed with ffmpeg 4.0 fixes,  that's
really odd.

I've applied after dropping the license file hash addition. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next v3 3/7] package/gstreamer1/gst1-libav: Fix build with FFmpeg 4.0
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 3/7] package/gstreamer1/gst1-libav: " Bernd Kuhls
@ 2018-09-08 21:23   ` Thomas Petazzoni
  2018-09-09 14:16     ` Bernd Kuhls
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2018-09-08 21:23 UTC (permalink / raw)
  To: buildroot

Hello Bernd,

On Sat, 25 Aug 2018 09:31:14 +0200, Bernd Kuhls wrote:

> diff --git a/package/gstreamer1/gst1-libav/0001-Fix-build-with-ffmpeg-4.0.patch b/package/gstreamer1/gst1-libav/0001-Fix-build-with-ffmpeg-4.0.patch
> new file mode 100644
> index 0000000000..2d750e2345
> --- /dev/null
> +++ b/package/gstreamer1/gst1-libav/0001-Fix-build-with-ffmpeg-4.0.patch
> @@ -0,0 +1,676 @@
> +From 257963d93ce6a8ce08c3f3771e3a1b7ebb71dc2e Mon Sep 17 00:00:00 2001
> +From: Ulenrich <eulenreich@gmx.de>
> +Date: Thu, 16 Aug 2018 22:43:18 +0200
> +Subject: [PATCH] Fix build with ffmpeg 4.0
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Instead of using the ffmpeg copy included by this package we use a patch
> +from the Gentoo bug tracker to fix the build with ffmpeg 4.0.
> +
> +Upstream included support for ffmpeg 4.0 in the upcoming 1.16.x release
> +of gstreamer:
> +https://bugzilla.gnome.org/show_bug.cgi?id=792900
> +
> +NEWS mentions that the fixes "won?t be backported to the 1.14 branch as
> +it is rather intrusive":
> +https://github.com/GStreamer/gst-libav/commit/8886a016fce625e1c25a4902be4021196a6784a2#diff-ff4e2dc4962dc25a1512353299992c8dR1400
> +
> +Downloaded from https://bugs.gentoo.org/654628#c11

I am a bit worried about this patch, see below.

> +-  params.padding = FF_INPUT_BUFFER_PADDING_SIZE;
> ++  params.padding = AV_INPUT_BUFFER_PADDING_SIZE;

Is AV_INPUT_BUFFER_PADDING_SIZE defined in ffmpeg 3.x that we
currently have ? If not, then this change is going to break the build.

In other packages, what is done is:

++#ifndef AV_INPUT_BUFFER_PADDING_SIZE
++#define AV_INPUT_BUFFER_PADDING_SIZE FF_INPUT_BUFFER_PADDING_SIZE
++#endif

Which to me, implies that AV_INPUT_BUFFER_PADDING_SIZE is not defined
in older versions of ffmpeg.

> ++#if 0
> +   pspec = g_param_spec_float ("rc-qsquish", "Ratecontrol Limiting Method",
> +       "0 means limit by clipping, otherwise use nice continuous function",
> +       0, 99.0f, 1.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
> +   gst_ffmpeg_add_pspec (pspec, config.rc_qsquish, FALSE, mpeg, NULL);
> ++#endif

Is it OK to just remove all this code ?

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next v3 5/7] package/motion: Fix build with FFmpeg 4.0
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 5/7] package/motion: " Bernd Kuhls
@ 2018-09-08 21:24   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2018-09-08 21:24 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 25 Aug 2018 09:31:16 +0200, Bernd Kuhls wrote:
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v3: re-integrated in ffmpeg bump series
> v2: split patch from v1
>     backported upstream commit (Thomas)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next v3 6/7] package/squeezelite: Fix build with FFmpeg 4.0
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 6/7] package/squeezelite: " Bernd Kuhls
@ 2018-09-08 21:26   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2018-09-08 21:26 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 25 Aug 2018 09:31:17 +0200, Bernd Kuhls wrote:
> Git-formatted patch 0003, added license hash.
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v3: re-integrated in ffmpeg bump series
> v2: split patch from v1, git-formatted patches 3 & 4, added license hash

I've dropped the license file hash addition (should be done in a
separate commit), and applied to master. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next v3 7/7] package/ffmpeg: bump version to 4.0.2
  2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 7/7] package/ffmpeg: bump version to 4.0.2 Bernd Kuhls
@ 2018-09-08 21:27   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2018-09-08 21:27 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 25 Aug 2018 09:31:18 +0200, Bernd Kuhls wrote:
> ffserver was removed upstream:
> http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=6b35a83214f1bc3fb38c9ea9c2cd3676f28709fa
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

Since I did not apply the gst-libav and freeswitch patches, they are
not yet compatible with ffmpeg 4.x, so I did not apply this one either.

Could you resend it as part of the next series with the freeswitch and
gst-libav fixes ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH/next v3 3/7] package/gstreamer1/gst1-libav: Fix build with FFmpeg 4.0
  2018-09-08 21:23   ` Thomas Petazzoni
@ 2018-09-09 14:16     ` Bernd Kuhls
  0 siblings, 0 replies; 15+ messages in thread
From: Bernd Kuhls @ 2018-09-09 14:16 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

Am Sat, 08 Sep 2018 23:23:31 +0200 schrieb Thomas Petazzoni:

>> +Downloaded from https://bugs.gentoo.org/654628#c11
> 
> I am a bit worried about this patch, see below.
> 
>> +-  params.padding = FF_INPUT_BUFFER_PADDING_SIZE;
>> ++  params.padding = AV_INPUT_BUFFER_PADDING_SIZE;
> 
> Is AV_INPUT_BUFFER_PADDING_SIZE defined in ffmpeg 3.x that we
> currently have ? If not, then this change is going to break the build.

Yes, it was added to ffmpeg 2.8 back in 2015:
http://git.videolan.org/?
p=ffmpeg.git;a=commitdiff;h=29d147c94dd40a78ca3981f39365cc77dae9a0da

>> ++#if 0
>> +   pspec = g_param_spec_float ("rc-qsquish", "Ratecontrol Limiting 
Method",
>> +       "0 means limit by clipping, otherwise use nice continuous 
function",
>> +       0, 99.0f, 1.0f, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
>> +   gst_ffmpeg_add_pspec (pspec, config.rc_qsquish, FALSE, mpeg, NULL);
>> ++#endif
> 
> Is it OK to just remove all this code ?

To get gst1-libav 1.14.2 compiled, yes, it seems so.

The alternative would be to bump gstreamer1 to its current git master 
branch like Debian did:

http://metadata.ftp-master.debian.org/changelogs//main/g/gst-libav1.0/gst-
libav1.0_1.15.0.1+git20180723+db823502-1_changelog

Regards, Bernd

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

end of thread, other threads:[~2018-09-09 14:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-25  7:31 [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Bernd Kuhls
2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 2/7] package/freeswitch: " Bernd Kuhls
2018-09-08 21:04   ` Thomas Petazzoni
2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 3/7] package/gstreamer1/gst1-libav: " Bernd Kuhls
2018-09-08 21:23   ` Thomas Petazzoni
2018-09-09 14:16     ` Bernd Kuhls
2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 4/7] package/mediastreamer: " Bernd Kuhls
2018-09-08 21:11   ` Thomas Petazzoni
2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 5/7] package/motion: " Bernd Kuhls
2018-09-08 21:24   ` Thomas Petazzoni
2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 6/7] package/squeezelite: " Bernd Kuhls
2018-09-08 21:26   ` Thomas Petazzoni
2018-08-25  7:31 ` [Buildroot] [PATCH/next v3 7/7] package/ffmpeg: bump version to 4.0.2 Bernd Kuhls
2018-09-08 21:27   ` Thomas Petazzoni
2018-09-08 21:04 ` [Buildroot] [PATCH/next v3 1/7] package/aubio: Fix build with FFmpeg 4.0 Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox