[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42129] trunk/lib/linux/ffmpeg: FFMpeg 0.8 .7 for linux 32bit

Sergey Sharybin sergey.vfx at gmail.com
Thu Nov 24 18:03:06 CET 2011


Revision: 42129
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42129
Author:   nazgul
Date:     2011-11-24 17:03:05 +0000 (Thu, 24 Nov 2011)
Log Message:
-----------
FFMpeg 0.8.7 for linux 32bit

Modified Paths:
--------------
    trunk/lib/linux/ffmpeg/include/libavcodec/avcodec.h
    trunk/lib/linux/ffmpeg/include/libavcodec/version.h
    trunk/lib/linux/ffmpeg/include/libavformat/avformat.h
    trunk/lib/linux/ffmpeg/include/libavformat/version.h
    trunk/lib/linux/ffmpeg/include/libavutil/mem.h
    trunk/lib/linux/ffmpeg/include/libavutil/opt.h
    trunk/lib/linux/ffmpeg/lib/libavcodec.a
    trunk/lib/linux/ffmpeg/lib/libavdevice.a
    trunk/lib/linux/ffmpeg/lib/libavformat.a
    trunk/lib/linux/ffmpeg/lib/libavutil.a
    trunk/lib/linux/ffmpeg/lib/libdirac_encoder.a
    trunk/lib/linux/ffmpeg/lib/liborc-0.4.a
    trunk/lib/linux/ffmpeg/lib/libswscale.a
    trunk/lib/linux/ffmpeg/lib/libvpx.a

Added Paths:
-----------
    trunk/lib/linux/ffmpeg/Readme.txt

Added: trunk/lib/linux/ffmpeg/Readme.txt
===================================================================
--- trunk/lib/linux/ffmpeg/Readme.txt	                        (rev 0)
+++ trunk/lib/linux/ffmpeg/Readme.txt	2011-11-24 17:03:05 UTC (rev 42129)
@@ -0,0 +1,42 @@
+This directory contains ffmpeg library v0.8.7 from http://www.ffmpeg.org/releases/ (November 24th, 2011)
+Compiled by Sergey Sharybin in release builder environment
+
+ffmpeg configuration
+--------------------
+
+./configure \
+    --cc="/usr/bin/gcc-4.4 -Wl,--as-needed" \
+    --extra-ldflags="-pthread -static-libgcc" \
+    --prefix=/opt/ffmpeg-0.8.7 \
+    --enable-static \
+    --disable-avfilter \
+    --disable-vdpau \
+    --disable-bzlib \
+    --disable-libgsm \
+    --enable-libschroedinger \
+    --disable-libspeex \
+    --enable-libtheora \
+    --enable-libvorbis \
+    --enable-pthreads \
+    --enable-zlib \
+    --enable-libvpx \
+    --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-optimizations

Modified: trunk/lib/linux/ffmpeg/include/libavcodec/avcodec.h
===================================================================
--- trunk/lib/linux/ffmpeg/include/libavcodec/avcodec.h	2011-11-24 17:01:27 UTC (rev 42128)
+++ trunk/lib/linux/ffmpeg/include/libavcodec/avcodec.h	2011-11-24 17:03:05 UTC (rev 42129)
@@ -30,6 +30,7 @@
 #include "libavutil/samplefmt.h"
 #include "libavutil/avutil.h"
 #include "libavutil/cpu.h"
+#include "libavutil/dict.h"
 
 #include "libavcodec/version.h"
 
@@ -2606,7 +2607,6 @@
 
     /**
      * Bits per sample/pixel of internal libavcodec pixel/sample format.
-     * This field is applicable only when sample_fmt is AV_SAMPLE_FMT_S32.
      * - encoding: set by user.
      * - decoding: set by libavcodec.
      */
@@ -3684,6 +3684,7 @@
 int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count);
 //FIXME func typedef
 
+#if FF_API_AVCODEC_OPEN
 /**
  * Initialize the AVCodecContext to use the given AVCodec. Prior to using this
  * function the context has to be allocated.
@@ -3710,10 +3711,46 @@
  * @param codec The codec to use within the context.
  * @return zero on success, a negative value on error
  * @see avcodec_alloc_context, avcodec_find_decoder, avcodec_find_encoder, avcodec_close
+ *
+ * @deprecated use avcodec_open2
  */
 int avcodec_open(AVCodecContext *avctx, AVCodec *codec);
