[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12996] trunk/lib/windows/gcc/ffmpeg: = new ffmpeg binaries=

Joseph Eagar joeedh at gmail.com
Tue Dec 25 07:23:16 CET 2007


Revision: 12996
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12996
Author:   joeedh
Date:     2007-12-25 07:23:16 +0100 (Tue, 25 Dec 2007)

Log Message:
-----------
=new ffmpeg binaries=

Adding new ffmpeg binaries for mingw.  Both xvid and
x264 are compiled in, though note that, far as I know,
only open-source video players can play x264 (mplayer,
vlc, and anything else that uses the x264 library.

I'll commit the updated scons win32-mingw-config.py in
a moment.  I don't know what to do about make, cmake,
and all the project files, so I'm not touching them.

Modified Paths:
--------------
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avcodec.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avformat.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avio.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avutil.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/common.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/integer.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/intfloat_readwrite.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/mathematics.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/rational.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/rtp.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/rtsp.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/rtspcodes.h
    trunk/lib/windows/gcc/ffmpeg/lib/libavcodec.a
    trunk/lib/windows/gcc/ffmpeg/lib/libavformat.a
    trunk/lib/windows/gcc/ffmpeg/lib/libavutil.a

Added Paths:
-----------
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/adler32.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avdevice.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avstring.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/base64.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/fifo.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/log.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/lzo.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/md5.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/mem.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/opt.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/random.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/rgb2rgb.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/sha1.h
    trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/swscale.h
    trunk/lib/windows/gcc/ffmpeg/lib/libavdevice.a
    trunk/lib/windows/gcc/ffmpeg/lib/libswscale.a
    trunk/lib/windows/gcc/ffmpeg/lib/libx264.a
    trunk/lib/windows/gcc/ffmpeg/lib/libxvidcore.a

Added: trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/adler32.h
===================================================================
--- trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/adler32.h	                        (rev 0)
+++ trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/adler32.h	2007-12-25 06:23:16 UTC (rev 12996)
@@ -0,0 +1,29 @@
+/*
+ * copyright (c) 2006 Mans Rullgard
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef FFMPEG_ADLER32_H
+#define FFMPEG_ADLER32_H
+
+#include <stdint.h>
+
+unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf,
+                                unsigned int len);
+
+#endif /* FFMPEG_ADLER32_H */

Modified: trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avcodec.h
===================================================================
--- trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avcodec.h	2007-12-24 19:13:04 UTC (rev 12995)
+++ trunk/lib/windows/gcc/ffmpeg/include/ffmpeg/avcodec.h	2007-12-25 06:23:16 UTC (rev 12996)
@@ -1,40 +1,64 @@
-#ifndef AVCODEC_H
-#define AVCODEC_H
+/*
+ * copyright (c) 2001 Fabrice Bellard
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
 
+#ifndef FFMPEG_AVCODEC_H
+#define FFMPEG_AVCODEC_H
+
 /**
  * @file avcodec.h
- * external api header.
+ * external API header
  */
 
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include "avutil.h"
 #include <sys/types.h> /* size_t */
 
-//FIXME the following 2 really dont belong in here
-#define FFMPEG_VERSION_INT      0x000409
-#define FFMPEG_VERSION          "CVS"
-
 #define AV_STRINGIFY(s)         AV_TOSTRING(s)
 #define AV_TOSTRING(s) #s
 
-#define LIBAVCODEC_VERSION_INT  ((51<<16)+(1<<8)+0)
-#define LIBAVCODEC_VERSION      51.1.0
+#define LIBAVCODEC_VERSION_INT  ((51<<16)+(49<<8)+0)
+#define LIBAVCODEC_VERSION      51.49.0
 #define LIBAVCODEC_BUILD        LIBAVCODEC_VERSION_INT
 
 #define LIBAVCODEC_IDENT        "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
 
-#define AV_NOPTS_VALUE          int64_t_C(0x8000000000000000)
+#define AV_NOPTS_VALUE          INT64_C(0x8000000000000000)
 #define AV_TIME_BASE            1000000
 #define AV_TIME_BASE_Q          (AVRational){1, AV_TIME_BASE}
 
+/**
+ * Identifies the syntax and semantics of the bitstream.
+ * The principle is roughly:
+ * Two decoders with the same ID can decode the same streams.
+ * Two encoders with the same ID can encode compatible streams.
+ * There may be slight deviations from the principle due to implementation
+ * details.
+ *
+ * If you add a codec ID to this list, add it so that
+ * 1. no value of a existing codec ID changes (that would break ABI),
+ * 2. it is as close as possible to similar codecs.
+ */
 enum CodecID {
     CODEC_ID_NONE,
     CODEC_ID_MPEG1VIDEO,
-    CODEC_ID_MPEG2VIDEO, /* prefered ID for MPEG Video 1 or 2 decoding */
+    CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding
     CODEC_ID_MPEG2VIDEO_XVMC,
     CODEC_ID_H261,
     CODEC_ID_H263,
@@ -105,7 +129,7 @@
     CODEC_ID_FFVHUFF,
     CODEC_ID_RV30,
     CODEC_ID_RV40,
-    CODEC_ID_VC9,
+    CODEC_ID_VC1,
     CODEC_ID_WMV3,
     CODEC_ID_LOCO,
     CODEC_ID_WNV1,
@@ -115,8 +139,38 @@
     CODEC_ID_TRUEMOTION2,
     CODEC_ID_BMP,
     CODEC_ID_CSCD,
+    CODEC_ID_MMVIDEO,
+    CODEC_ID_ZMBV,
+    CODEC_ID_AVS,
+    CODEC_ID_SMACKVIDEO,
+    CODEC_ID_NUV,
+    CODEC_ID_KMVC,
+    CODEC_ID_FLASHSV,
+    CODEC_ID_CAVS,
+    CODEC_ID_JPEG2000,
+    CODEC_ID_VMNC,
+    CODEC_ID_VP5,
+    CODEC_ID_VP6,
+    CODEC_ID_VP6F,
+    CODEC_ID_TARGA,
+    CODEC_ID_DSICINVIDEO,
+    CODEC_ID_TIERTEXSEQVIDEO,
+    CODEC_ID_TIFF,
+    CODEC_ID_GIF,
+    CODEC_ID_FFH264,
+    CODEC_ID_DXA,
+    CODEC_ID_DNXHD,
+    CODEC_ID_THP,
+    CODEC_ID_SGI,
+    CODEC_ID_C93,
+    CODEC_ID_BETHSOFTVID,
+    CODEC_ID_PTX,
+    CODEC_ID_TXD,
+    CODEC_ID_VP6A,
+    CODEC_ID_AMV,
+    CODEC_ID_VB,
 
-    /* various pcm "codecs" */
+    /* various PCM "codecs" */
     CODEC_ID_PCM_S16LE= 0x10000,
     CODEC_ID_PCM_S16BE,
     CODEC_ID_PCM_U16LE,
@@ -134,8 +188,10 @@
     CODEC_ID_PCM_U24LE,
     CODEC_ID_PCM_U24BE,
     CODEC_ID_PCM_S24DAUD,
+    CODEC_ID_PCM_ZORK,
+    CODEC_ID_PCM_S16LE_PLANAR,
 
-    /* various adpcm codecs */
+    /* various ADPCM codecs */
     CODEC_ID_ADPCM_IMA_QT= 0x11000,
     CODEC_ID_ADPCM_IMA_WAV,
     CODEC_ID_ADPCM_IMA_DK3,
@@ -151,6 +207,17 @@
     CODEC_ID_ADPCM_CT,
     CODEC_ID_ADPCM_SWF,
     CODEC_ID_ADPCM_YAMAHA,
+    CODEC_ID_ADPCM_SBPRO_4,
+    CODEC_ID_ADPCM_SBPRO_3,
+    CODEC_ID_ADPCM_SBPRO_2,
+    CODEC_ID_ADPCM_THP,
+    CODEC_ID_ADPCM_IMA_AMV,
+    CODEC_ID_ADPCM_EA_R1,
+    CODEC_ID_ADPCM_EA_R3,
+    CODEC_ID_ADPCM_EA_R2,
+    CODEC_ID_ADPCM_IMA_EA_SEAD,
+    CODEC_ID_ADPCM_IMA_EA_EACS,
+    CODEC_ID_ADPCM_EA_XAS,
 
     /* AMR */
     CODEC_ID_AMR_NB= 0x12000,
@@ -167,9 +234,11 @@
     CODEC_ID_SOL_DPCM,
 
     CODEC_ID_MP2= 0x15000,
-    CODEC_ID_MP3, /* prefered ID for MPEG Audio layer 1, 2 or3 decoding */
+    CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3
     CODEC_ID_AAC,
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
     CODEC_ID_MPEG4AAC,
+#endif
     CODEC_ID_AC3,
     CODEC_ID_DTS,
     CODEC_ID_VORBIS,
@@ -187,23 +256,40 @@
     CODEC_ID_SHORTEN,
     CODEC_ID_ALAC,
     CODEC_ID_WESTWOOD_SND1,
-    CODEC_ID_GSM,
+    CODEC_ID_GSM, ///< as in Berlin toast format
     CODEC_ID_QDM2,
     CODEC_ID_COOK,
     CODEC_ID_TRUESPEECH,
+    CODEC_ID_TTA,
+    CODEC_ID_SMACKAUDIO,
+    CODEC_ID_QCELP,
+    CODEC_ID_WAVPACK,
+    CODEC_ID_DSICINAUDIO,
+    CODEC_ID_IMC,
+    CODEC_ID_MUSEPACK7,
+    CODEC_ID_MLP,
+    CODEC_ID_GSM_MS, /* as found in WAV */
+    CODEC_ID_ATRAC3,
+    CODEC_ID_VOXWARE,
+    CODEC_ID_APE,
+    CODEC_ID_NELLYMOSER,
+    CODEC_ID_MUSEPACK8,
 
-    CODEC_ID_OGGTHEORA= 0x16000,
-
     /* subtitle codecs */
     CODEC_ID_DVD_SUBTITLE= 0x17000,
     CODEC_ID_DVB_SUBTITLE,
+    CODEC_ID_TEXT,  ///< raw UTF-8 text
+    CODEC_ID_XSUB,
 
-    CODEC_ID_MPEG2TS= 0x20000, /* _FAKE_ codec to indicate a raw MPEG2 transport
-                         stream (only used by libavformat) */
+    CODEC_ID_MPEG2TS= 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS
+                                * stream (only used by libavformat) */
 };
 
-/* CODEC_ID_MP3LAME is absolete */
+#if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
+/* CODEC_ID_MP3LAME is obsolete */
 #define CODEC_ID_MP3LAME CODEC_ID_MP3
+#define CODEC_ID_MPEG4AAC CODEC_ID_AAC
+#endif
 
 enum CodecType {
     CODEC_TYPE_UNKNOWN = -1,
@@ -211,94 +297,58 @@
     CODEC_TYPE_AUDIO,
     CODEC_TYPE_DATA,
     CODEC_TYPE_SUBTITLE,
+    CODEC_TYPE_NB
 };
 
 /**
- * Pixel format. Notes:
- *
- * PIX_FMT_RGBA32 is handled in an endian-specific manner. A RGBA
- * color is put together as:
- *  (A << 24) | (R << 16) | (G << 8) | B
- * This is stored as BGRA on little endian CPU architectures and ARGB on
- * big endian CPUs.
- *
- * When the pixel format is palettized RGB (PIX_FMT_PAL8), the palettized
- * image data is stored in AVFrame.data[0]. The palette is transported in
- * AVFrame.data[1] and, is 1024 bytes long (256 4-byte entries) and is
- * formatted the same as in PIX_FMT_RGBA32 described above (i.e., it is
- * also endian-specific). Note also that the individual RGB palette
- * components stored in AVFrame.data[1] should be in the range 0..255.
- * This is important as many custom PAL8 video codecs that were designed
- * to run on the IBM VGA graphics adapter use 6-bit palette components.
+ * Currently unused, may be used if 24/32 bits samples are ever supported.
+ * all in native-endian format
  */
-enum PixelFormat {
-    PIX_FMT_NONE= -1,
-    PIX_FMT_YUV420P,   ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)
-    PIX_FMT_YUV422,    ///< Packed pixel, Y0 Cb Y1 Cr
-    PIX_FMT_RGB24,     ///< Packed pixel, 3 bytes per pixel, RGBRGB...
-    PIX_FMT_BGR24,     ///< Packed pixel, 3 bytes per pixel, BGRBGR...
-    PIX_FMT_YUV422P,   ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
-    PIX_FMT_YUV444P,   ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)
-    PIX_FMT_RGBA32,    ///< Packed pixel, 4 bytes per pixel, BGRABGRA..., stored in cpu endianness
-    PIX_FMT_YUV410P,   ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples)
-    PIX_FMT_YUV411P,   ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)
-    PIX_FMT_RGB565,    ///< always stored in cpu endianness
-    PIX_FMT_RGB555,    ///< always stored in cpu endianness, most significant bit to 1
-    PIX_FMT_GRAY8,
-    PIX_FMT_MONOWHITE, ///< 0 is white
-    PIX_FMT_MONOBLACK, ///< 0 is black
-    PIX_FMT_PAL8,      ///< 8 bit with RGBA palette
-    PIX_FMT_YUVJ420P,  ///< Planar YUV 4:2:0 full scale (jpeg)
-    PIX_FMT_YUVJ422P,  ///< Planar YUV 4:2:2 full scale (jpeg)
-    PIX_FMT_YUVJ444P,  ///< Planar YUV 4:4:4 full scale (jpeg)
-    PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing(xvmc_render.h)
-    PIX_FMT_XVMC_MPEG2_IDCT,
-    PIX_FMT_UYVY422,   ///< Packed pixel, Cb Y0 Cr Y1
-    PIX_FMT_UYVY411,   ///< Packed pixel, Cb Y0 Y1 Cr Y2 Y3
-    PIX_FMT_NB,
-};
-

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list