[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36956] trunk/lib/windows/ffmpeg: ffmpeg 0 .6.3 libraries for win32 platform

Sergey Sharybin g.ulairi at gmail.com
Fri May 27 22:57:47 CEST 2011


Revision: 36956
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36956
Author:   nazgul
Date:     2011-05-27 20:57:46 +0000 (Fri, 27 May 2011)
Log Message:
-----------
ffmpeg 0.6.3 libraries for win32 platform

Modified Paths:
--------------
    trunk/lib/windows/ffmpeg/Readme.txt
    trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h
    trunk/lib/windows/ffmpeg/include/libavformat/avformat.h
    trunk/lib/windows/ffmpeg/include/libavutil/avutil.h
    trunk/lib/windows/ffmpeg/include/libavutil/common.h
    trunk/lib/windows/ffmpeg/include/libavutil/error.h
    trunk/lib/windows/ffmpeg/include/libavutil/log.h
    trunk/lib/windows/ffmpeg/include/libavutil/pixfmt.h
    trunk/lib/windows/ffmpeg/include/libswscale/swscale.h
    trunk/lib/windows/ffmpeg/lib/avcodec-52.dll
    trunk/lib/windows/ffmpeg/lib/avcodec-52.lib
    trunk/lib/windows/ffmpeg/lib/avdevice-52.dll
    trunk/lib/windows/ffmpeg/lib/avdevice-52.lib
    trunk/lib/windows/ffmpeg/lib/avformat-52.dll
    trunk/lib/windows/ffmpeg/lib/avformat-52.lib
    trunk/lib/windows/ffmpeg/lib/avutil-50.dll
    trunk/lib/windows/ffmpeg/lib/avutil-50.lib
    trunk/lib/windows/ffmpeg/lib/swscale-0.dll
    trunk/lib/windows/ffmpeg/lib/swscale-0.lib

Modified: trunk/lib/windows/ffmpeg/Readme.txt
===================================================================
--- trunk/lib/windows/ffmpeg/Readme.txt	2011-05-27 20:55:14 UTC (rev 36955)
+++ trunk/lib/windows/ffmpeg/Readme.txt	2011-05-27 20:57:46 UTC (rev 36956)
@@ -1,8 +1,10 @@
-This directory contains r22941 from http://ffmpeg.arrozcru.org/autobuilds/ (April 22nd, 2010)
+This directory contains ffmpeg library v0.6.3 from http://www.ffmpeg.org/releases/ (April 26nd, 2011)
+Compiled by Sergey Sharybin in msys environment
 
-Some quick mods:
+Quick notes
+===========
 
-1. rename the .lib files according to .dll naming (include version number)
+1. Compile ffmpeg libraries and copy include files and libs here
 2. put stdint.h and inttypes.h in subfolder msvc to prevent conflicts with mingw
 3. add to libavutil\common.h after line 53
 	#define inline __inline
@@ -12,3 +14,209 @@
    typedef signed __int16    int16_t;
    typedef signed __int32    int32_t;
    typedef signed __int64    int64_t;
