moving postprocess to ffmpeg/libavcodec

Originally committed as revision 1586 to svn://svn.ffmpeg.org/ffmpeg/trunk
Originally committed as revision 9427 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
Originally committed as revision 9428 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
This commit is contained in:
Michael Niedermayer 2003-02-14 21:27:25 +00:00
parent 7d67e968a4
commit bba9b16c26
9 changed files with 121 additions and 34 deletions

21
configure vendored
View File

@ -60,6 +60,8 @@ mp3lame="no"
vorbis="no"
a52="yes"
a52bin="no"
pp="yes"
shared_pp="no"
win32="no"
mingw32="no"
cygwin="no"
@ -281,6 +283,10 @@ for opt do
;;
--enable-a52bin) a52bin="yes" ; extralibs="$ldl $extralibs"
;;
--disable-pp) pp="no"
;;
--enable-shared-pp) shared_pp="yes"
;;
--enable-mp3lame) mp3lame="yes"
;;
--enable-vorbis) vorbis="yes"
@ -578,6 +584,8 @@ echo " --enable-win32 enable win32 cross compile"
echo " --enable-mingw32 enable mingw32 native windows compile"
echo " --disable-a52 disable GPL'ed A52 support [default=no]"
echo " --enable-a52bin open liba52.so.0 at runtime [default=no]"
echo " --disable-pp disable GPL'ed post processing support [default=no]"
echo " --enable-shared-pp use libpostproc.so [default=no]"
echo " --enable-shared build shared libraries [default=no]"
echo ""
echo "Advanced options (experts only):"
@ -631,6 +639,8 @@ echo "mp3lame enabled $mp3lame"
echo "vorbis enabled $vorbis"
echo "a52 support $a52"
echo "a52 dlopened $a52bin"
echo "pp support $pp"
echo "shared pp $shared_pp"
echo "Video hooking $vhook"
echo "risky / patent encumbered codecs $risky"
@ -754,6 +764,17 @@ if test "$a52" = "yes" ; then
fi
fi
# PP
if test "$pp" = "yes" ; then
echo "#define CONFIG_PP 1" >> $TMPH
echo "CONFIG_PP=yes" >> config.mak
if test "$shared_pp" = "yes" ; then
echo "#define SHARED_PP 1" >> $TMPH
echo "SHARED_PP=yes" >> config.mak
fi
fi
# mpeg audio high precision mode
if test "$mpegaudio_hp" = "yes" ; then
echo "#define CONFIG_MPEGAUDIO_HP 1" >> $TMPH

View File

@ -35,6 +35,15 @@ OBJS+= liba52/bit_allocate.o liba52/bitstream.o liba52/downmix.o \
endif
endif
ifeq ($(CONFIG_PP),yes)
ifeq ($(SHARED_PP),yes)
EXTRALIBS += -lpostproc
else
# LIBS += libpostproc/libpostproc.a ... should be fixed
OBJS += libpostproc/postprocess.o
endif
endif
ifeq ($(CONFIG_MP3LAME),yes)
OBJS += mp3lameaudio.o
EXTRALIBS += -lmp3lame
@ -125,6 +134,9 @@ $(SLIB): $(OBJS)
dsputil.o: dsputil.c dsputil.h
libpostproc/libpostproc.a:
$(MAKE) -C libpostproc
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<

View File

@ -0,0 +1,64 @@
include ../../config.mak
ifeq ($(SHARED_PP),yes)
SPPLIB = libpostproc.so
SPPVERSION = 0.0.1
endif
PPLIB = libpostproc.a
PPOBJS=postprocess.o
SPPOBJS=postprocess_pic.o
CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. $(EXTRA_INC)
# -I/usr/X11R6/include/
.SUFFIXES: .c .o
# .PHONY: all clean
.c.o:
$(CC) -c $(CFLAGS) -I.. -I../.. -o $@ $<
all: $(SWSLIB) $(PPLIB) $(SPPLIB)
clean:
rm -f *.o *.a *~ *.so
distclean:
rm -f Makefile.bak *.o *.a *~ *.so .depend
dep: depend
depend:
$(CC) -MM $(CFLAGS) postprocess.c 1>.depend
ifeq ($(SHARED_PP),yes)
postprocess_pic.o: postprocess.c
$(CC) -c $(CFLAGS) -fomit-frame-pointer -fPIC -DPIC -I.. -I../.. -o $@ $<
$(SPPLIB): $(SPPOBJS)
$(CC) -shared -Wl,-soname,$(SPPLIB).0 \
-o $(SPPLIB) $(SPPOBJS)
endif
$(PPLIB): $(PPOBJS)
$(AR) r $(PPLIB) $(PPOBJS)
install: all
ifeq ($(SHARED_PP),yes)
install -d $(prefix)/lib
install -s -m 755 $(SPPLIB) $(prefix)/lib/$(SPPLIB).$(SPPVERSION)
ln -sf $(SPPLIB).$(SPPVERSION) $(prefix)/lib/$(SPPLIB)
ldconfig || true
mkdir -p $(prefix)/include/postproc
install -m 644 postprocess.h $(prefix)/include/postproc/postprocess.h
endif
#
# include dependency files if they exist
#
ifneq ($(wildcard .depend),)
include .depend
endif

