# HG changeset patch # User al # Date 1122927416 0 # Node ID a9f7eff9e4371649986631c9dc7c7a4f9d57ee5f # Parent ec76d55a25f14db853a40589fa0300194253a0b2 Support new static libavcodec (depends on libavutil). diff -r ec76d55a25f1 -r a9f7eff9e437 Makefile --- 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 diff -r ec76d55a25f1 -r a9f7eff9e437 configure --- 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 diff -r ec76d55a25f1 -r a9f7eff9e437 libmpcodecs/Makefile --- 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 diff -r ec76d55a25f1 -r a9f7eff9e437 libmpcodecs/ad_ffmpeg.c --- 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 #else -#include "libavcodec/avcodec.h" +#include "avcodec.h" #endif extern int avcodec_inited; diff -r ec76d55a25f1 -r a9f7eff9e437 libmpdemux/Makefile --- 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 diff -r ec76d55a25f1 -r a9f7eff9e437 mencoder.c --- 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 #else -#include "libavcodec/avcodec.h" +#include "avcodec.h" #endif #endif