[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43817] trunk/lib/windows/ffmpeg: Windows: FFmpeg library upgrade to version 0.10

Sergey Sharybin sergey.vfx at gmail.com
Wed Feb 1 08:32:33 CET 2012


Revision: 43817
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43817
Author:   nazgul
Date:     2012-02-01 07:32:32 +0000 (Wed, 01 Feb 2012)
Log Message:
-----------
Windows: FFmpeg library upgrade to version 0.10
Also disabled SSE and SSSE3 optimizations because of alignment issues.

Modified Paths:
--------------
    trunk/lib/windows/ffmpeg/Readme.txt
    trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h
    trunk/lib/windows/ffmpeg/include/libavcodec/vda.h
    trunk/lib/windows/ffmpeg/include/libavcodec/version.h
    trunk/lib/windows/ffmpeg/include/libavdevice/avdevice.h
    trunk/lib/windows/ffmpeg/include/libavformat/avformat.h
    trunk/lib/windows/ffmpeg/include/libavformat/avio.h
    trunk/lib/windows/ffmpeg/include/libavformat/version.h
    trunk/lib/windows/ffmpeg/include/libavutil/avstring.h
    trunk/lib/windows/ffmpeg/include/libavutil/avutil.h
    trunk/lib/windows/ffmpeg/include/libavutil/bswap.h
    trunk/lib/windows/ffmpeg/include/libavutil/common.h
    trunk/lib/windows/ffmpeg/include/libavutil/error.h
    trunk/lib/windows/ffmpeg/include/libavutil/eval.h
    trunk/lib/windows/ffmpeg/include/libavutil/intfloat_readwrite.h
    trunk/lib/windows/ffmpeg/include/libavutil/lzo.h
    trunk/lib/windows/ffmpeg/include/libavutil/mem.h
    trunk/lib/windows/ffmpeg/include/libavutil/parseutils.h
    trunk/lib/windows/ffmpeg/include/libswscale/swscale.h
    trunk/lib/windows/ffmpeg/lib/avcodec-53.dll
    trunk/lib/windows/ffmpeg/lib/avcodec-53.lib
    trunk/lib/windows/ffmpeg/lib/avdevice-53.dll
    trunk/lib/windows/ffmpeg/lib/avdevice-53.lib
    trunk/lib/windows/ffmpeg/lib/avformat-53.dll
    trunk/lib/windows/ffmpeg/lib/avformat-53.lib
    trunk/lib/windows/ffmpeg/lib/avutil-51.dll
    trunk/lib/windows/ffmpeg/lib/avutil-51.lib
    trunk/lib/windows/ffmpeg/lib/swscale-2.dll
    trunk/lib/windows/ffmpeg/lib/swscale-2.lib

Modified: trunk/lib/windows/ffmpeg/Readme.txt
===================================================================
--- trunk/lib/windows/ffmpeg/Readme.txt	2012-02-01 07:28:36 UTC (rev 43816)
+++ trunk/lib/windows/ffmpeg/Readme.txt	2012-02-01 07:32:32 UTC (rev 43817)
@@ -1,4 +1,4 @@
-This directory contains ffmpeg library v0.9 from http://www.ffmpeg.org/releases/ (December 25th, 2011)
+This directory contains ffmpeg library v0.10 from http://www.ffmpeg.org/releases/ (January 31th, 2012)
 Compiled by Sergey Sharybin in msys environment
 
 Quick notes
@@ -37,7 +37,7 @@
 LIBS="/home/sergey/lib"
 
 ./configure \
-    --prefix=/home/sergey/lib/ffmpeg-0.8.7 \
+    --prefix=/home/sergey/lib/ffmpeg-0.10 \
     --enable-shared \
     --disable-static \
     --disable-avfilter \
@@ -70,7 +70,10 @@
     --disable-debug \
     --enable-optimizations \
     --enable-ffplay \
+    --disable-sse \
+    --disable-ssse3 \
     --enable-w32threads \
+    --disable-pthreads \
     --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}/zlib/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}/zlib/lib"
 

Modified: trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h
===================================================================
--- trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h	2012-02-01 07:28:36 UTC (rev 43816)
+++ trunk/lib/windows/ffmpeg/include/libavcodec/avcodec.h	2012-02-01 07:32:32 UTC (rev 43817)
@@ -254,10 +254,16 @@
     CODEC_ID_BMV_VIDEO,
     CODEC_ID_VBLE,
     CODEC_ID_DXTORY,
+    CODEC_ID_V410,
+    CODEC_ID_XWD,
+    CODEC_ID_Y41P       = MKBETAG('Y','4','1','P'),
     CODEC_ID_UTVIDEO = 0x800,
     CODEC_ID_ESCAPE130  = MKBETAG('E','1','3','0'),
