============================= 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. ----------------------------- 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. * A patch was applied to support cameras that expect BASIC auth but don't request it (like the DLink DCS-920). ----------------------------- 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) {