============================= Build instructions for FFmpeg ============================= ----------------------------- Instructions for Mac OS X: Built using i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5488) In Finder, double click ffmpeg_source.zip In a terminal, type: cd /ffmpegsource ./configure --enable-cross-compile --prefix=. --shlibdir=. --arch=i386 --target-os=darwin --extra-cflags="-arch i386 -mmacosx-version-min=10.5" --extra-ldflags="-arch i386" --disable-yasm --enable-shared --disable-static make make install This will output the built files to the current directory. To install, overwrite the application's copy of these files with the new ones. If building for debugging, add the following flags: --disable-stripping --disable-optimizations --disable-mmx ----------------------------- Instructions for Windows: Based on instructions found at http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page Built on a default install of Ubuntu 10.04 with the following packages added: mingw32-bzip2 1.0.5-2, mingw32-directx 1-1, mingw32-gcc-4.2 4.2.4-1, mingw32-gcc-4.4 4.4.2-1, mingw32-libcloog-ppl 0.15.7-1, mingw32-libfaad2 2.7-1, mingw32-libgmp 4.3.1-1, mingw32-libgsm 1.0-pl13-2, mingw32-libmp3lame 3.98.4-1, mingw32-libmpc 0.8.1-1, mingw32-libmpfr 2.4.2-1, mingw32-libogg 1.2.0-1, mingw32-liboil 0.3.16-1, mingw32-libopencore-amr 0.1.2-1, mingw32-libopenjpeg 1.3-1, mingw32-liborc 0.4.5-1, mingw32-libppl 0.10.2-1, mingw32-librtmp 537-1, mingw32-libschroedinger 1.0.9-2, mingw32-libsdl 1.2.14-3, mingw32-libspeex 1.2rc1-1, mingw32-libtheora 1.1.1-1, mingw32-libvorbis 1.3.1-1, mingw32-libvpx 0.9.1-2, mingw32-libx264 1629-1, mingw32-libxvid 1.2.2-1, mingw32-openssl 1.0.0-1, mingw32-polarssl 0.13.1-1, mingw32-pthreads 20100215-1, mingw32-w32api 3.14-1, mingw32-zlib 1.2.5-1, mingw32-binutils 2.20-1, mingw32-runtime 3.17-1, yasm 0.8.0-1 The three patches tempnam.diff, strcasecmp.diff, nomt.diff found at http://fate.arrozcru.org/mingw32/patches/ were applied to the installed mingw32 headers. The contents of these diff's can be found at the end of this file. Extract ffmpeg_source.zip and in a terminal cd to the ffmpegsource directory. Type: ./configure --enable-shared --disable-static --enable-memalign-hack --extra-cflags="-fno-common" --enable-win-unicode --disable-ssse3 --disable-amd3dnow --disable-amd3dnowext --arch=x86 --target-os=mingw32 --enable-cross-compile --cross-prefix=i686-mingw32- make make install To install, overwrite the application's copy of these files with the new ones. ----------------------------- Source Code Information * The source code is from svn.ffmpeg.org, svn revision 24593, EXCEPT libswscale folder, which is revision 32013. * A patch to support UTF-8 file paths on Windows was applied. A modified version of the patch (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20091021/64918c17/attachment.txt) from this mailing list post (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/077423.html) was used. * A patch was applied to support urls with auth data containing % escaped characters. ----------------------------- mingw32 patches --- /mingw/include/stdio.h.orig 2010-06-27 14:30:24.000000000 -0300 +++ /mingw/include/stdio.h 2010-06-27 14:32:24.000000000 -0300 @@ -186,6 +186,8 @@ _CRTIMP int __cdecl __MINGW_NOTHROW rmtmp(void); _CRTIMP int __cdecl __MINGW_NOTHROW unlink (const char*); #endif +#else +_CRTIMP char* __cdecl __MINGW_NOTHROW tempnam (const char*, const char*); #endif /* __STRICT_ANSI__ */ _CRTIMP int __cdecl __MINGW_NOTHROW setvbuf (FILE*, char*, int, size_t); --- /mingw/include/string.h.orig 2010-06-27 13:46:10.000000000 -0300 +++ /mingw/include/string.h 2010-06-27 14:01:04.000000000 -0300 @@ -116,6 +116,9 @@ #endif /* _UWIN */ #endif /* _NO_OLDNAMES */ +#else +int __cdecl __MINGW_NOTHROW strcasecmp (const char*, const char *); +int __cdecl __MINGW_NOTHROW strncasecmp (const char *, const char *, size_t); #endif /* Not __STRICT_ANSI__ */ #ifndef _WSTRING_DEFINED --- /mingw/include/stdio.h.orig 2010-06-27 14:30:24.000000000 -0300 +++ /mingw/include/stdio.h 2010-01-09 01:39:12.000000000 -0200 @@ -366,7 +366,7 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _filbuf (FILE*); _CRTIMP int __cdecl __MINGW_NOTHROW _flsbuf (int, FILE*); -#if !defined _MT +#if 0 __CRT_INLINE int __cdecl __MINGW_NOTHROW getc (FILE* __F) {