merged to r37017 from trunk
authorXiao Xiangquan <xiaoxiangquan@gmail.com>
Mon, 30 May 2011 10:27:45 +0000 (10:27 +0000)
committerXiao Xiangquan <xiaoxiangquan@gmail.com>
Mon, 30 May 2011 10:27:45 +0000 (10:27 +0000)
1  2 
intern/ffmpeg/ffmpeg_compat.h

index 0000000,ab819f4..238519e
mode 000000,100644..100755
--- /dev/null
@@@ -1,0 -1,133 +1,133 @@@
 - * $Id$
+ #ifndef __ffmpeg_compat_h_included__
+ #define __ffmpeg_compat_h_included__ 1
+ /*
++ * $Id: ffmpeg_compat.h 36982 2011-05-28 14:16:56Z schlaile $
+  *
+  * compatibility macros to make every ffmpeg installation appear
+  * like the most current installation (wrapping some functionality sometimes)
+  * it also includes all ffmpeg header files at once, no need to do it 
+  * seperately.
+  *
+  * Copyright (c) 2011 Peter Schlaile
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation; either version 2 of the License, or
+  * (at your option) any later version.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  */
+ #include <libavformat/avformat.h>
+ #include <libavcodec/avcodec.h>
+ #include <libavutil/rational.h>
+ #if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 101))
+ #define FFMPEG_HAVE_PARSE_UTILS 1
+ #include <libavutil/parseutils.h>
+ #endif
+ #include <libswscale/swscale.h>
+ #include <libavcodec/opt.h>
+ #if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 105))
+ #define FFMPEG_HAVE_AVIO 1
+ #endif
+ #if (LIBAVCODEC_VERSION_MAJOR > 53) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR > 1)) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR == 1) && (LIBAVCODEC_VERSION_MICRO >= 1))
+ #define FFMPEG_HAVE_DEFAULT_VAL_UNION 1
+ #endif
+ #if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 101))
+ #define FFMPEG_HAVE_AV_DUMP_FORMAT 1
+ #endif
+ #if (LIBAVFORMAT_VERSION_MAJOR > 52) || ((LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 45))
+ #define FFMPEG_HAVE_AV_GUESS_FORMAT 1
+ #endif
+ #if (LIBAVCODEC_VERSION_MAJOR > 52) || ((LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 23))
+ #define FFMPEG_HAVE_DECODE_AUDIO3 1
+ #define FFMPEG_HAVE_DECODE_VIDEO2 1
+ #endif
+ #if (LIBAVCODEC_VERSION_MAJOR > 52) || ((LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 64))
+ #define FFMPEG_HAVE_AVMEDIA_TYPES 1
+ #endif
+ #if ((LIBAVCODEC_VERSION_MAJOR > 52) || (LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 29)) && \
+       ((LIBSWSCALE_VERSION_MAJOR > 0) || (LIBSWSCALE_VERSION_MAJOR >= 0) && (LIBSWSCALE_VERSION_MINOR >= 10))
+ #define FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT
+ #endif
+ #ifndef FFMPEG_HAVE_AVIO
+ #define AVIO_FLAG_WRITE URL_WRONLY
+ #define avio_open url_fopen
+ #define avio_tell url_ftell
+ #define avio_close url_fclose
+ #endif
+ /* there are some version inbetween, which have avio_... functions but no
+    AVIO_FLAG_... */
+ #ifndef AVIO_FLAG_WRITE
+ #define AVIO_FLAG_WRITE URL_WRONLY
+ #endif
+ #ifndef AV_PKT_FLAG_KEY
+ #define AV_PKT_FLAG_KEY PKT_FLAG_KEY
+ #endif
+ #ifndef FFMPEG_HAVE_AV_DUMP_FORMAT
+ #define av_dump_format dump_format
+ #endif
+ #ifndef FFMPEG_HAVE_AV_GUESS_FORMAT
+ #define av_guess_format guess_format
+ #endif
+ #ifndef FFMPEG_HAVE_PARSE_UTILS
+ #define av_parse_video_rate av_parse_video_frame_rate
+ #endif
+ #ifdef FFMPEG_HAVE_DEFAULT_VAL_UNION
+ #define FFMPEG_DEF_OPT_VAL_INT(OPT) OPT->default_val.i64
+ #define FFMPEG_DEF_OPT_VAL_DOUBLE(OPT) OPT->default_val.dbl
+ #else
+ #define FFMPEG_DEF_OPT_VAL_INT(OPT) OPT->default_val
+ #define FFMPEG_DEF_OPT_VAL_DOUBLE(OPT) OPT->default_val
+ #endif
+ #ifndef FFMPEG_HAVE_AVMEDIA_TYPES
+ #define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO
+ #define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
+ #endif
+ #ifndef FFMPEG_HAVE_DECODE_AUDIO3
+ static inline 
+ int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples,
+                         int *frame_size_ptr, AVPacket *avpkt)
+ {
+       return avcodec_decode_audio2(avctx, samples,
+                                    frame_size_ptr, avpkt->data,
+                                    avpkt->size);
+ }
+ #endif
+ #ifndef FFMPEG_HAVE_DECODE_VIDEO2
+ static inline
+ int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
+                          int *got_picture_ptr,
+                          AVPacket *avpkt)
+ {
+       return avcodec_decode_video(avctx, picture, got_picture_ptr,
+                                   avpkt->data, avpkt->size);
+ }
+ #endif
+ #endif