+#endif
 
 /**
+ * Initialize the AVCodecContext to use the given AVCodec. Prior to using this
+ * function the context has to be allocated with avcodec_alloc_context().
+ *
+ * The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(),
+ * avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for
+ * retrieving a codec.
+ *
+ * @warning This function is not thread safe!
+ *
+ * @code
+ * avcodec_register_all();
+ * av_dict_set(&opts, "b", "2.5M", 0);
+ * codec = avcodec_find_decoder(CODEC_ID_H264);
+ * if (!codec)
+ *     exit(1);
+ *
+ * context = avcodec_alloc_context();
+ *
+ * if (avcodec_open(context, codec, opts) < 0)
+ *     exit(1);
+ * @endcode
+ *
+ * @param avctx The context to initialize.
+ * @param options A dictionary filled with AVCodecContext and codec-private options.
+ *                On return this object will be filled with options that were not found.
+ *
+ * @return zero on success, a negative value on error
+ * @see avcodec_alloc_context3(), avcodec_find_decoder(), avcodec_find_encoder(),
+ *      av_dict_set(), av_opt_find().
+ */
+int avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVDictionary **options);
+
+/**
  * Decode the audio frame of size avpkt->size from avpkt->data into samples.
  * Some decoders may support multiple frames in a single AVPacket, such
  * decoders would then just decode the first frame. In this case,

Modified: trunk/lib/linux/ffmpeg/include/libavcodec/version.h
===================================================================
--- trunk/lib/linux/ffmpeg/include/libavcodec/version.h	2011-11-24 17:01:27 UTC (rev 42128)
+++ trunk/lib/linux/ffmpeg/include/libavcodec/version.h	2011-11-24 17:03:05 UTC (rev 42129)
@@ -21,7 +21,7 @@
 #define AVCODEC_VERSION_H
 
 #define LIBAVCODEC_VERSION_MAJOR 53
-#define LIBAVCODEC_VERSION_MINOR  7
+#define LIBAVCODEC_VERSION_MINOR  8
 #define LIBAVCODEC_VERSION_MICRO  0
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
@@ -68,5 +68,8 @@
 #ifndef FF_API_GET_PIX_FMT_NAME
 #define FF_API_GET_PIX_FMT_NAME (LIBAVCODEC_VERSION_MAJOR < 54)
 #endif
+#ifndef FF_API_AVCODEC_OPEN
+#define FF_API_AVCODEC_OPEN     (LIBAVCODEC_VERSION_MAJOR < 54)
+#endif
 
 #endif /* AVCODEC_VERSION_H */

Modified: trunk/lib/linux/ffmpeg/include/libavformat/avformat.h
===================================================================
--- trunk/lib/linux/ffmpeg/include/libavformat/avformat.h	2011-11-24 17:01:27 UTC (rev 42128)
+++ trunk/lib/linux/ffmpeg/include/libavformat/avformat.h	2011-11-24 17:03:05 UTC (rev 42129)
@@ -1152,6 +1152,7 @@
 int avformat_alloc_output_context2(AVFormatContext **ctx, AVOutputFormat *oformat,
                                    const char *format_name, const char *filename);
 
+#if FF_API_FORMAT_PARAMETERS
 /**
  * Read packets of a media file to get stream information. This
  * is useful for file formats with no headers such as MPEG. This
@@ -1164,10 +1165,36 @@
  * @return >=0 if OK, AVERROR_xxx on error
  * @todo Let the user decide somehow what information is needed so that
  *       we do not waste time getting stuff the user does not need.
+ *
+ * @deprecated use avformat_find_stream_info.
  */
 int av_find_stream_info(AVFormatContext *ic);
