summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve L'Homme <slhomme@divxcorp.com>2006-08-29 07:34:58 +0000
committerGuillaume Poirier <gpoirier@mplayerhq.hu>2006-08-29 07:34:58 +0000
commit8ac17293d328b3642872445fc77e1f98eca90175 (patch)
tree01294c09093f60841c7e516d5ed07bba862d8330
parent776fe466b280a960485509d92e1ece3656efb8f1 (diff)
AVISynth support, patch by Steve Lhomme % slhomme A divxcorp P com %
Original Thread: Date: Aug 16, 2006 11:45 PM Subject: [Ffmpeg-devel] [PATCH] AVISynth support Originally committed as revision 6122 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--Changelog1
-rwxr-xr-xconfigure26
-rw-r--r--libavformat/Makefile1
-rw-r--r--libavformat/allformats.c3
-rw-r--r--libavformat/allformats.h1
5 files changed, 32 insertions, 0 deletions
diff --git a/Changelog b/Changelog
index a3c89dd960..bfccb866ae 100644
--- a/Changelog
+++ b/Changelog
@@ -54,6 +54,7 @@ version <next>
- MXF demuxer
- VC-1/WMV3/WMV9 video decoder
- MacIntel support
+- AVISynth support
version 0.4.9-pre1:
diff --git a/configure b/configure
index 01f76789b9..3f61ad8975 100755
--- a/configure
+++ b/configure
@@ -58,6 +58,7 @@ show_help(){
echo " --enable-dc1394 enable IIDC-1394 grabbing using libdc1394"
echo " and libraw1394 [default=no]"
echo " --enable-swscaler software scaler support [default=no]"
+ echo " --enable-avisynth allow reading AVISynth script files [default=no]"
echo " --enable-gpl allow use of GPL code, the resulting libav*"
echo " and ffmpeg will be under GPL [default=no]"
echo ""
@@ -440,6 +441,7 @@ bigendian="no"
inttypes="yes"
emu_fast_int="no"
vhook="default"
+avisynth="no"
dlfcn="no"
dlopen="no"
mpegaudio_hp="yes"
@@ -769,6 +771,8 @@ for opt do
;;
--enable-x264) x264="yes"
;;
+ --enable-avisynth) avisynth="yes";
+ ;;
--enable-dc1394) dc1394="yes"
pkg_requires="$pkg_requires libraw1394"
;;
@@ -1304,6 +1308,22 @@ EOF
restore_flags
fi
+# Ugh, avisynth uses WINAPI calls. Generic tests won't work.
+if enabled avisynth; then
+ save_flags
+ temp_extralibs -lvfw32
+ check_ld <<EOF && add_extralibs -lvfw32 || die "ERROR: vfw32 not found"
+#include <windows.h>
+#include <vfw.h>
+int main(){
+ AVIFileInit();
+ return 0;
+}
+EOF
+ restore_flags
+fi
+
+
# test for lrintf in math.h
check_exec <<EOF && have_lrintf=yes || have_lrintf=no
#define _ISOC9X_SOURCE 1
@@ -1527,6 +1547,7 @@ echo "a52 dlopened $a52bin"
echo "DTS support $dts"
echo "pp support $pp"
echo "Software Scaler enabled $swscaler"
+echo "AVISynth enabled $avisynth"
echo "debug symbols $debug"
echo "strip symbols $dostrip"
echo "optimize $optimize"
@@ -1935,6 +1956,11 @@ if test "$x264" = "yes" ; then
echo "CONFIG_X264=yes" >> config.mak
fi
+if test "$avisynth" = "yes" ; then
+ echo "#define CONFIG_AVISYNTH 1" >> $TMPH
+ echo "CONFIG_AVISYNTH=yes" >> config.mak
+fi
+
if test "$mingw32" = "yes" ; then
echo "CONFIG_MINGW=yes" >> config.mak
echo "HAVE_W32THREADS=yes" >> config.mak
diff --git a/libavformat/Makefile b/libavformat/Makefile
index eecbcb25bf..eb413951db 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -27,6 +27,7 @@ OBJS-$(CONFIG_AU_DEMUXER) += au.o riff.o
OBJS-$(CONFIG_AU_MUXER) += au.o riff.o
OBJS-$(CONFIG_AVI_DEMUXER) += avidec.o riff.o
OBJS-$(CONFIG_AVI_MUXER) += avienc.o riff.o
+OBJS-$(CONFIG_AVISYNTH) += avisynth.o
OBJS-$(CONFIG_AVS_DEMUXER) += avs.o
OBJS-$(CONFIG_CRC_MUXER) += crc.o
OBJS-$(CONFIG_FRAMECRC_MUXER) += crc.o
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 74d97cb81e..2cb66ffa98 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -83,6 +83,9 @@ void av_register_all(void)
#ifdef CONFIG_AVI_MUXER
av_register_output_format(&avi_muxer);
#endif
+#ifdef CONFIG_AVISYNTH
+ av_register_input_format(&avisynth_demuxer);
+#endif
#ifdef CONFIG_AVS_DEMUXER
av_register_input_format(&avs_demuxer);
#endif
diff --git a/libavformat/allformats.h b/libavformat/allformats.h
index 89e1ae7d06..946519ed71 100644
--- a/libavformat/allformats.h
+++ b/libavformat/allformats.h
@@ -16,6 +16,7 @@ extern AVInputFormat audio_demuxer;
extern AVOutputFormat audio_muxer;
extern AVInputFormat avi_demuxer;
extern AVOutputFormat avi_muxer;
+extern AVInputFormat avisynth_demuxer;
extern AVInputFormat avs_demuxer;
extern AVOutputFormat crc_muxer;
extern AVOutputFormat framecrc_muxer;