+5. There were some problems with linking blender against installed dll-s which
+   were solved by manual stripping dll (strip --strip-unneeded --strip-debug)
+   and generating .lib-files for them
+
+Environment configuration
+=========================
+
+1. Used 32 bit mingw/msys environment using this installer:
+   http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst
+2. Used gcc-4.4.0 due to some incompatibilities between used libraries and newer compilers
+   http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GCC/Version4/Previous%20Release%20gcc-4.4.0/
+3. Also used yasm: http://www.tortall.net/projects/yasm/wiki/Download
+4. Used pthread library frmo mingw-w64 sourceforge files download page
+
+Libraries configuration scripts
+===============================
+
+ffmpeg configuration
+--------------------
+
+LIBS="/home/sergey/lib"
+
+./configure \
+    --prefix=/home/sergey/lib/ffmpeg \
+    --enable-shared \
+    --disable-static \
+    --disable-avfilter \
+    --disable-vdpau \
+    --disable-bzlib \
+    --disable-libgsm \
+    --enable-libschroedinger \
+    --disable-libspeex \
+    --enable-libtheora \
+    --enable-libvorbis \
+    --disable-zlib \
+    --enable-libvpx \
+    --enable-libfaad \
+    --enable-stripping \
+    --enable-runtime-cpudetect  \
+    --disable-vaapi \
+    --enable-libopenjpeg \
+    --disable-libfaac \
+    --disable-nonfree \
+    --enable-gpl \
+    --disable-postproc \
+    --disable-x11grab \
+    --enable-libdirac \
+    --enable-libmp3lame \
+    --disable-librtmp \
+    --enable-libx264 \
+    --enable-libxvid \
+    --disable-libopencore-amrnb \
+    --disable-libopencore-amrwb \
+    --disable-libdc1394 \
+    --disable-version3 \
+    --disable-debug \
+    --enable-w32threads \
+    --enable-memalign-hack \
+    --extra-cflags="-g -Wall -Wextra -I${LIBS}/lame/include -I${LIBS}/openjpeg/include -I${LIBS}/ogg/include -I${LIBS}/vorbis/include -I${LIBS}/theora/include -I${LIBS}/vpx/include -I${LIBS}/x264/include -I${LIBS}/xvid/include -I${LIBS}/dirac/include/dirac -I${LIBS}/schroedinger/include/schroedinger-1.0 -I${LIBS}/faad/include" \
+    --extra-ldflags="-Wl,--as-needed -static-libgcc -L${LIBS}/lame/lib -L${LIBS}/openjpeg/lib -L${LIBS}/ogg/lib -L${LIBS}/vorbis/lib -L${LIBS}/theora/lib -L${LIBS}/vpx/lib -L${LIBS}/x264/lib -L${LIBS}/xvid/lib -L${LIBS}/dirac/lib -L${LIBS}/schroedinger/lib -L${LIBS}/orc/lib -L${LIBS}/faad/lib"
+
+dirac configuration
+-------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure --prefix=/home/sergey/lib/dirac \
+    --disable-shared \
+    --enable-static
+
+faad configuration
+------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure --prefix=/home/sergey/lib/faad \
+    --disable-shared \
+    --enable-static
+
+lame configuration
+------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure --prefix=/home/sergey/lib/lame \
+    --disable-shared \
+    --enable-static \
+    --enable-export=full \
+    --with-fileio=sndfile \
+    --without-vorbis \
+    --enable-nasm \
+    --with-pic \
+    --disable-mp3x \
+    --disable-mp3rtp \
+    --disable-gtktest \
+    --enable-export=full
+
+libogg configuration
+--------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure \
+    --prefix=/home/sergey/lib/ogg \
+    --enable-static \
+    --disable-shared
+
+libvorbis configuration
+-----------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure \
+    --prefix=/home/sergey/lib/vorbis \
+    --enable-static \
+    --disable-shared \
+    --with-pic \
+    --with-ogg=/home/sergey/lib/ogg/
+
+libtheora configuration
+-----------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure \
+    --prefix=/home/sergey/lib/theora \
+    --enable-static \
+    --disable-shared \
+    --with-ogg=/home/sergey/lib/ogg \
+    --with-vorbis=/home/sergey/lib/vorbis
+
+libvpx configuration
+--------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure \
+    --prefix=/home/sergey/lib/vpx \
+    --disable-shared \
+    --disable-install-bins \
+    --disable-install-srcs \
+    --extra-cflags="-g -Wall -Wextra"
+
+openjpeg configuration
+----------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure \
+    --prefix=/home/sergey/lib/openjpeg \
+    --enable-static \
+    --disable-shared
+
+orc configuration
+-----------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure --prefix=/home/sergey/lib/orc \
+    --disable-shared \
+    --enable-static
+
+schroedinger configuration
+--------------------------
+
+export CFLAGS="-g -Wall -Wextra -I/home/sergey/lib/orc/include/orc-0.4"
+export LDFLAGS="-Wl,--as-needed -static-libgcc -L/home/sergey/lib/orc/lib"
+export ORC_CFLAGS="-I/home/sergey/lib/orc/include/orc-0.4"
+export ORC_LDFLAGS="-L/home/sergey/lib/orc/lib"
+
+./configure --prefix=/home/sergey/lib/schroedinger \
+    --disable-shared \
+    --enable-static
+
+x264 configuration
+------------------
+
+./configure \
+    --prefix=/home/sergey/lib/x264 \
+    --extra-cflags="-g -Wall -Wextra" \
+    --extra-ldflags="-Wl,--as-needed -static-libgcc" \
+    --enable-static \
+    --enable-win32thread \
+    --disable-lavf \
+    --cross-prefix=mingw32- \
+    --host=mingw32
+
+xvidcore configuration
+----------------------
+
+export CFLAGS="-g -Wall -Wextra"
+export LDFLAGS="-Wl,--as-needed -static-libgcc"
+
+./configure \
+    --prefix=/home/sergey/lib/xvid
+
+- also used patch for xvid from http://code.google.com/p/mingw-w64-dgn/