+    CODEC_ID_AVRP       = MKBETAG('A','V','R','P'),
 
     CODEC_ID_G2M        = MKBETAG( 0 ,'G','2','M'),
+    CODEC_ID_V308       = MKBETAG('V','3','0','8'),
+    CODEC_ID_YUV4       = MKBETAG('Y','U','V','4'),
 
     /* various PCM "codecs" */
     CODEC_ID_FIRST_AUDIO = 0x10000,     ///< A dummy id pointing at the start of audio codecs
@@ -320,6 +326,7 @@
     CODEC_ID_ADPCM_EA_MAXIS_XA,
     CODEC_ID_ADPCM_IMA_ISS,
     CODEC_ID_ADPCM_G722,
+    CODEC_ID_ADPCM_IMA_APC,
 
     /* AMR */
     CODEC_ID_AMR_NB = 0x12000,
@@ -402,6 +409,7 @@
     CODEC_ID_BMV_AUDIO,
     CODEC_ID_G729 = 0x15800,
     CODEC_ID_G723_1= 0x15801,
+    CODEC_ID_FFWAVESYNTH = MKBETAG('F','F','W','S'),
     CODEC_ID_8SVX_RAW   = MKBETAG('8','S','V','X'),
 
     /* subtitle codecs */
@@ -739,10 +747,27 @@
 /* Codec can export data for HW decoding (XvMC). */
 #define CODEC_CAP_HWACCEL         0x0010
 /**
- * Codec has a nonzero delay and needs to be fed with avpkt->data=NULL,
+ * Encoder or decoder requires flushing with NULL input at the end in order to
+ * give the complete and correct output.
+ *
+ * NOTE: If this flag is not set, the codec is guaranteed to never be fed with
+ *       with NULL data. The user can still send NULL data to the public encode
+ *       or decode function, but libavcodec will not pass it along to the codec
+ *       unless this flag is set.
+ *
+ * Decoders:
+ * The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL,
  * avpkt->size=0 at the end to get the delayed data until the decoder no longer
- * returns frames. If this is not set, the codec is guaranteed to never be fed
- * with NULL data.
+ * returns frames.
+ *
+ * Encoders:
+ * The encoder needs to be fed with NULL data at the end of encoding until the
+ * encoder no longer returns data.
+ *
+ * NOTE: For encoders implementing the AVCodec.encode2() function, setting this
+ *       flag also means that the encoder must set the pts and duration for
+ *       each output packet. If this flag is not set, the pts and duration will
+ *       be determined by libavcodec from the input frame.
  */
 #define CODEC_CAP_DELAY           0x0020
 /**
@@ -790,6 +815,18 @@
  */
 #define CODEC_CAP_SLICE_THREADS    0x2000
 /**
+ * Codec supports changed parameters at any point.
+ */
+#define CODEC_CAP_PARAM_CHANGE     0x4000
+/**
+ * Codec supports avctx->thread_count == 0 (auto).
+ */
+#define CODEC_CAP_AUTO_THREADS     0x8000
+/**
+ * Audio encoder supports receiving a different number of samples in each call.
+ */
+#define CODEC_CAP_VARIABLE_FRAME_SIZE 0x10000
+/**
  * Codec is lossless.
  */
 #define CODEC_CAP_LOSSLESS         0x80000000
