moving postprocess to ffmpeg/libavcodec
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 14 Feb 2003 21:27:25 +0000 (21:27 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 14 Feb 2003 21:27:25 +0000 (21:27 +0000)
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

configure
libavcodec/Makefile
libavcodec/libpostproc/Makefile [new file with mode: 0644]
libavcodec/libpostproc/mangle.h [new file with mode: 0644]
libavcodec/libpostproc/postprocess.c [moved from postproc/postprocess.c with 99% similarity]
libavcodec/libpostproc/postprocess.h [moved from postproc/postprocess.h with 100% similarity]
libavcodec/libpostproc/postprocess_internal.h [moved from postproc/postprocess_internal.h with 100% similarity]
libavcodec/libpostproc/postprocess_template.c [moved from postproc/postprocess_template.c with 100% similarity]
postproc/Makefile

index 559467e..c403899 100755 (executable)
--- a/configure
+++ b/configure
@@ -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
index f8be2a8..6245462 100644 (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 $@ $< 
 
diff --git a/libavcodec/libpostproc/Makefile b/libavcodec/libpostproc/Makefile
new file mode 100644 (file)
index 0000000..095dec9
--- /dev/null
@@ -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
diff --git a/libavcodec/libpostproc/mangle.h b/libavcodec/libpostproc/mangle.h
new file mode 100644 (file)
index 0000000..5f5dc48
--- /dev/null
@@ -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 */
+
similarity index 99%
rename from postproc/postprocess.c
rename to libavcodec/libpostproc/postprocess.c
index e470fd0..d9261b4 100644 (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))
index 2ef7bbc..a817718 100644 (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
 #