[gegl] operations/external/ff-save: ffmpeg-4.0 compat; fixes #795625



commit 8f2545886ce3be8f1b1229bddcfa5af3216110d3
Author: Franz Brausse <brausse informatik uni-trier de>
Date:   Sun May 6 13:38:09 2018 +0200

    operations/external/ff-save: ffmpeg-4.0 compat; fixes #795625

 operations/external/ff-save.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)
---
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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]