View File

@ -0,0 +1,19 @@
/* mangle.h - This file has some CPP macros to deal with different symbol
* mangling across binary formats.
* (c)2002 by Felix Buenemann <atmosfear at users.sourceforge.net>
* File licensed under the GPL, see http://www.fsf.org/ for more info.
*/
#ifndef __MANGLE_H
#define __MANGLE_H
/* Feel free to add more to the list, eg. a.out IMO */
#if defined(__CYGWIN__) || defined(__OS2__) || \
(defined(__OpenBSD__) && !defined(__ELF__))
#define MANGLE(a) "_" #a
#else
#define MANGLE(a) #a
#endif
#endif /* !__MANGLE_H */

View File

@ -75,12 +75,13 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks
//#undef HAVE_MMX
//#undef ARCH_X86
//#define DEBUG_BRIGHTNESS
#ifndef PIC
#include "../libvo/fastmemcpy.h"
#ifdef USE_FASTMEMCPY
#include "libvo/fastmemcpy.h"
#endif
#include "postprocess.h"
#include "postprocess_internal.h"
#include "mangle.h"
#include "mangle.h" //FIXME should be supressed
#define MIN(a,b) ((a) > (b) ? (b) : (a))
#define MAX(a,b) ((a) < (b) ? (b) : (a))

View File

@ -2,16 +2,9 @@
include ../config.mak
SWSLIB = libswscale.a
ifeq ($(SHARED_PP),yes)
SPPLIB = libpostproc.so
SPPVERSION = 0.0.1
endif
PPLIB = libpostproc.a
SWSSRCS=swscale.c rgb2rgb.c yuv2rgb.c
SWSOBJS=$(SWSSRCS:.c=.o)
PPOBJS=postprocess.o
SPPOBJS=postprocess_pic.o
CS_TEST_OBJS=cs_test.o rgb2rgb.o ../cpudetect.o ../mp_msg.o ../libvo/aclib.o
CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. $(EXTRA_INC)
@ -24,7 +17,7 @@ CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. $(EXTRA_INC)
.c.o:
$(CC) -c $(CFLAGS) -I.. -o $@ $<
all: $(SWSLIB) $(PPLIB) $(SPPLIB)
all: $(SWSLIB)
$(SWSLIB): $(SWSOBJS)
$(AR) r $(SWSLIB) $(SWSOBJS)
@ -43,29 +36,6 @@ depend:
cs_test: $(CS_TEST_OBJS)
$(CC) $(CS_TEST_OBJS) -o cs_test
ifeq ($(SHARED_PP),yes)
postprocess_pic.o: postprocess.c
$(CC) -c $(CFLAGS) -fomit-frame-pointer -fPIC -DPIC -I.. -o $@ $<
$(SPPLIB): $(SPPOBJS)
$(CC) -shared -Wl,-soname,$(SPPLIB).0 \
-o $(SPPLIB) $(SPPOBJS)
endif
$(PPLIB): $(PPOBJS)
$(AR) r $(PPLIB) $(PPOBJS)
install: all
ifeq ($(SHARED_PP),yes)
install -d $(prefix)/lib
install -s -m 755 $(SPPLIB) $(prefix)/lib/$(SPPLIB).$(SPPVERSION)
ln -sf $(SPPLIB).$(SPPVERSION) $(prefix)/lib/$(SPPLIB)
ldconfig || true
mkdir -p $(prefix)/include/postproc
install -m 644 postprocess.h $(prefix)/include/postproc/postprocess.h
endif
#
# include dependency files if they exist
#