summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoral <al@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-01 20:16:56 +0000
committeral <al@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-01 20:16:56 +0000
commitbd342e463af94e4e748fc6f096b6ebb275685932 (patch)
tree05a0a74a063fe3cde419cde64c87a931de74e21d
parent2d14fdcb3a53f7775543f8ef85cae5edf41d3637 (diff)
downloadmpv-bd342e463af94e4e748fc6f096b6ebb275685932.tar.bz2
mpv-bd342e463af94e4e748fc6f096b6ebb275685932.tar.xz
Support new static libavcodec (depends on libavutil).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16166 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--Makefile12
-rwxr-xr-xconfigure38
-rw-r--r--libmpcodecs/Makefile7
-rw-r--r--libmpcodecs/ad_ffmpeg.c2
-rw-r--r--libmpdemux/Makefile9
-rw-r--r--mencoder.c2
6 files changed, 62 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 3f5f2e7f92..00bfea45a6 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,14 @@ include config.mak
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 @@ CFLAGS = $(OPTFLAGS) -I. \
$(SDL_INC) \
$(X11_INC) \
$(XVID_INC) \
+ $(LIBAV_INC) \
#CFLAGS += -Wall
@@ -292,6 +301,9 @@ loader/dshow/libDS_Filter.a:
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
diff --git a/configure b/configure
index 74cc50463a..b167043001 100755
--- a/configure
+++ b/configure
@@ -5859,6 +5859,13 @@ else
_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 @@ if test "$_libavcodec" = auto ; then
_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 @@ if test "$_libavcodec" = yes ; then
_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_DEP = $_dep_win32
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
diff --git a/libmpcodecs/Makefile b/libmpcodecs/Makefile
index e2867f312e..909aef1907 100644
--- a/libmpcodecs/Makefile
+++ b/libmpcodecs/Makefile
@@ -183,7 +183,12 @@ ifeq ($(CONFIG_MP3LAME),yes)
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 @@ OBJS=$(SRCS:.c=.o)
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
diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c
index 4d6de38fcd..d1132d43f1 100644
--- a/libmpcodecs/ad_ffmpeg.c
+++ b/libmpcodecs/ad_ffmpeg.c
@@ -28,7 +28,7 @@ LIBAD_EXTERN(ffmpeg)
#ifdef USE_LIBAVCODEC_SO
#include <ffmpeg/avcodec.h>
#else
-#include "libavcodec/avcodec.h"
+#include "avcodec.h"
#endif
extern int avcodec_inited;
diff --git a/libmpdemux/Makefile b/libmpdemux/Makefile
index fc8b606b7e..0c13fb69f9 100644
--- a/libmpdemux/Makefile
+++ b/libmpdemux/Makefile
@@ -106,8 +106,15 @@ SRCS += muxer.c \
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
diff --git a/mencoder.c b/mencoder.c
index 8e1f9d9da3..8592dd6d2f 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -80,7 +80,7 @@
#ifdef USE_LIBAVCODEC_SO
#include <ffmpeg/avcodec.h>
#else
-#include "libavcodec/avcodec.h"
+#include "avcodec.h"
#endif
#endif