--- deinterlace-1.0.orig/src/Makefile.am	2008-10-17 16:07:06.000000000 -0400
+++ deinterlace-1.0/src/Makefile.am	2008-10-17 16:06:57.000000000 -0400
@@ -1,8 +1,8 @@
 plugin_LTLIBRARIES = libmfw_gst_deinterlace.la 
 
 libmfw_gst_deinterlace_la_SOURCES =  mfw_gst_deinterlace.c 
-libmfw_gst_deinterlace_la_CFLAGS = -O2 $(GST_LIBS_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/codec
-libmfw_gst_deinterlace_la_LIBADD = $(GST_LIBS_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_deinterlace_arm11_elinux
-libmfw_gst_deinterlace_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -L../../../../libs/codec
+libmfw_gst_deinterlace_la_CFLAGS = -O2 $(GST_LIBS_CFLAGS) -fPIC -fno-omit-frame-pointer
+libmfw_gst_deinterlace_la_LIBADD = $(GST_LIBS_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS)
+libmfw_gst_deinterlace_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
 
 noinst_HEADERS = 
--- deinterlace-1.0.orig/src/basic.h	2008-05-27 09:27:25.495854092 -0400
+++ deinterlace-1.0/src/basic.h	2008-10-17 16:05:20.000000000 -0400
@@ -0,0 +1,84 @@
+/*
+
+ ***********************************************************************
+
+ * Copyright 2005-2007 by Freescale Semiconductor, Inc.
+
+ * All modifications are confidential and proprietary information
+
+ * of Freescale Semiconductor, Inc. ALL RIGHTS RESERVED.
+
+ ***********************************************************************
+
+ */
+
+
+
+/*!
+
+ ***********************************************************************
+
+ * Header file for definition of commonly used data types
+
+ *
+
+ *
+
+ * History
+
+ *   Date          Changed                                Changed by
+
+ *   Sep. 6, 2007  Create                                 Zhenyong Chen
+
+ ***********************************************************************
+
+ */
+
+
+
+
+
+#ifndef __BASIC_H__
+
+#define __BASIC_H__
+
+
+
+
+
+typedef unsigned char  BYTE;
+
+
+
+typedef unsigned short SHORT;
+
+typedef unsigned short WORD;
+
+
+
+typedef unsigned int   COLORREF;
+
+typedef unsigned int   DWORD;
+
+typedef unsigned int   UINT;
+
+typedef unsigned long  ULONG;
+
+
+
+typedef int            BOOL;
+
+
+
+#define TRUE    1
+
+#define FALSE   0
+
+#define NULL    ((void *)0)
+
+
+
+#endif /* __BASIC_H__ */
+
+
+
--- deinterlace-1.0.orig/src/deinterlace_api.h	2008-05-27 09:27:25.495854092 -0400
+++ deinterlace-1.0/src/deinterlace_api.h	2008-10-17 16:05:20.000000000 -0400
@@ -0,0 +1,167 @@
+/*
+ ***********************************************************************
+ * Copyright 2005-2007 by Freescale Semiconductor, Inc.
+ * All modifications are confidential and proprietary information
+ * of Freescale Semiconductor, Inc. ALL RIGHTS RESERVED.
+ ***********************************************************************
+ */
+
+/*!
+ ***********************************************************************
+ * Header file of Freescale deinterlace algoritm
+ *
+ *
+ * History
+ *   Date          Changed                                Changed by
+ *   Dec. 04, 2007 Create                                 Zhenyong Chen
+ *   Jan. 30, 2008 Add API DeinterlacerGetVersion         Zhenyong Chen
+ ***********************************************************************
+ */
+
+
+#ifndef __DEINTERLACE_API_H__
+#define __DEINTERLACE_API_H__
+
+
+
+#ifdef __cplusplus 
+extern "C" { 
+#endif 
+
+
+// Chroma format
+#define CHROM_FMT_420   0
+#define CHROM_FMT_422   1
+#define CHROM_FMT_444   2
+
+// Deinterlace methods - predefined methods
+#define DEINTMETHOD_BOB      0
+#define DEINTMETHOD_WEAVE    1
+
+
+/* Methods in this collection
+ */
+#define SAFE_BASE          2000
+#define DEINTMETHOD_BLOCK_VT_NEW_FIELDSAD_BOB     (SAFE_BASE+2)
+#define DEINTMETHOD_BLOCK_VT_NEW_FRAMESAD_BOB     (SAFE_BASE+3)
+#define DEINTMETHOD_BLOCK_VT_NEW_FIELDSAD_4TAP    (SAFE_BASE+4)
+#define DEINTMETHOD_BLOCK_VT_NEW_FRAMESAD_4TAP    (SAFE_BASE+5)
+#define DEINTMETHOD_BLOCK_VT_GROUP_FRAMESAD_4TAP  (SAFE_BASE+6)
+#define DEINTMETHOD_BLOCK_VT_GROUP_FRAMESAD_BOB   (SAFE_BASE+7)
+
+
+// Attribute
+typedef struct tagDeintMethod
+{
+    unsigned int method;  // ID of method
+    char name[64];        // Name of method
+    char need_prev_frame; // Whether previous frame is needed for reference
+    char need_next_frame; // Whether next frame is needed for reference
+    char safe;            // Safety for use of this method
+}DEINTMETHOD;
+
+typedef struct tagPICTURE
+{
+    BYTE *y;
+    BYTE *cb;
+    BYTE *cr;
+}PICTURE;
+
+typedef struct tagDEINTER
+{
+    // Frame buffers
+    PICTURE frame[3]; // frame[0]: prevous frame; frame[1]: current frame; frame[2]: next frame
+    // Parameter of luma/chroma stride
+    int y_stride;
+    int uv_stride;
+    // Chroma format. 4:2:0 (0), 4:2:2 (1), 4:4:4 (2) support.
+    int chrom_fmt;
+    // Parameter of picture size (in pixel)
+    int width;
+    int height;
+    // Which field is first
+    BOOL top_first;
+    // How to deinterlace
+    int method;
+    // Research usage, a way to let outside control deinterlacing process. Set NULL
+    void *dynamic_params;
+}DEINTER;
+
+/* \Function
+ *   InitDeinterlaceSafe
+ * \Brief
+ *   Init deinterlace algorithm, and get information of implemented 
+ *   algorithms
+ * \Return value
+ *   None
+ * \Parameters
+ *   pMethods   [out] Buffer to store information
+ *   count      [out] Count of methods implemented
+ * \See also
+ *   N/A
+ */
+void InitDeinterlaceSafe(DEINTMETHOD *pMethods, int *count);
+
+/* \Function
+ *   DeinterlaceSafe
+ * \Brief
+ *   Core function to deinterlace an interlace frame, and output a  
+ *   progressive frame in same place as current frame
+ * \Return value
+ *   None
+ * \Parameters
+ *   pDeinterInfo  [inout] See definition of DEINTER
+ * \See also
+ *   Document ...
+ */
+void DeinterlaceSafe(DEINTER *pDeinterInfo);
+
+/* \Function
+ *   IsFrameReusableSafe
+ * \Brief
+ *   To determine current frame buffer can be reused when requres reloading
+ * \Return value
+ *   1  - reusable
+ *   0  - not reusable
+ *   -1 - undetermined
+ * \Parameters
+ *   nMethod    [in] Deinterlace method
+ *   bDrawTrack [in] Whether tracking motion block is enabled. When this 
+ *                   feature is enabled, frame buffer will be overwritten 
+ *                   to show block edge
+ * \Remark
+ *   For somet deinterlace algorithms, current frame after filtering can 
+ *   be reused for another frame deinterlacing (next frame, current frame, 
+ *   or previous frame). To avoid reloading it, use this API to check whether
+ *   whether current frame need (or not) reload.
+ *
+ * \See also
+ *   N/A
+ */
+int  IsFrameReusableSafe(int nMethod, BOOL bDrawTrack);
+
+/* \Function
+ *   DeinterlacerGetVersion
+ * \Brief
+ *   To get version of deinterlacer
+ * \Return value
+ *   0  - ok
+ *   1  - larger buffer needed
+ *   -1 - unknown error
+ * \Parameters
+ *   buf        [out] Buffer to contain version string
+ *   buf_len    [in]  Length of buf 
+ * \Remark
+ *   N/A
+ *
+ * \See also
+ *   N/A
+ */
+int DeinterlacerGetVersion(char *buf, int buf_len);
+
+#ifdef __cplusplus 
+} 
+#endif 
+
+#endif /* __DEINTERLACE_API_H__ */
+
