remove $Id: tags after discussion on the mailign list: http://markmail.org/message...
[blender.git] / intern / ffmpeg / ffmpeg_compat.h
index fae8590568d78c7e4dcdaaaa4f421925e5fe54f6..dfdad22e17681aa0cd900715cbd48ec34a8a9ac8 100644 (file)
@@ -2,7 +2,6 @@
 #define __ffmpeg_compat_h_included__ 1
 
 /*
- * $Id$
  *
  * compatibility macros to make every ffmpeg installation appear
  * like the most current installation (wrapping some functionality sometimes)
 
 
 #include <libavformat/avformat.h>
+
+
+/* check our ffmpeg is new enough, avoids user complaints */
+#if (LIBAVFORMAT_VERSION_MAJOR < 52) || ((LIBAVFORMAT_VERSION_MAJOR == 52) && (LIBAVFORMAT_VERSION_MINOR <= 64))
+#  error "FFmpeg 0.7 or newer is needed, Upgrade your FFmpeg or disable it"
+#endif
+/* end sanity check */
+
+
 #include <libavcodec/avcodec.h>
 #include <libavutil/rational.h>
 
@@ -71,6 +79,7 @@
 #define avio_open url_fopen
 #define avio_tell url_ftell
 #define avio_close url_fclose
+#define avio_size url_fsize
 #endif
 
 /* there are some version inbetween, which have avio_... functions but no
@@ -130,4 +139,20 @@ int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
 }
 #endif
 
+static inline
+int64_t av_get_pts_from_frame(AVFormatContext *avctx, AVFrame * picture)
+{
+       int64_t pts = picture->pkt_pts;
+
+       if (pts == AV_NOPTS_VALUE) {
+               pts = picture->pkt_dts;
+       }
+       if (pts == AV_NOPTS_VALUE) {
+               pts = 0;
+       }
+
+       (void)avctx;
+       return pts;
+}
+
 #endif