add support for ffmpeg libswscale
[melted] / src / modules / avformat / configure
index 53276db..0d9986c 100755 (executable)
@@ -6,15 +6,17 @@ then
        cat << EOF
 FFMPEG/avformat options:
 
-  --avformat-cvs          - Obtain ffmpeg from CVS
+  --avformat-svn          - Obtain ffmpeg from Subversion
   --avformat-shared=path  - Link against a shared installation of ffmpeg (default)
   --avformat-static=path  - Link against a static ffmpeg dev tree
   --avformat-ldextra=libs - Provide additional libs to link with
+  --avformat-suffix=suff  - Specify a custom suffix for an ffmpeg shared build
+  --avformat-swscale      - Use ffmpeg libswcale instead of img_convert
 
 EOF
 
 else
-        targetos=$(uname -s)
+       targetos=$(uname -s)
        case $targetos in
        Darwin)
                export LIBSUF=.dylib
@@ -26,14 +28,26 @@ else
                ;;
        esac
                
+       bits=$(uname -m)
+       case $bits in
+       x86_64)
+               export LIBDIR=lib64
+               ;;
+       *)
+               export LIBDIR=lib
+               ;;
+       esac
+
        echo > config.mak
 
        export static_ffmpeg=
-       export shared_ffmpeg=`whereis ffmpeg | cut -f 2 -d' '`
+       export shared_ffmpeg=`which ffmpeg`
        export extra_libs=
-       export cvs_ffmpeg=
+       export svn_ffmpeg=
+       export avformat_suffix=
+       export swscale=false
 
-       if [ "$shared_ffmpeg" != "" ]
+       if [ "$shared_ffmpeg" != "" -a -f "$shared_ffmpeg" ]
        then
                # Chop ffmpeg 
                shared_ffmpeg=`dirname $shared_ffmpeg`
@@ -47,58 +61,69 @@ else
                        --avformat-static=* )   static_ffmpeg="${i#--avformat-static=}" ;;
                        --avformat-shared=* )   shared_ffmpeg="${i#--avformat-shared=}" ;;
                        --avformat-ldextra=* )  extra_libs="${i#--avformat-ldextra=}" ;;
-                       --avformat-cvs )                cvs_ffmpeg=true ;;
+                       --avformat-svn )                svn_ffmpeg=true ;;
+                       --avformat-cvs )                svn_ffmpeg=true ;;
+                       --avformat-suffix=* )   avformat_suffix="${i#--avformat-suffix=}" ;;
+                       --avformat-swscale )    swscale=true ;;
                esac
        done
 
-       if [ "$cvs_ffmpeg" != "" ]
+       if [ "$svn_ffmpeg" != "" ]
        then
-               [ ! -d "ffmpeg" ] && cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
-               [ -d "ffmpeg" ] && ( cd ffmpeg ; ./configure --enable-shared )
+               [ ! -d "ffmpeg" ] && ( 
+                       echo
+                       echo "Checking out ffmpeg/avformat - no password required"
+                       echo
+                       svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
+               )
+               [ -d "ffmpeg" ] && ( cd ffmpeg ; ./configure --enable-shared --build-suffix="$avformat_suffix" )
                #[ ! -f "ffmpeg/ffmpeg.patch" ] && ( cd ffmpeg ; cp ../ffmpeg.patch . ; patch -p0 < ffmpeg.patch )
-               echo "CFLAGS+=-I`pwd`/ffmpeg/libavformat -I`pwd`/ffmpeg/libavcodec" >> config.mak
+               echo "CFLAGS+=-I`pwd`/ffmpeg/libavformat -I`pwd`/ffmpeg/libavcodec -I`pwd`/ffmpeg/libavutil" >> config.mak
                echo "LOCAL_FFMPEG=1" >> config.mak
                extra_libs="$extra_libs -lz"
        elif [ "$static_ffmpeg" != "" ]
        then 
                if [ -d "$static_ffmpeg" ]
                then
-                       echo "CFLAGS+=-I$static_ffmpeg/libavformat -I$static_ffmpeg/libavcodec" >> config.mak
-                       echo "LDFLAGS+=-L$static_ffmpeg/libavformat -L$static_ffmpeg/libavcodec" >> config.mak
+                       echo "CFLAGS+=-I$static_ffmpeg/libavformat -I$static_ffmpeg/libavcodec -I$static_ffmpeg/libavutil" >> config.mak
+                       echo "LDFLAGS+=-L$static_ffmpeg/libavformat -L$static_ffmpeg/libavcodec -L$static_ffmpeg/libavutil" >> config.mak
                        [ $targetos = "Darwin" ] &&
                                echo "LDFLAGS+=-single_module" >> config.mak
+                       [ "$swscale" != "" ] && echo "SWSCALE=1" >> config.mak
                else
                        echo "avformat: Invalid path specified: $static_ffmpeg"
                        touch ../disable-avformat
                        echo 0
                fi
        else 
-               if [ -d "$shared_ffmpeg/include/ffmpeg" -a -f "$shared_ffmpeg/lib/libavformat.so" ]
+               if [ -d "$shared_ffmpeg/include/ffmpeg" -a -f "$shared_ffmpeg/$LIBDIR/libavformat$avformat_suffix$LIBSUF" ]
                then
                        echo "CFLAGS+=-I$shared_ffmpeg/include/ffmpeg " >> config.mak
-                       echo "LDFLAGS+=-L$shared_ffmpeg/lib" >> config.mak
+                       echo "LDFLAGS+=-L$shared_ffmpeg/$LIBDIR" >> config.mak
+                       [ "$swscale" != "" ] && echo "SWSCALE=1" >> config.mak
                else
                        echo "avformat: No build environment found. "
-                       echo "          Try configuring mlt with --avformat-cvs."
+                       echo "          Try configuring mlt with --avformat-svn."
                        touch ../disable-avformat
                        exit 0
                fi
        fi
 
        echo "EXTRA_LIBS=$extra_libs" >> config.mak
+       echo "AVFORMAT_SUFFIX=$avformat_suffix" >> config.mak
 
 cat << EOF >> ../producers.dat
-avformat               libmltffmpeg$LIBSUF
+avformat               libmltavformat$LIBSUF
 EOF
 
 cat << EOF >> ../filters.dat
-avdeinterlace  libmltffmpeg$LIBSUF
-avresample             libmltffmpeg$LIBSUF
-avcolour_space libmltffmpeg$LIBSUF
+avdeinterlace  libmltavformat$LIBSUF
+avresample             libmltavformat$LIBSUF
+avcolour_space libmltavformat$LIBSUF
 EOF
 
 cat << EOF >> ../consumers.dat
-avformat               libmltffmpeg$LIBSUF
+avformat               libmltavformat$LIBSUF
 EOF
 
 fi