Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Dec 2016 08:24:06 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r428399 - in head/graphics/gegl3: . files
Message-ID:  <201612120824.uBC8O6Ch018880@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Mon Dec 12 08:24:05 2016
New Revision: 428399
URL: https://svnweb.freebsd.org/changeset/ports/428399

Log:
  graphics/gegl3: unbreak FFMPEG=on runtime
  
  $ echo CFLAGS+=-Werror=implicit-function-declaration >>Makefile.local
  $ make
  [...]
  ./ff-save.c:700:9: error: implicit declaration of function 'avcodec_encode_video' is invalid in C99
        [-Werror,-Wimplicit-function-declaration]
          avcodec_encode_video (c,
          ^
  ./ff-save.c:700:9: note: did you mean 'avcodec_encode_video2'?
  /usr/local/include/libavcodec/avcodec.h:5323:5: note: 'avcodec_encode_video2' declared here
  int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
      ^
  
  PR:		207547
  Obtained from:	upstream
  Approved by:	portmgr blanket

Added:
  head/graphics/gegl3/files/
  head/graphics/gegl3/files/patch-operations_external_ff-save.c   (contents, props changed)
Modified:
  head/graphics/gegl3/Makefile   (contents, props changed)

Modified: head/graphics/gegl3/Makefile
==============================================================================
--- head/graphics/gegl3/Makefile	Mon Dec 12 08:08:41 2016	(r428398)
+++ head/graphics/gegl3/Makefile	Mon Dec 12 08:24:05 2016	(r428399)
@@ -3,7 +3,7 @@
 
 PORTNAME=	gegl
 PORTVERSION=	0.3.4
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	graphics
 MASTER_SITES=	GIMP
 PKGNAMESUFFIX=	3

Added: head/graphics/gegl3/files/patch-operations_external_ff-save.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/gegl3/files/patch-operations_external_ff-save.c	Mon Dec 12 08:24:05 2016	(r428399)
@@ -0,0 +1,42 @@
+https://git.gnome.org/browse/gegl/commit/?id=e26d6deace35
+
+--- operations/external/ff-save.c.orig	2015-11-23 06:16:26 UTC
++++ operations/external/ff-save.c
+@@ -696,10 +696,33 @@ write_video_frame (GeglProperties *o,
+   else
+     {
+       /* encode the image */
+-      out_size =
+-        avcodec_encode_video (c,
+-                              p->video_outbuf,
+-                              p->video_outbuf_size, picture_ptr);
++      AVPacket pkt2;
++      int got_packet = 0;
++      av_init_packet(&pkt2);
++      pkt2.data = p->video_outbuf;
++      pkt2.size = p->video_outbuf_size;
++
++      out_size = avcodec_encode_video2(c, &pkt2, picture_ptr, &got_packet);
++    
++      if (!out_size && got_packet && c->coded_frame)
++        {
++          c->coded_frame->pts       = pkt2.pts;
++          c->coded_frame->key_frame = !!(pkt2.flags & AV_PKT_FLAG_KEY);
++          if (c->codec->capabilities & AV_CODEC_CAP_INTRA_ONLY)
++              c->coded_frame->pict_type = AV_PICTURE_TYPE_I;
++        }
++
++      if (pkt2.side_data_elems > 0)
++        {
++          int i;
++          for (i = 0; i < pkt2.side_data_elems; i++)
++            av_free(pkt2.side_data[i].data);
++          av_freep(&pkt2.side_data);
++          pkt2.side_data_elems = 0;
++        }
++
++      if (!out_size)
++        out_size = pkt2.size;
+ 
+       /* if zero size, it means the image was buffered */
+       if (out_size != 0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612120824.uBC8O6Ch018880>