Fix building with latest versions of ffmpeg.
authorBastien Montagne <montagne29@wanadoo.fr>
Tue, 8 May 2018 14:00:52 +0000 (16:00 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Tue, 8 May 2018 14:00:52 +0000 (16:00 +0200)
Some years-old deprecated stuff has now been removed.

Correct solution is probably to use valid defines etc. in own code, but
this is more FFMEPG maintainer task (since it also may change how old
FFMPEG we do support...).

intern/ffmpeg/ffmpeg_compat.h
source/blender/blenkernel/intern/writeffmpeg.c

index 1eb6c3b..bc65f19 100644 (file)
@@ -119,6 +119,45 @@ int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt)
 
 #endif
 
+/* XXX TODO Probably fix to correct modern flags in code? Not sure how old FFMPEG we want to support though,
+ * so for now this will do. */
+
+#ifndef FF_MIN_BUFFER_SIZE
+#  ifdef AV_INPUT_BUFFER_MIN_SIZE
+#    define FF_MIN_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE
+#  endif
+#endif
+
+#ifndef FF_INPUT_BUFFER_PADDING_SIZE
+#  ifdef AV_INPUT_BUFFER_PADDING_SIZE
+#    define FF_INPUT_BUFFER_PADDING_SIZE AV_INPUT_BUFFER_PADDING_SIZE
+#  endif
+#endif
+
+#ifndef CODEC_FLAG_GLOBAL_HEADER
+#  ifdef AV_CODEC_FLAG_GLOBAL_HEADER
+#    define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
+#  endif
+#endif
+
+#ifndef CODEC_FLAG_GLOBAL_HEADER
+#  ifdef AV_CODEC_FLAG_GLOBAL_HEADER
+#    define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
+#  endif
+#endif
+
+#ifndef CODEC_FLAG_INTERLACED_DCT
+#  ifdef AV_CODEC_FLAG_INTERLACED_DCT
+#    define CODEC_FLAG_INTERLACED_DCT AV_CODEC_FLAG_INTERLACED_DCT
+#  endif
+#endif
+
+#ifndef CODEC_FLAG_INTERLACED_ME
+#  ifdef AV_CODEC_FLAG_INTERLACED_ME
+#    define CODEC_FLAG_INTERLACED_ME AV_CODEC_FLAG_INTERLACED_ME
+#  endif
+#endif
+
 /* FFmpeg upstream 1.0 is the first who added AV_ prefix. */
 #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 59, 100)
 #  define AV_CODEC_ID_NONE CODEC_ID_NONE
index d7fcd89..fc71963 100644 (file)
@@ -619,7 +619,8 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int
        c->rc_buffer_aggressivity = 1.0;
 #endif
 
-       c->me_method = ME_EPZS;
+       /* Deprecated and not doing anything since July 2015, deleted in recent ffmpeg */
+       //c->me_method = ME_EPZS;
        
        codec = avcodec_find_encoder(c->codec_id);
        if (!codec)