[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