+#endif
 
 /**
+ * Read packets of a media file to get stream information. This
+ * is useful for file formats with no headers such as MPEG. This
+ * function also computes the real framerate in case of MPEG-2 repeat
+ * frame mode.
+ * The logical file position is not changed by this function;
+ * examined packets may be buffered for later processing.
+ *
+ * @param ic media file handle
+ * @param options  If non-NULL, an ic.nb_streams long array of pointers to
+ *                 dictionaries, where i-th member contains options for
+ *                 codec corresponding to i-th stream.
+ *                 On return each dictionary will be filled with options that were not found.
+ * @return >=0 if OK, AVERROR_xxx on error
+ *
+ * @note this function isn't guaranteed to open all the codecs, so
+ *       options being non-empty at return is a perfectly normal behavior.
+ *
+ * @todo Let the user decide somehow what information is needed so that
+ *       we do not waste time getting stuff the user does not need.
+ */
+int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options);
+
+/**
  * Find the "best" stream in the file.
  * The best stream is determined according to various heuristics as the most
  * likely to be what the user expects.

Modified: trunk/lib/linux/ffmpeg/include/libavformat/version.h
===================================================================
--- trunk/lib/linux/ffmpeg/include/libavformat/version.h	2011-11-24 17:01:27 UTC (rev 42128)
+++ trunk/lib/linux/ffmpeg/include/libavformat/version.h	2011-11-24 17:03:05 UTC (rev 42129)
@@ -24,7 +24,7 @@
 #include "libavutil/avutil.h"
 
 #define LIBAVFORMAT_VERSION_MAJOR 53
-#define LIBAVFORMAT_VERSION_MINOR  4
+#define LIBAVFORMAT_VERSION_MINOR  5
 #define LIBAVFORMAT_VERSION_MICRO  0
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \

Modified: trunk/lib/linux/ffmpeg/include/libavutil/mem.h
===================================================================
--- trunk/lib/linux/ffmpeg/include/libavutil/mem.h	2011-11-24 17:01:27 UTC (rev 42128)
+++ trunk/lib/linux/ffmpeg/include/libavutil/mem.h	2011-11-24 17:03:05 UTC (rev 42129)
@@ -27,6 +27,7 @@
 #define AVUTIL_MEM_H
 
 #include "attributes.h"
+#include "error.h"
 #include "avutil.h"
 
 #if defined(__INTEL_COMPILER) && __INTEL_COMPILER < 1110 || defined(__SUNPRO_C)
@@ -87,6 +88,16 @@
 void *av_realloc(void *ptr, size_t size) av_alloc_size(2);
 
 /**
+ * Allocate or reallocate a block of memory.
+ * This function does the same thing as av_realloc, except:
+ * - It takes two arguments and checks the result of the multiplication for
+ *   integer overflow.
+ * - It frees the input block in case of failure, thus avoiding the memory
+ *   leak with the classic "buf = realloc(buf); if (!buf) return -1;".
+ */
+void *av_realloc_f(void *ptr, size_t nelem, size_t elsize);
+
+/**
  * Free a memory block which has been allocated with av_malloc(z)() or
  * av_realloc().
  * @param ptr Pointer to the memory block which should be freed.
@@ -107,6 +118,18 @@
 void *av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1);
 
 /**
+ * Allocate a block of nmemb * size bytes with alignment suitable for all
+ * memory accesses (including vectors if available on the CPU) and
+ * zero all the bytes of the block.
+ * The allocation will fail if nmemb * size is greater than or equal
+ * to INT_MAX.
+ * @param nmemb
+ * @param size
+ * @return Pointer to the allocated block, NULL if it cannot be allocated.
+ */
+void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib;
+
+/**
  * Duplicate the string s.
  * @param s string to be duplicated
  * @return Pointer to a newly allocated string containing a
@@ -132,4 +155,19 @@
  */
 void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem);
 
+/**
+ * Multiply two size_t values checking for overflow.
+ * @return  0 if success, AVERROR(EINVAL) if overflow.
+ */
+static inline int av_size_mult(size_t a, size_t b, size_t *r)
+{
+    size_t t = a * b;
+    /* Hack inspired from glibc: only try the division if nelem and elsize
+     * are both greater than sqrt(SIZE_MAX). */
+    if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b)
+        return AVERROR(EINVAL);
+    *r = t;
+    return 0;
+}
+
 #endif /* AVUTIL_MEM_H */

Modified: trunk/lib/linux/ffmpeg/include/libavutil/opt.h

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list