Modified: trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h
===================================================================
--- trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h	2011-05-27 20:55:14 UTC (rev 36955)
+++ trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h	2011-05-27 20:57:46 UTC (rev 36956)
@@ -30,8 +30,8 @@
 #include "libavutil/avutil.h"
 
 #define LIBAVCODEC_VERSION_MAJOR 52
-#define LIBAVCODEC_VERSION_MINOR 66
-#define LIBAVCODEC_VERSION_MICRO  0
+#define LIBAVCODEC_VERSION_MINOR 72
+#define LIBAVCODEC_VERSION_MICRO  2
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
@@ -210,6 +210,7 @@
     CODEC_ID_IFF_BYTERUN1,
     CODEC_ID_KGV1,
     CODEC_ID_YOP,
+    CODEC_ID_VP8,
 
     /* various PCM "codecs" */
     CODEC_ID_PCM_S16LE= 0x10000,
@@ -643,6 +644,11 @@
  * as a last resort.
  */
 #define CODEC_CAP_SUBFRAMES        0x0100
+/**
+ * Codec is experimental and is thus avoided in favor of non experimental
+ * encoders
+ */
+#define CODEC_CAP_EXPERIMENTAL     0x0200
 
 //The following defines may change, don't expect compatibility if you use them.
 #define MB_TYPE_INTRA4x4   0x0001
@@ -3303,12 +3309,20 @@
  * Modifies width and height values so that they will result in a memory
  * buffer that is acceptable for the codec if you do not use any horizontal
  * padding.
+ *
+ * May only be used if a codec with CODEC_CAP_DR1 has been opened.
+ * If CODEC_FLAG_EMU_EDGE is not set, the dimensions must have been increased
+ * according to avcodec_get_edge_width() before.
  */
 void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
 /**
  * Modifies width and height values so that they will result in a memory
  * buffer that is acceptable for the codec if you also ensure that all
  * line sizes are a multiple of the respective linesize_align[i].
+ *
+ * May only be used if a codec with CODEC_CAP_DR1 has been opened.
+ * If CODEC_FLAG_EMU_EDGE is not set, the dimensions must have been increased
+ * according to avcodec_get_edge_width() before.
  */
 void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
                                int linesize_align[4]);
@@ -3464,6 +3478,8 @@
  *
  * @param avctx the codec context
  * @param[out] picture The AVFrame in which the decoded video frame will be stored.
+ *             Use avcodec_alloc_frame to get an AVFrame, the codec will
+ *             allocate memory for the actual bitmap.
  * @param[in] avpkt The input AVpacket containing the input buffer.
  *            You can create such packet with av_init_packet() and by then setting
  *            data and size, some decoders might in addition need other fields like

Modified: trunk/lib/windows/ffmpeg/include/libavformat/avformat.h
===================================================================
--- trunk/lib/windows/ffmpeg/include/libavformat/avformat.h	2011-05-27 20:55:14 UTC (rev 36955)
+++ trunk/lib/windows/ffmpeg/include/libavformat/avformat.h	2011-05-27 20:57:46 UTC (rev 36956)
@@ -22,8 +22,8 @@
 #define AVFORMAT_AVFORMAT_H
 
 #define LIBAVFORMAT_VERSION_MAJOR 52
-#define LIBAVFORMAT_VERSION_MINOR 61
-#define LIBAVFORMAT_VERSION_MICRO  0
+#define LIBAVFORMAT_VERSION_MINOR 64
+#define LIBAVFORMAT_VERSION_MICRO  2
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
                                                LIBAVFORMAT_VERSION_MINOR, \
@@ -145,8 +145,9 @@
  * @param key tag key to add to m (will be av_strduped)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list