I do something with infomation run by command :make -n in the directory /home/moko/vlc-1.0.3/extras/contrib/src/Makefile:
/usr/bin/svn co svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg -r 20342
(cd ffmpeg; patch -p0 < ../Patches/ffmpeg-svn-win32.patch)
(cd ffmpeg; patch -p1 < ../Patches/eac3_spectral.patch)
/usr/bin/wget -c --passive
http://user.cs.tu-berlin.de/~jutta/gsm/ ... .12.tar.gz
rm -rf gsm || true
gunzip -c gsm-1.0.12.tar.gz | tar xf - --exclude='[*?:<>\|]'
mv gsm-1.0-* gsm || true
(patch -p0 < patches/gsm-cross.patch)
(cd gsm; CC="gcc -mno-cygwin -isystem /usr/include/mingw" CXX="g++ -mno-cygwin -isystem /usr/include/mingw" make && cp inc/gsm.h /home/moko/vlc-1.0.3/extras/contrib/include && cp lib/libgsm.a /home/moko/vlc-1.0.3/extras/contrib/lib)
touch .gsm
(cd ffmpeg; CC="gcc -mno-cygwin -isystem /usr/include/mingw" CXX="g++ -mno-cygwin -isystem /usr/include/mingw" ./configure --target-os=mingw32 --enable-memalign-hack --cpu=i686 -arch=i686 --enable-libmp3lame --enable-libgsm --disable-debug --enable-gpl --enable-postproc --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices --disable-protocols --disable-network --disable-bzlib --disable-decoder=dca --prefix=/home/moko/vlc-1.0.3/extras/contrib --extra-cflags="-I/home/moko/vlc-1.0.3/extras/contrib/include -mno-cygwin -isystem /usr/include/imgw -DNDEBUG -mno-cygwin -isystem /usr/include/mingw -isystem /home/moko/vlc-1.0.3/extras/contrib/include " --extra-ldflags="-L/home/moko/vlc-1.0.3/extras/contrib/lib -mno-cygwin" --target-os=mingw32 --memalign-hack --cpu=i686 --arch=i686 --enable-libmp3lame --enable-libgsm --disable-debug --enable-gpl --enable-postproc --disable-ffserver --disable-ffmpeg --disable-ffplay --disable-devices --disable-protocols --disable-network --disable-shared --enable-static && make && make install-libs install-headers)
touch .ffmpeg
ANd I download ffmpeg 20342 from svn, recompile the ffmpeg in the terms of up steps. It show some errors about the data structrue . SO I don not know whether the ffmpeg revision problem?