commit:     2ce460484a2841634b71f5df4335ba3eca4f709a
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Sun May 13 17:28:19 2018 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Sun May 13 17:30:24 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ce46048

media-libs/gegl: Support ffmpeg 4.0

Closes: https://bugs.gentoo.org/654172
Package-Manager: Portage-2.3.36, Repoman-2.3.9

 .../files/gegl-0.4.0-ffmpeg-4-0-compat-1.patch     | 63 ++++++++++++++++++++++
 .../files/gegl-0.4.0-ffmpeg-4-0-compat-2.patch     | 25 +++++++++
 media-libs/gegl/gegl-0.3.34.ebuild                 |  2 +
 media-libs/gegl/gegl-0.4.0-r1.ebuild               |  2 +
 4 files changed, 92 insertions(+)

diff --git a/media-libs/gegl/files/gegl-0.4.0-ffmpeg-4-0-compat-1.patch 
b/media-libs/gegl/files/gegl-0.4.0-ffmpeg-4-0-compat-1.patch
new file mode 100644
index 00000000000..fc8027f08ae
--- /dev/null
+++ b/media-libs/gegl/files/gegl-0.4.0-ffmpeg-4-0-compat-1.patch
@@ -0,0 +1,63 @@
+From 8f2545886ce3be8f1b1229bddcfa5af3216110d3 Mon Sep 17 00:00:00 2001
+From: Franz Brausse <brau...@informatik.uni-trier.de>
+Date: Sun, 6 May 2018 13:38:09 +0200
+Subject: operations/external/ff-save: ffmpeg-4.0 compat; fixes #795625
+
+---
+ operations/external/ff-save.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/operations/external/ff-save.c b/operations/external/ff-save.c
+index 90b6162..e7edd3e 100644
+--- a/operations/external/ff-save.c
++++ b/operations/external/ff-save.c
+@@ -88,6 +88,11 @@ property_int (me_subpel_quality, _("me-subpel-quality"), 0)
+ #include <libavutil/opt.h>
+ #include <libswscale/swscale.h>
+ 
++/* remove if libavcodec_required_version is changed to > 56.41.100 */
++#if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(56,41,100)
++# define AV_CODEC_FLAG_GLOBAL_HEADER  CODEC_FLAG_GLOBAL_HEADER
++#endif
++
+ typedef struct
+ {
+   gdouble    frame;
+@@ -290,7 +295,7 @@ add_audio_stream (GeglProperties *o, AVFormatContext * oc, 
int codec_id)
+   c->codec_type = AVMEDIA_TYPE_AUDIO;
+ 
+   if (oc->oformat->flags & AVFMT_GLOBALHEADER)
+-    c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++    c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+   return st;
+ }
+@@ -699,7 +704,9 @@ open_video (GeglProperties *o, AVFormatContext * oc, 
AVStream * st)
+     }
+ 
+   p->video_outbuf = NULL;
++#if (LIBAVFORMAT_VERSION_MAJOR < 58) /* AVFMT_RAWPICTURE got removed from 
ffmpeg: "not used anymore" */
+   if (!(oc->oformat->flags & AVFMT_RAWPICTURE))
++#endif
+     {
+       /* allocate output buffer, 1 mb / frame, might fail for some codecs on 
UHD - but works for now */
+       p->video_outbuf_size = 1024 * 1024;
+@@ -803,6 +810,7 @@ write_video_frame (GeglProperties *o,
+   picture_ptr      = p->picture;
+   picture_ptr->pts = p->frame_count;
+ 
++      #if (LIBAVFORMAT_VERSION_MAJOR < 58) /* AVFMT_RAWPICTURE got removed 
from ffmpeg: "not used anymore" */
+   if (oc->oformat->flags & AVFMT_RAWPICTURE)
+     {
+       /* raw video case. The API will change slightly in the near
+@@ -821,6 +829,7 @@ write_video_frame (GeglProperties *o,
+       ret = av_write_frame (oc, &pkt);
+     }
+   else
++#endif
+     {
+       /* encode the image */
+       AVPacket pkt2;
+-- 
+cgit v0.12
+

diff --git a/media-libs/gegl/files/gegl-0.4.0-ffmpeg-4-0-compat-2.patch 
b/media-libs/gegl/files/gegl-0.4.0-ffmpeg-4-0-compat-2.patch
new file mode 100644
index 00000000000..260ff3b2c1a
--- /dev/null
+++ b/media-libs/gegl/files/gegl-0.4.0-ffmpeg-4-0-compat-2.patch
@@ -0,0 +1,25 @@
+From 2896800b5e7d0c656710c70fdea57098032f3ccc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=98yvind=20Kol=C3=A5s?= <pip...@gimp.org>
+Date: Sun, 6 May 2018 15:09:03 +0200
+Subject: ff-save: update another occurance of CODEC_FLAG_GLOBAL_HEADER
+
+---
+ operations/external/ff-save.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/operations/external/ff-save.c b/operations/external/ff-save.c
+index 1edac31..f30bf10 100644
+--- a/operations/external/ff-save.c
++++ b/operations/external/ff-save.c
+@@ -638,7 +638,7 @@ add_video_stream (GeglProperties *o, AVFormatContext * oc, 
int codec_id)
+ #endif
+ 
+    if (oc->oformat->flags & AVFMT_GLOBALHEADER)
+-     c->flags |= CODEC_FLAG_GLOBAL_HEADER;
++     c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ 
+   return st;
+ }
+-- 
+cgit v0.12
+

diff --git a/media-libs/gegl/gegl-0.3.34.ebuild 
b/media-libs/gegl/gegl-0.3.34.ebuild
index 075874901a6..90e2075cd1c 100644
--- a/media-libs/gegl/gegl-0.3.34.ebuild
+++ b/media-libs/gegl/gegl-0.3.34.ebuild
@@ -77,6 +77,8 @@ pkg_setup() {
 
 PATCHES=(
        "${FILESDIR}"/${PN}-0.3.12-failing-tests.patch
+       "${FILESDIR}"/${PN}-0.4.0-ffmpeg-4-0-compat-1.patch  # bug 654172
+       "${FILESDIR}"/${PN}-0.4.0-ffmpeg-4-0-compat-2.patch  # bug 654172
 )
 
 src_prepare() {

diff --git a/media-libs/gegl/gegl-0.4.0-r1.ebuild 
b/media-libs/gegl/gegl-0.4.0-r1.ebuild
index 79a293b0beb..36f2afb95aa 100644
--- a/media-libs/gegl/gegl-0.4.0-r1.ebuild
+++ b/media-libs/gegl/gegl-0.4.0-r1.ebuild
@@ -78,6 +78,8 @@ pkg_setup() {
 
 PATCHES=(
        "${FILESDIR}"/${PN}-0.3.12-failing-tests.patch
+       "${FILESDIR}"/${P}-ffmpeg-4-0-compat-1.patch  # bug 654172
+       "${FILESDIR}"/${P}-ffmpeg-4-0-compat-2.patch  # bug 654172
 )
 
 src_prepare() {

Reply via email to