diff -ur ffmpeg-r7407/Makefile ffmpeg-r7407-haiku/Makefile
--- ffmpeg-r7407/Makefile	2009-11-16 21:38:53.000000000 +0000
+++ ffmpeg-r7407-haiku/Makefile	2009-11-16 21:55:57.000000000 +0000
@@ -159,7 +159,9 @@
 ifeq ($(CONFIG_PP),yes)
 	$(MAKE) -C libpostproc install-headers
 endif
+ifeq ($(CONFIG_SWSCALER),yes)
 	$(MAKE) -C libswscale  install-headers
+endif
 
 uninstall: uninstall-progs uninstall-libs uninstall-headers uninstall-man uninstall-vhook
 
diff -ur ffmpeg-r7407/configure ffmpeg-r7407-haiku/configure
--- ffmpeg-r7407/configure	2009-11-16 21:38:53.000000000 +0000
+++ ffmpeg-r7407-haiku/configure	2009-11-16 21:55:54.000000000 +0000
@@ -690,6 +690,14 @@
 beos_netserver="yes"
 extralibs="-lnet"
 fi ;;
+Haiku)
+add_cflags "-DPIC -fomit-frame-pointer"
+beosthreads="yes"
+extralibs=""
+audio_oss="no"
+video4linux="no"
+video4linux2="no"
+;;
 SunOS)
 video4linux="no"
 video4linux2="no"
diff -ur ffmpeg-r7407/libswscale/swscale.h ffmpeg-r7407-haiku/libswscale/swscale.h
--- ffmpeg-r7407/libswscale/swscale.h	2009-11-16 21:40:14.000000000 +0000
+++ ffmpeg-r7407-haiku/libswscale/swscale.h	2009-11-16 21:56:10.000000000 +0000
@@ -131,10 +131,10 @@
  * @param flags specify which algorithm and options to use for rescaling
  * @return a pointer to an allocated context, or NULL in case of error
  */
-struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat,
-                                  int dstW, int dstH, enum PixelFormat dstFormat,
+struct SwsContext *sws_getContext(int srcW, int srcH, int srcFormat,
+                                  int dstW, int dstH, int dstFormat,
                                   int flags, SwsFilter *srcFilter,
-                                  SwsFilter *dstFilter, const double *param);
+                                  SwsFilter *dstFilter, double *param);
 
 /**
  * Scales the image slice in srcSlice and puts the resulting scaled
@@ -267,9 +267,9 @@
  * are assumed to remain the same.
  */
 struct SwsContext *sws_getCachedContext(struct SwsContext *context,
-                                        int srcW, int srcH, enum PixelFormat srcFormat,
-                                        int dstW, int dstH, enum PixelFormat dstFormat,
+                                        int srcW, int srcH, int srcFormat,
+                                        int dstW, int dstH, int dstFormat,
                                         int flags, SwsFilter *srcFilter,
-                                        SwsFilter *dstFilter, const double *param);
+                                        SwsFilter *dstFilter, double *param);
 
 #endif /* SWSCALE_SWSCALE_H */
