changeset 16165:a9f7eff9e437

Support new static libavcodec (depends on libavutil).
author al
date Mon, 01 Aug 2005 20:16:56 +0000
parents ec76d55a25f1
children 2072443415ca
files Makefile configure libmpcodecs/Makefile libmpcodecs/ad_ffmpeg.c libmpdemux/Makefile mencoder.c
diffstat 6 files changed, 62 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Mon Aug 01 18:52:20 2005 +0000
+++ b/Makefile	Mon Aug 01 20:16:56 2005 +0000
@@ -8,6 +8,14 @@
 
 PRG_CFG = codec-cfg
 
+LIBAV_INC =
+ifeq ($(CONFIG_LIBAVUTIL),yes)
+LIBAV_INC += -I./libavutil
+endif
+ifeq ($(CONFIG_LIBAVCODEC),yes)
+LIBAV_INC += -I./libavcodec
+endif
+
 # Do not strip the binaries at installation
 ifeq ($(STRIPBINARIES),yes)
 INSTALLSTRIP = -s
@@ -129,6 +137,7 @@
          $(SDL_INC) \
          $(X11_INC) \
          $(XVID_INC) \
+         $(LIBAV_INC) \
 
 #CFLAGS += -Wall
 
@@ -292,6 +301,9 @@
 loader/dmo/libDMO_Filter.a:
 	$(MAKE) -C loader/dmo
 
+libavutil/libavutil.a:
+	$(MAKE) -C libavutil LIBPREF=lib LIBSUF=.a
+
 libavcodec/libavcodec.a:
 	$(MAKE) -C libavcodec LIBPREF=lib LIBSUF=.a
 
--- a/configure	Mon Aug 01 18:52:20 2005 +0000
+++ b/configure	Mon Aug 01 20:16:56 2005 +0000
@@ -5859,6 +5859,13 @@
   _noinputmodules="live.com $_noinputmodules"
 fi
 
+echocheck "FFmpeg libavutil (static)"
+if test -d libavutil ; then
+  _libavutil=yes
+else
+  _libavutil=no
+fi
+echores "$_libavutil"
 
 echocheck "FFmpeg libavcodec (static)"
 if test "$_libavcodec" = auto ; then
@@ -5866,8 +5873,26 @@
   _libavcodec=no
   if test -d libavcodec && test -f libavcodec/utils.c ; then
     if grep avcodec_find_encoder_by_name libavcodec/utils.c > /dev/null 2>&1 ; then
-      _libavcodec=yes
-      echores "yes"
+      # check if libavutil is a required
+      cat > $TMPC << EOF
+#include "libavcodec/avcodec.h"
+#if LIBAVCODEC_BUILD >= 3211265
+#error We need libavutil!
+#endif
+int main(void) { return 0; }
+EOF
+      
+      if cc_check -I. -I./libavutil; then
+        _libavutil_required="no"
+      else
+        _libavutil_required="yes"
+      fi
+      if test "$_libavutil_required" != "$_libavutil"; then
+        _libavcodec="no (libavutil availability does not fit libavcodec version)"
+      else
+        _libavcodec="yes"
+      fi
+      echores $_libavcodec
     else
       echores "no (old ffmpeg version, use CVS !)"
     fi
@@ -5930,6 +5955,10 @@
   _dep_libavcodec='libavcodec/libavcodec.a'
   _def_ffpostprocess='#define FF_POSTPROCESS 1'
   _codecmodules="libavcodec $_codecmodules"
+  if test "$_libavutil" = yes; then
+    _ld_libavutil='libavutil/libavutil.a'
+    _dep_libavutil='libavutil/libavutil.a'
+  fi
 elif test "$_libavcodecso" = yes ; then
   _def_libavcodec='#define USE_LIBAVCODEC 1'
   _def_libavcodecso='#define USE_LIBAVCODEC_SO 1'
@@ -7003,8 +7032,9 @@
 W32_LIB = $_ld_win32
 DS_DEP = $_dep_dshow
 DS_LIB = $_ld_dshow
-AV_DEP = $_dep_libavcodec $_dep_libavformat
-AV_LIB = $_ld_libavcodec $_ld_libavformat
+AV_DEP = $_dep_libavutil $_dep_libavcodec $_dep_libavformat
+AV_LIB = $_ld_libavformat $_ld_libavcodec $_ld_libavutil 
+CONFIG_LIBAVUTIL = $_libavutil_required
 CONFIG_LIBAVCODEC = $_libavcodec
 CONFIG_LIBAVFORMAT = $_libavformat
 ZORAN = $_zr
--- a/libmpcodecs/Makefile	Mon Aug 01 18:52:20 2005 +0000
+++ b/libmpcodecs/Makefile	Mon Aug 01 20:16:56 2005 +0000
@@ -183,7 +183,12 @@
 ENCODER_SRCS += ae_lame.c
 endif
 
+LIBAV_INC =
+ifeq ($(CONFIG_LIBAVUTIL),yes)
+LIBAV_INC += -I../libavutil
+endif
 ifeq ($(CONFIG_LIBAVCODEC),yes)
+LIBAV_INC += -I../libavcodec
 ENCODER_SRCS += ae_lavc.c
 endif
 
@@ -201,7 +206,7 @@
 SRCS2=$(ENCODER_SRCS)
 OBJS2=$(SRCS2:.c=.o)
 
-CFLAGS  = $(OPTFLAGS) -I. -Inative -I.. -I../libmpdemux -I../loader $(EXTRA_INC) $(X264_INC) -D_GNU_SOURCE
+CFLAGS  = $(OPTFLAGS) -I. -Inative -I.. -I../libmpdemux -I../loader $(LIBAV_INC) $(EXTRA_INC) $(X264_INC) -D_GNU_SOURCE
 
 .SUFFIXES: .c .o
 
--- a/libmpcodecs/ad_ffmpeg.c	Mon Aug 01 18:52:20 2005 +0000
+++ b/libmpcodecs/ad_ffmpeg.c	Mon Aug 01 20:16:56 2005 +0000
@@ -28,7 +28,7 @@
 #ifdef USE_LIBAVCODEC_SO
 #include <ffmpeg/avcodec.h>
 #else
-#include "libavcodec/avcodec.h"
+#include "avcodec.h"
 #endif
 
 extern int avcodec_inited;
--- a/libmpdemux/Makefile	Mon Aug 01 18:52:20 2005 +0000
+++ b/libmpdemux/Makefile	Mon Aug 01 20:16:56 2005 +0000
@@ -106,8 +106,15 @@
         muxer_rawaudio.c \
         muxer_rawvideo.c \
 
+LIBAV_INC =
+ifeq ($(CONFIG_LIBAVUTIL),yes)
+LIBAV_INC += -I../libavutil
+endif
+ifeq ($(CONFIG_LIBAVCODEC),yes)
+LIBAV_INC += -I../libavcodec
+endif
 ifeq ($(CONFIG_LIBAVFORMAT),yes)
-LIBAV_INC = -I../libavcodec -I../libavformat
+LIBAV_INC += -I../libavformat
 SRCS += muxer_lavf.c
 endif
 
--- a/mencoder.c	Mon Aug 01 18:52:20 2005 +0000
+++ b/mencoder.c	Mon Aug 01 20:16:56 2005 +0000
@@ -80,7 +80,7 @@
 #ifdef USE_LIBAVCODEC_SO
 #include <ffmpeg/avcodec.h>
 #else
-#include "libavcodec/avcodec.h"
+#include "avcodec.h"
 #endif
 #endif