@@ -875,6 +912,8 @@
 
 enum AVPacketSideDataType {
     AV_PKT_DATA_PALETTE,
+    AV_PKT_DATA_NEW_EXTRADATA,
+    AV_PKT_DATA_PARAM_CHANGE,
 };
 
 typedef struct AVPacket {
@@ -944,6 +983,27 @@
 #define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted
 
 /**
+ * An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:
+ * u32le param_flags
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT)
+ *     s32le channel_count
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT)
+ *     u64le channel_layout
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)
+ *     s32le sample_rate
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)
+ *     s32le width
+ *     s32le height
+ */
+
+enum AVSideDataParamChangeFlags {
+    AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT  = 0x0001,
+    AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002,
+    AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE    = 0x0004,
+    AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS     = 0x0008,
+};
+
+/**
  * Audio Video Frame.
  * New fields can be added to the end of AVFRAME with minor version
  * bumps. Similarly fields that are marked as to be only accessed by
@@ -1027,13 +1087,12 @@
      */
     int quality;
 
+#if FF_API_AVFRAME_AGE
     /**
-     * buffer age (1->was last buffer and dint change, 2->..., ...).
-     * Set to INT_MAX if the buffer has not been used yet.
-     * - encoding: unused
-     * - decoding: MUST be set by get_buffer() for video.
+     * @deprecated unused
      */
-    int age;
+    attribute_deprecated int age;
+#endif
 
     /**
      * is this picture used as reference
@@ -1257,56 +1316,59 @@
     uint8_t **extended_data;
 
     /**
-     * frame timestamp estimated using various heuristics, in stream time base
-     * Code outside libavcodec should access this field using:
-     *  av_opt_ptr(avcodec_get_frame_class(), frame, "best_effort_timestamp");
+     * sample aspect ratio for the video frame, 0/1 if unknown\unspecified
      * - encoding: unused
-     * - decoding: set by libavcodec, read by user.
+     * - decoding: Read by user.
      */
-    int64_t best_effort_timestamp;
+    AVRational sample_aspect_ratio;
 
     /**
-     * reordered pos from the last AVPacket that has been input into the decoder
-     * Code outside libavcodec should access this field using:
-     *  av_opt_ptr(avcodec_get_frame_class(), frame, "pkt_pos");
+     * width and height of the video frame
      * - encoding: unused
      * - decoding: Read by user.
      */
-    int64_t pkt_pos;
+    int width, height;
 
     /**
-     * reordered sample aspect ratio for the video frame, 0/1 if unknown\unspecified
-     * Code outside libavcodec should access this field using:
-     *  av_opt_ptr(avcodec_get_frame_class(), frame, "sample_aspect_ratio");
+     * format of the frame, -1 if unknown or unset
+     * Values correspond to enum PixelFormat for video frames,
+     * enum AVSampleFormat for audio)
      * - encoding: unused
      * - decoding: Read by user.
      */
-    AVRational sample_aspect_ratio;
+    int format;
 
     /**
-     * width and height of the video frame
+     * frame timestamp estimated using various heuristics, in stream time base
      * Code outside libavcodec should access this field using:
-     *  av_opt_ptr(avcodec_get_frame_class(), frame, "width");
+     *  av_opt_ptr(avcodec_get_frame_class(), frame, "best_effort_timestamp");
      * - encoding: unused
-     * - decoding: Read by user.
+     * - decoding: set by libavcodec, read by user.
      */
-    int width, height;
+    int64_t best_effort_timestamp;
 
     /**
-     * format of the frame, -1 if unknown or unset
-     * It should be cast to the corresponding enum (enum PixelFormat
-     * for video, enum AVSampleFormat for audio)
+     * reordered pos from the last AVPacket that has been input into the decoder
      * Code outside libavcodec should access this field using:
-     *  av_opt_ptr(avcodec_get_frame_class(), frame, "format");
+     *  av_opt_ptr(avcodec_get_frame_class(), frame, "pkt_pos");
      * - encoding: unused
      * - decoding: Read by user.
      */
-    int format;
+    int64_t pkt_pos;
 
 } AVFrame;
 
 struct AVCodecInternal;
 
+enum AVFieldOrder {
+    AV_FIELD_UNKNOWN,
+    AV_FIELD_PROGRESSIVE,
+    AV_FIELD_TT,          //< Top coded_first, top displayed first
+    AV_FIELD_BB,          //< Bottom coded first, bottom displayed first
+    AV_FIELD_TB,          //< Top coded first, bottom displayed first
+    AV_FIELD_BT,          //< Bottom coded first, top displayed first
+};
+
 /**
  * main external API structure.
  * New fields can be added to the end with minor version bumps.
@@ -1348,7 +1410,7 @@
      * Some codecs need additional format info. It is stored here.
      * If any muxer uses this then ALL demuxers/parsers AND encoders for the
      * specific codec MUST set it correctly otherwise stream copy breaks.
-     * In general use of this field by muxers is not recommanded.
+     * In general use of this field by muxers is not recommended.
      * - encoding: Set by libavcodec.
      * - decoding: Set by libavcodec. (FIXME: Is this OK?)
      */
@@ -2667,7 +2729,7 @@
 
 #if FF_API_X264_GLOBAL_OPTS
     /**
-     * Influences how often B-frames are used.
+     * Influence how often B-frames are used.
      * - encoding: Set by user.
      * - decoding: unused
      */
@@ -2748,7 +2810,7 @@
     int mv0_threshold;
 
     /**
-     * Adjusts sensitivity of b_frame_strategy 1.
+     * Adjust sensitivity of b_frame_strategy 1.
      * - encoding: Set by user.
      * - decoding: unused
      */
@@ -3032,7 +3094,7 @@
 
 #if FF_API_FLAC_GLOBAL_OPTS

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list