[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