Update the trunk to the OpenCV's CVS (2008-07-14)
[opencv] / interfaces / swig / python / _highgui.cpp
index da9da21..79b081a 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.31
+ * Version 1.3.35
  * 
  * This file is not intended to be easily readable and contains a number of 
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -12,7 +12,7 @@
 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
 
 #ifdef __cplusplus
-template<class T> class SwigValueWrapper {
+template<typename T> class SwigValueWrapper {
     T *tt;
 public:
     SwigValueWrapper() : tt(0) { }
@@ -25,6 +25,10 @@ public:
 private:
     SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
 };
+
+template <typename T> T SwigValueInit() {
+  return T();
+}
 #endif
 
 /* -----------------------------------------------------------------------------
@@ -34,14 +38,14 @@ private:
 
 /* template workaround for compilers that cannot correctly implement the C++ standard */
 #ifndef SWIGTEMPLATEDISAMBIGUATOR
-# if defined(__SUNPRO_CC)
-#   if (__SUNPRO_CC <= 0x560)
-#     define SWIGTEMPLATEDISAMBIGUATOR template
-#   else
-#     define SWIGTEMPLATEDISAMBIGUATOR 
-#   endif
+# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
+#  define SWIGTEMPLATEDISAMBIGUATOR template
+# elif defined(__HP_aCC)
+/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
+/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
+#  define SWIGTEMPLATEDISAMBIGUATOR template
 # else
-#   define SWIGTEMPLATEDISAMBIGUATOR 
+#  define SWIGTEMPLATEDISAMBIGUATOR
 # endif
 #endif
 
@@ -124,6 +128,12 @@ private:
 # define _CRT_SECURE_NO_DEPRECATE
 #endif
 
+/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
+#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
+# define _SCL_SECURE_NO_DEPRECATE
+#endif
+
+
 
 /* Python.h has to appear first */
 #include <Python.h>
@@ -137,7 +147,7 @@ private:
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "3"
+#define SWIG_RUNTIME_VERSION "4"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
@@ -172,6 +182,7 @@ private:
 
 /* Flags for pointer conversions */
 #define SWIG_POINTER_DISOWN        0x1
+#define SWIG_CAST_NEW_MEMORY       0x2
 
 /* Flags for new pointer objects */
 #define SWIG_POINTER_OWN           0x1
@@ -312,10 +323,10 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
 extern "C" {
 #endif
 
-typedef void *(*swig_converter_func)(void *);
+typedef void *(*swig_converter_func)(void *, int *);
 typedef struct swig_type_info *(*swig_dycast_func)(void **);
 
-/* Structure to store inforomation on one type */
+/* Structure to store information on one type */
 typedef struct swig_type_info {
   const char             *name;                        /* mangled name of this type */
   const char             *str;                 /* human readable name of this type */
@@ -360,7 +371,7 @@ SWIG_TypeNameComp(const char *f1, const char *l1,
     while ((*f2 == ' ') && (f2 != l2)) ++f2;
     if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
   }
-  return (l1 - f1) - (l2 - f2);
+  return (int)((l1 - f1) - (l2 - f2));
 }
 
 /*
@@ -442,8 +453,8 @@ SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
   Cast a pointer up an inheritance hierarchy
 */
 SWIGRUNTIMEINLINE void *
-SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
-  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
+SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
+  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
 }
 
 /* 
@@ -867,7 +878,7 @@ SWIG_Python_AddErrorMsg(const char* mesg)
     Py_DECREF(old_str);
     Py_DECREF(value);
   } else {
-    PyErr_Format(PyExc_RuntimeError, mesg);
+    PyErr_SetString(PyExc_RuntimeError, mesg);
   }
 }
 
@@ -1107,14 +1118,14 @@ SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
 /* Unpack the argument tuple */
 
 SWIGINTERN int
-SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs)
+SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
 {
   if (!args) {
     if (!min && !max) {
       return 1;
     } else {
       PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", 
-                  name, (min == max ? "" : "at least "), min);
+                  name, (min == max ? "" : "at least "), (int)min);
       return 0;
     }
   }  
@@ -1122,14 +1133,14 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyOb
     PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
     return 0;
   } else {
-    register int l = PyTuple_GET_SIZE(args);
+    register Py_ssize_t l = PyTuple_GET_SIZE(args);
     if (l < min) {
       PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", 
-                  name, (min == max ? "" : "at least "), min, l);
+                  name, (min == max ? "" : "at least "), (int)min, (int)l);
       return 0;
     } else if (l > max) {
       PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", 
-                  name, (min == max ? "" : "at most "), max, l);
+                  name, (min == max ? "" : "at most "), (int)max, (int)l);
       return 0;
     } else {
       register int i;
@@ -1427,7 +1438,7 @@ PySwigObject_dealloc(PyObject *v)
 {
   PySwigObject *sobj = (PySwigObject *) v;
   PyObject *next = sobj->next;
-  if (sobj->own) {
+  if (sobj->own == SWIG_POINTER_OWN) {
     swig_type_info *ty = sobj->ty;
     PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
     PyObject *destroy = data ? data->destroy : 0;
@@ -1445,12 +1456,13 @@ PySwigObject_dealloc(PyObject *v)
        res = ((*meth)(mself, v));
       }
       Py_XDECREF(res);
-    } else {
-      const char *name = SWIG_TypePrettyName(ty);
+    } 
 #if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
-      printf("swig/python detected a memory leak of type '%s', no destructor found.\n", name);
-#endif
+    else {
+      const char *name = SWIG_TypePrettyName(ty);
+      printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
     }
+#endif
   } 
   Py_XDECREF(next);
   PyObject_DEL(v);
@@ -1608,9 +1620,11 @@ _PySwigObject_type(void) {
     (unaryfunc)0,                 /*nb_float*/
     (unaryfunc)PySwigObject_oct,  /*nb_oct*/
     (unaryfunc)PySwigObject_hex,  /*nb_hex*/
-#if PY_VERSION_HEX >= 0x02020000
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ 
-#elif PY_VERSION_HEX >= 0x02000000
+#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
+#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
+#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
     0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
 #endif
   };
@@ -1953,7 +1967,7 @@ SWIG_Python_GetSwigThis(PyObject *pyobj)
 
 SWIGRUNTIME int
 SWIG_Python_AcquirePtr(PyObject *obj, int own) {
-  if (own) {
+  if (own == SWIG_POINTER_OWN) {
     PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
     if (sobj) {
       int oldown = sobj->own;
@@ -1974,6 +1988,8 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
     return SWIG_OK;
   } else {
     PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
+    if (own)
+      *own = 0;
     while (sobj) {
       void *vptr = sobj->ptr;
       if (ty) {
@@ -1987,7 +2003,15 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
          if (!tc) {
            sobj = (PySwigObject *)sobj->next;
          } else {
-           if (ptr) *ptr = SWIG_TypeCast(tc,vptr);
+           if (ptr) {
+              int newmemory = 0;
+              *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
+              if (newmemory == SWIG_CAST_NEW_MEMORY) {
+                assert(own);
+                if (own)
+                  *own = *own | SWIG_CAST_NEW_MEMORY;
+              }
+            }
            break;
          }
        }
@@ -1997,7 +2021,8 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
       }
     }
     if (sobj) {
-      if (own) *own = sobj->own;
+      if (own)
+        *own = *own | sobj->own;
       if (flags & SWIG_POINTER_DISOWN) {
        sobj->own = 0;
       }
@@ -2062,8 +2087,13 @@ SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
     }
     if (ty) {
       swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
-      if (!tc) return SWIG_ERROR;
-      *ptr = SWIG_TypeCast(tc,vptr);
+      if (tc) {
+        int newmemory = 0;
+        *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
+        assert(!newmemory); /* newmemory handling not yet implemented */
+      } else {
+        return SWIG_ERROR;
+      }
     } else {
       *ptr = vptr;
     }
@@ -2570,15 +2600,15 @@ static PyAPI_FUNC(double) PyFloat_AS_DOUBLE (PyObject *obj) {
 #define SWIGTYPE_p_CvTermCriteria swig_types[71]
 #define SWIGTYPE_p_CvTreeNodeIterator swig_types[72]
 #define SWIGTYPE_p_CvTypeInfo swig_types[73]
-#define SWIGTYPE_p_CvTypedSeqTCvConnectedComp_t swig_types[74]
-#define SWIGTYPE_p_CvTypedSeqTCvPoint2D32f_t swig_types[75]
-#define SWIGTYPE_p_CvTypedSeqTCvPoint_t swig_types[76]
-#define SWIGTYPE_p_CvTypedSeqTCvQuadEdge2D_t swig_types[77]
-#define SWIGTYPE_p_CvTypedSeqTCvRect_t swig_types[78]
-#define SWIGTYPE_p_CvTypedSeqTCvSeq_p_t swig_types[79]
-#define SWIGTYPE_p_CvTypedSeqTCvTupleTCvPoint_2_t_t swig_types[80]
-#define SWIGTYPE_p_CvTypedSeqTCvTupleTfloat_2_t_t swig_types[81]
-#define SWIGTYPE_p_CvTypedSeqTCvTupleTfloat_3_t_t swig_types[82]
+#define SWIGTYPE_p_CvTypedSeqT_CvConnectedComp_t swig_types[74]
+#define SWIGTYPE_p_CvTypedSeqT_CvPoint2D32f_t swig_types[75]
+#define SWIGTYPE_p_CvTypedSeqT_CvPoint_t swig_types[76]
+#define SWIGTYPE_p_CvTypedSeqT_CvQuadEdge2D_t swig_types[77]
+#define SWIGTYPE_p_CvTypedSeqT_CvRect_t swig_types[78]
+#define SWIGTYPE_p_CvTypedSeqT_CvSeq_p_t swig_types[79]
+#define SWIGTYPE_p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t swig_types[80]
+#define SWIGTYPE_p_CvTypedSeqT_CvTupleT_float_2_t_t swig_types[81]
+#define SWIGTYPE_p_CvTypedSeqT_CvTupleT_float_3_t_t swig_types[82]
 #define SWIGTYPE_p_CvVideoWriter swig_types[83]
 #define SWIGTYPE_p_CvvImage swig_types[84]
 #define SWIGTYPE_p__IplConvKernel swig_types[85]
@@ -2594,15 +2624,16 @@ static PyAPI_FUNC(double) PyFloat_AS_DOUBLE (PyObject *obj) {
 #define SWIGTYPE_p_int swig_types[95]
 #define SWIGTYPE_p_long_long swig_types[96]
 #define SWIGTYPE_p_p_char swig_types[97]
-#define SWIGTYPE_p_size_t swig_types[98]
-#define SWIGTYPE_p_size_type swig_types[99]
-#define SWIGTYPE_p_unsigned_char swig_types[100]
-#define SWIGTYPE_p_unsigned_long_long swig_types[101]
-#define SWIGTYPE_p_unsigned_short swig_types[102]
-#define SWIGTYPE_p_value_type swig_types[103]
-#define SWIGTYPE_p_void swig_types[104]
-static swig_type_info *swig_types[106];
-static swig_module_info swig_module = {swig_types, 105, 0, 0, 0, 0};
+#define SWIGTYPE_p_signed_char swig_types[98]
+#define SWIGTYPE_p_size_t swig_types[99]
+#define SWIGTYPE_p_size_type swig_types[100]
+#define SWIGTYPE_p_unsigned_char swig_types[101]
+#define SWIGTYPE_p_unsigned_long_long swig_types[102]
+#define SWIGTYPE_p_unsigned_short swig_types[103]
+#define SWIGTYPE_p_value_type swig_types[104]
+#define SWIGTYPE_p_void swig_types[105]
+static swig_type_info *swig_types[107];
+static swig_module_info swig_module = {swig_types, 106, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -2621,7 +2652,7 @@ static swig_module_info swig_module = {swig_types, 105, 0, 0, 0, 0};
 
 #define SWIG_name    "_highgui"
 
-#define SWIGVERSION 0x010331 
+#define SWIGVERSION 0x010335 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -2649,7 +2680,9 @@ namespace swig {
     
     PyObject_ptr(PyObject *obj, bool initial_ref = true) :_obj(obj)
     {
-      if (initial_ref) Py_XINCREF(_obj);
+      if (initial_ref) {
+        Py_XINCREF(_obj);
+      }
     }
     
     PyObject_ptr & operator=(const PyObject_ptr& item) 
@@ -2815,6 +2848,16 @@ static CvPoint2D32f PyObject_to_CvPoint2D32f(PyObject * obj){
        return cvPoint2D32f(0,0);
 }
 
+/* Check if this object can be interpreted as a CvScalar */
+static bool CvScalar_Check(PyObject * obj){
+       void * vptr;
+    CvScalar val;
+       return SWIG_ConvertPtr(obj, &vptr, SWIGTYPE_p_CvScalar,     0 ) != -1 ||
+              SWIG_ConvertPtr(obj, &vptr, SWIGTYPE_p_CvPoint2D32f, 0 ) != -1 ||
+           SWIG_ConvertPtr(obj, &vptr, SWIGTYPE_p_CvPoint,      0 ) != -1 ||
+              PyObject_AsDoubleArray(obj, val.val, 4) !=-1;
+}
+
 static CvScalar PyObject_to_CvScalar(PyObject * obj){
        CvScalar val;
        CvScalar * ptr;
@@ -3086,14 +3129,12 @@ SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
 
 
 #include <limits.h>
-#ifndef LLONG_MIN
-# define LLONG_MIN     LONG_LONG_MIN
-#endif
-#ifndef LLONG_MAX
-# define LLONG_MAX     LONG_LONG_MAX
-#endif
-#ifndef ULLONG_MAX
-# define ULLONG_MAX    ULONG_LONG_MAX
+#if !defined(SWIG_NO_LLONG_MAX)
+# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
+#   define LLONG_MAX __LONG_LONG_MAX__
+#   define LLONG_MIN (-LLONG_MAX - 1LL)
+#   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
+# endif
 #endif
 
 
@@ -3173,7 +3214,7 @@ SWIG_AsVal_size_t (PyObject * obj, size_t *val)
        /* This encapsulates the python callback and user_data for mouse callback */
        struct PyCvMouseCBData {
                PyObject * py_func;
-               void * user_data;
+               PyObject * user_data;
        };
        /* This encapsulates the python callback and user_data for mouse callback */
     /* C helper function which is responsible for calling
@@ -3191,7 +3232,7 @@ SWIG_AsVal_size_t (PyObject * obj, size_t *val)
                PyObject *arg2 = PyInt_FromLong (x);
                PyObject *arg3 = PyInt_FromLong (y);
                PyObject *arg4 = PyInt_FromLong (flags);
-               PyObject *arg5 = (PyObject *)param->user_data;  // assume this is already a PyObject
+               PyObject *arg5 = param->user_data;  // assume this is already a PyObject
 
                /* build the tuple for calling the Python callback */
                PyObject *arglist = Py_BuildValue ("(OOOOO)",
@@ -3214,11 +3255,15 @@ SWIG_AsVal_size_t (PyObject * obj, size_t *val)
        }
 
 
-       void cvSetMouseCallbackPy( const char* window_name, PyObject * on_mouse, void* param=NULL ){
+       void cvSetMouseCallbackPy( const char* window_name, PyObject * on_mouse, PyObject * param=NULL ){
                // TODO potential memory leak if mouse callback is redefined
                PyCvMouseCBData * py_callback = new PyCvMouseCBData;
                py_callback->py_func = on_mouse;
                py_callback->user_data = param ? param : Py_None;
+
+        Py_XINCREF(py_callback->py_func);
+        Py_XINCREF(py_callback->user_data);
+            
                cvSetMouseCallback( window_name, (CvMouseCallback) icvPyOnMouse, (void *) py_callback );
        }
 
@@ -3407,17 +3452,22 @@ namespace swig {
     // C++ common/needed methods
     virtual PySwigIterator *copy() const = 0;
 
-    PyObject *next()
+    PyObject *next()     
     {
+      SWIG_PYTHON_THREAD_BEGIN_BLOCK; // disable threads       
       PyObject *obj = value();
-      incr();
-      return obj;
+      incr();       
+      SWIG_PYTHON_THREAD_END_BLOCK; // re-enable threads
+      return obj;     
     }
 
     PyObject *previous()
     {
+      SWIG_PYTHON_THREAD_BEGIN_BLOCK; // disable threads       
       decr();
-      return value();
+      PyObject *obj = value();
+      SWIG_PYTHON_THREAD_END_BLOCK; // re-enable threads       
+      return obj;
     }
 
     PySwigIterator *advance(ptrdiff_t n)
@@ -4283,12 +4333,12 @@ namespace swig
 
     ~PySequence_Cont()
     {
-      if (_seq) Py_DECREF(_seq);
+      Py_XDECREF(_seq);
     }
 
     size_type size() const
     {
-      return PySequence_Size(_seq);
+      return static_cast<size_type>(PySequence_Size(_seq));
     }
 
     bool empty() const
@@ -4617,7 +4667,7 @@ SWIGINTERN PyObject *_wrap_delete_CvRNG_Wrapper(PyObject *SWIGUNUSEDPARM(self),
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -4629,7 +4679,7 @@ fail:
 
 SWIGINTERN PyObject *CvRNG_Wrapper_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_CvRNG_Wrapper, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -4792,7 +4842,7 @@ SWIGINTERN PyObject *_wrap_delete_CvSubdiv2DEdge_Wrapper(PyObject *SWIGUNUSEDPAR
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -4804,7 +4854,7 @@ fail:
 
 SWIGINTERN PyObject *CvSubdiv2DEdge_Wrapper_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_CvSubdiv2DEdge_Wrapper, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -4813,11 +4863,10 @@ SWIGINTERN PyObject *_wrap_cvSetMouseCallback__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
-  void *arg3 = (void *) 0 ;
+  PyObject *arg3 = (PyObject *) 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
-  int res3 ;
   PyObject * obj0 = 0 ;
   PyObject * obj1 = 0 ;
   PyObject * obj2 = 0 ;
@@ -4829,10 +4878,7 @@ SWIGINTERN PyObject *_wrap_cvSetMouseCallback__SWIG_0(PyObject *SWIGUNUSEDPARM(s
   }
   arg1 = reinterpret_cast< char * >(buf1);
   arg2 = obj1;
-  res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3), 0, 0);
-  if (!SWIG_IsOK(res3)) {
-    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "cvSetMouseCallback" "', argument " "3"" of type '" "void *""'"); 
-  }
+  arg3 = obj2;
   cvSetMouseCallbackPy((char const *)arg1,arg2,arg3);
   resultobj = SWIG_Py_Void();
   if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
@@ -4876,7 +4922,7 @@ SWIGINTERN PyObject *_wrap_cvSetMouseCallback(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = PyObject_Length(args);
+  argc = (int)PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -4898,9 +4944,7 @@ SWIGINTERN PyObject *_wrap_cvSetMouseCallback(PyObject *self, PyObject *args) {
     if (_v) {
       _v = (argv[1] != 0);
       if (_v) {
-        void *ptr = 0;
-        int res = SWIG_ConvertPtr(argv[2], &ptr, 0, 0);
-        _v = SWIG_CheckState(res);
+        _v = (argv[2] != 0);
         if (_v) {
           return _wrap_cvSetMouseCallback__SWIG_0(self, args);
         }
@@ -4909,7 +4953,10 @@ SWIGINTERN PyObject *_wrap_cvSetMouseCallback(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cvSetMouseCallback'.\n  Possible C/C++ prototypes are:\n    cvSetMouseCallbackPy(char const *,PyObject *,void *)\n    cvSetMouseCallbackPy(char const *,PyObject *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cvSetMouseCallback'.\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    cvSetMouseCallbackPy(char const *,PyObject *,PyObject *)\n"
+    "    cvSetMouseCallbackPy(char const *,PyObject *)\n");
   return NULL;
 }
 
@@ -5020,34 +5067,34 @@ static void icvPyTrackbarCB9(int pos){
 
 
        PyCvTrackbar my_trackbar_cb_funcs[ICV_PY_MAX_CB] = {
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB0, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB1, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB2, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB3, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB4, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB5, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB6, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB7, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB8, NULL, NULL }
 /*@SWIG@*/,
-               /*@SWIG:%ICV_PY_CB_TAB_ENTRY@*/
+               /*@SWIG:highgui.i,176,%ICV_PY_CB_TAB_ENTRY@*/
        {(CvTrackbarCallback) icvPyTrackbarCB9, NULL, NULL }
 /*@SWIG@*/
        };
@@ -5093,7 +5140,7 @@ SWIGINTERN PyObject *_wrap_cvWaitKey(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = PyObject_Length(args);
+  argc = (int)PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 1); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -5112,7 +5159,10 @@ SWIGINTERN PyObject *_wrap_cvWaitKey(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cvWaitKey'.\n  Possible C/C++ prototypes are:\n    cvWaitKeyPy(int)\n    cvWaitKeyPy()\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cvWaitKey'.\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    cvWaitKeyPy(int)\n"
+    "    cvWaitKeyPy()\n");
   return NULL;
 }
 
@@ -5147,7 +5197,7 @@ SWIGINTERN PyObject *_wrap_cvLoadImage__SWIG_0(PyObject *SWIGUNUSEDPARM(self), P
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvMat, SWIG_POINTER_OWN |  0 );
@@ -5180,7 +5230,7 @@ SWIGINTERN PyObject *_wrap_cvLoadImage__SWIG_1(PyObject *SWIGUNUSEDPARM(self), P
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvMat, SWIG_POINTER_OWN |  0 );
@@ -5198,7 +5248,7 @@ SWIGINTERN PyObject *_wrap_cvLoadImage(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = PyObject_Length(args);
+  argc = (int)PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 2); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -5226,7 +5276,10 @@ SWIGINTERN PyObject *_wrap_cvLoadImage(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cvLoadImage'.\n  Possible C/C++ prototypes are:\n    cvLoadImageMat(char const *,int)\n    cvLoadImageMat(char const *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'cvLoadImage'.\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    cvLoadImageMat(char const *,int)\n"
+    "    cvLoadImageMat(char const *)\n");
   return NULL;
 }
 
@@ -5251,7 +5304,7 @@ SWIGINTERN PyObject *_wrap_cvRetrieveFrame(PyObject *SWIGUNUSEDPARM(self), PyObj
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvMat, 0 |  0 );
@@ -5281,7 +5334,7 @@ SWIGINTERN PyObject *_wrap_cvQueryFrame(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvMat, 0 |  0 );
@@ -5338,7 +5391,7 @@ SWIGINTERN PyObject *_wrap_CV_FOURCC(PyObject *SWIGUNUSEDPARM(self), PyObject *a
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -5379,7 +5432,7 @@ SWIGINTERN PyObject *_wrap_cvInitSystem(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -5400,7 +5453,7 @@ SWIGINTERN PyObject *_wrap_cvStartWindowThread(PyObject *SWIGUNUSEDPARM(self), P
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -5442,7 +5495,7 @@ SWIGINTERN PyObject *_wrap_cvNamedWindow(PyObject *SWIGUNUSEDPARM(self), PyObjec
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -5480,7 +5533,7 @@ SWIGINTERN PyObject *_wrap_cvShowImage(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -5542,7 +5595,7 @@ SWIGINTERN PyObject *_wrap_cvResizeWindow(PyObject *SWIGUNUSEDPARM(self), PyObje
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -5592,7 +5645,7 @@ SWIGINTERN PyObject *_wrap_cvMoveWindow(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -5624,7 +5677,7 @@ SWIGINTERN PyObject *_wrap_cvDestroyWindow(PyObject *SWIGUNUSEDPARM(self), PyObj
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -5646,7 +5699,7 @@ SWIGINTERN PyObject *_wrap_cvDestroyAllWindows(PyObject *SWIGUNUSEDPARM(self), P
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -5677,7 +5730,7 @@ SWIGINTERN PyObject *_wrap_cvGetWindowHandle(PyObject *SWIGUNUSEDPARM(self), PyO
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 |  0 );
@@ -5707,7 +5760,7 @@ SWIGINTERN PyObject *_wrap_cvGetWindowName(PyObject *SWIGUNUSEDPARM(self), PyObj
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_FromCharPtr((const char *)result);
@@ -5766,7 +5819,12 @@ SWIGINTERN PyObject *_wrap_cvCreateTrackbar(PyObject *SWIGUNUSEDPARM(self), PyOb
     
     my_trackbar_cb_size++;
     
-    /* memorize the Python address of the callback function */
+    if (!PyCallable_Check(obj4)) {
+      PyErr_SetString(PyExc_TypeError, "parameter must be callable");
+      return 0;
+    }
+    Py_XINCREF((PyObject*) obj4);         /* Add a reference to new callback */
+    Py_XDECREF(my_trackbar_cb_funcs[my_trackbar_cb_size-1].py_func);  /* Dispose of previous callback */
     my_trackbar_cb_funcs[my_trackbar_cb_size-1].py_func = (PyObject *) obj4;
     
     /* prepare to call the C function who will register the callback */
@@ -5778,7 +5836,7 @@ SWIGINTERN PyObject *_wrap_cvCreateTrackbar(PyObject *SWIGUNUSEDPARM(self), PyOb
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -5823,7 +5881,7 @@ SWIGINTERN PyObject *_wrap_cvGetTrackbarPos(PyObject *SWIGUNUSEDPARM(self), PyOb
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -5876,7 +5934,7 @@ SWIGINTERN PyObject *_wrap_cvSetTrackbarPos(PyObject *SWIGUNUSEDPARM(self), PyOb
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -5927,7 +5985,7 @@ SWIGINTERN PyObject *_wrap_cvSetMouseCallbackOld(PyObject *SWIGUNUSEDPARM(self),
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -5971,7 +6029,7 @@ SWIGINTERN PyObject *_wrap_cvLoadImageM(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvMat, SWIG_POINTER_OWN |  0 );
@@ -6010,7 +6068,7 @@ SWIGINTERN PyObject *_wrap_cvSaveImage(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -6067,7 +6125,7 @@ SWIGINTERN PyObject *_wrap_cvConvertImage(PyObject *SWIGUNUSEDPARM(self), PyObje
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -6123,7 +6181,7 @@ SWIGINTERN PyObject *_wrap_cvWaitKeyC(PyObject *SWIGUNUSEDPARM(self), PyObject *
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -6154,7 +6212,7 @@ SWIGINTERN PyObject *_wrap_cvCreateFileCapture(PyObject *SWIGUNUSEDPARM(self), P
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvCapture, 0 |  0 );
@@ -6186,7 +6244,7 @@ SWIGINTERN PyObject *_wrap_cvCreateCameraCapture(PyObject *SWIGUNUSEDPARM(self),
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvCapture, 0 |  0 );
@@ -6216,7 +6274,7 @@ SWIGINTERN PyObject *_wrap_cvGrabFrame(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -6246,7 +6304,7 @@ SWIGINTERN PyObject *_wrap_cvRetrieveFrame__Deprecated(PyObject *SWIGUNUSEDPARM(
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   {
@@ -6279,7 +6337,7 @@ SWIGINTERN PyObject *_wrap_cvQueryFrame__Deprecated(PyObject *SWIGUNUSEDPARM(sel
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   {
@@ -6321,7 +6379,7 @@ SWIGINTERN PyObject *_wrap_cvGetCaptureProperty(PyObject *SWIGUNUSEDPARM(self),
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_double(static_cast< double >(result));
@@ -6369,7 +6427,7 @@ SWIGINTERN PyObject *_wrap_cvSetCaptureProperty(PyObject *SWIGUNUSEDPARM(self),
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -6446,7 +6504,7 @@ SWIGINTERN PyObject *_wrap_cvCreateVideoWriter(PyObject *SWIGUNUSEDPARM(self), P
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvVideoWriter, SWIG_POINTER_OWN |  0 );
@@ -6490,7 +6548,7 @@ SWIGINTERN PyObject *_wrap_cvWriteFrame(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -6511,7 +6569,7 @@ SWIGINTERN PyObject *_wrap_new_CvvImage(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CvvImage, SWIG_POINTER_NEW |  0 );
@@ -6540,7 +6598,7 @@ SWIGINTERN PyObject *_wrap_delete_CvvImage(PyObject *SWIGUNUSEDPARM(self), PyObj
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -6606,7 +6664,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Create__SWIG_0(PyObject *SWIGUNUSEDPARM(self
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_bool(static_cast< bool >(result));
@@ -6663,7 +6721,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Create__SWIG_1(PyObject *SWIGUNUSEDPARM(self
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_bool(static_cast< bool >(result));
@@ -6679,7 +6737,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Create(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = PyObject_Length(args);
+  argc = (int)PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 5); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -6745,7 +6803,10 @@ SWIGINTERN PyObject *_wrap_CvvImage_Create(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CvvImage_Create'.\n  Possible C/C++ prototypes are:\n    Create(int,int,int,int)\n    Create(int,int,int)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CvvImage_Create'.\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    Create(CvvImage *,int,int,int,int)\n"
+    "    Create(CvvImage *,int,int,int)\n");
   return NULL;
 }
 
@@ -6789,7 +6850,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Load__SWIG_0(PyObject *SWIGUNUSEDPARM(self),
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_bool(static_cast< bool >(result));
@@ -6831,7 +6892,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Load__SWIG_1(PyObject *SWIGUNUSEDPARM(self),
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_bool(static_cast< bool >(result));
@@ -6849,7 +6910,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Load(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = PyObject_Length(args);
+  argc = (int)PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -6887,7 +6948,10 @@ SWIGINTERN PyObject *_wrap_CvvImage_Load(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CvvImage_Load'.\n  Possible C/C++ prototypes are:\n    Load(char const *,int)\n    Load(char const *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CvvImage_Load'.\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    Load(CvvImage *,char const *,int)\n"
+    "    Load(CvvImage *,char const *)\n");
   return NULL;
 }
 
@@ -6948,7 +7012,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_LoadRect(PyObject *SWIGUNUSEDPARM(self), PyO
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_bool(static_cast< bool >(result));
@@ -6990,7 +7054,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Save(PyObject *SWIGUNUSEDPARM(self), PyObjec
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_bool(static_cast< bool >(result));
@@ -7042,7 +7106,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_CopyOf__SWIG_0(PyObject *SWIGUNUSEDPARM(self
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -7083,7 +7147,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_CopyOf__SWIG_1(PyObject *SWIGUNUSEDPARM(self
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -7133,7 +7197,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_CopyOf__SWIG_2(PyObject *SWIGUNUSEDPARM(self
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -7174,7 +7238,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_CopyOf__SWIG_3(PyObject *SWIGUNUSEDPARM(self
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -7190,7 +7254,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_CopyOf(PyObject *self, PyObject *args) {
   int ii;
   
   if (!PyTuple_Check(args)) SWIG_fail;
-  argc = PyObject_Length(args);
+  argc = (int)PyObject_Length(args);
   for (ii = 0; (ii < argc) && (ii < 3); ii++) {
     argv[ii] = PyTuple_GET_ITEM(args,ii);
   }
@@ -7264,7 +7328,12 @@ SWIGINTERN PyObject *_wrap_CvvImage_CopyOf(PyObject *self, PyObject *args) {
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CvvImage_CopyOf'.\n  Possible C/C++ prototypes are:\n    CopyOf(CvvImage &,int)\n    CopyOf(CvvImage &)\n    CopyOf(IplImage *,int)\n    CopyOf(IplImage *)\n");
+  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'CvvImage_CopyOf'.\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    CopyOf(CvvImage *,CvvImage &,int)\n"
+    "    CopyOf(CvvImage *,CvvImage &)\n"
+    "    CopyOf(CvvImage *,IplImage *,int)\n"
+    "    CopyOf(CvvImage *,IplImage *)\n");
   return NULL;
 }
 
@@ -7289,7 +7358,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_GetImage(PyObject *SWIGUNUSEDPARM(self), PyO
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   {
@@ -7321,7 +7390,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Destroy(PyObject *SWIGUNUSEDPARM(self), PyOb
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -7351,7 +7420,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Width(PyObject *SWIGUNUSEDPARM(self), PyObje
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -7381,7 +7450,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Height(PyObject *SWIGUNUSEDPARM(self), PyObj
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -7411,7 +7480,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Bpp(PyObject *SWIGUNUSEDPARM(self), PyObject
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_From_int(static_cast< int >(result));
@@ -7449,7 +7518,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Fill(PyObject *SWIGUNUSEDPARM(self), PyObjec
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -7488,7 +7557,7 @@ SWIGINTERN PyObject *_wrap_CvvImage_Show(PyObject *SWIGUNUSEDPARM(self), PyObjec
     } 
     catch (...) 
     {
-      return NULL;
+      SWIG_fail;
     } 
   }
   resultobj = SWIG_Py_Void();
@@ -7502,7 +7571,7 @@ fail:
 
 SWIGINTERN PyObject *CvvImage_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O|swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_CvvImage, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -7513,62 +7582,82 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"CvRNG_Wrapper_ref", _wrap_CvRNG_Wrapper_ref, METH_VARARGS, NULL},
         { (char *)"CvRNG_Wrapper___eq__", _wrap_CvRNG_Wrapper___eq__, METH_VARARGS, NULL},
         { (char *)"CvRNG_Wrapper___ne__", _wrap_CvRNG_Wrapper___ne__, METH_VARARGS, NULL},
-        { (char *)"delete_CvRNG_Wrapper", _wrap_delete_CvRNG_Wrapper, METH_VARARGS, NULL},
+        { (char *)"delete_CvRNG_Wrapper", _wrap_delete_CvRNG_Wrapper, METH_VARARGS, (char *)"delete_CvRNG_Wrapper(CvRNG_Wrapper self)"},
         { (char *)"CvRNG_Wrapper_swigregister", CvRNG_Wrapper_swigregister, METH_VARARGS, NULL},
         { (char *)"new_CvSubdiv2DEdge_Wrapper", _wrap_new_CvSubdiv2DEdge_Wrapper, METH_VARARGS, NULL},
         { (char *)"CvSubdiv2DEdge_Wrapper_ptr", _wrap_CvSubdiv2DEdge_Wrapper_ptr, METH_VARARGS, NULL},
         { (char *)"CvSubdiv2DEdge_Wrapper_ref", _wrap_CvSubdiv2DEdge_Wrapper_ref, METH_VARARGS, NULL},
         { (char *)"CvSubdiv2DEdge_Wrapper___eq__", _wrap_CvSubdiv2DEdge_Wrapper___eq__, METH_VARARGS, NULL},
         { (char *)"CvSubdiv2DEdge_Wrapper___ne__", _wrap_CvSubdiv2DEdge_Wrapper___ne__, METH_VARARGS, NULL},
-        { (char *)"delete_CvSubdiv2DEdge_Wrapper", _wrap_delete_CvSubdiv2DEdge_Wrapper, METH_VARARGS, NULL},
+        { (char *)"delete_CvSubdiv2DEdge_Wrapper", _wrap_delete_CvSubdiv2DEdge_Wrapper, METH_VARARGS, (char *)"delete_CvSubdiv2DEdge_Wrapper(CvSubdiv2DEdge_Wrapper self)"},
         { (char *)"CvSubdiv2DEdge_Wrapper_swigregister", CvSubdiv2DEdge_Wrapper_swigregister, METH_VARARGS, NULL},
         { (char *)"cvSetMouseCallback", _wrap_cvSetMouseCallback, METH_VARARGS, NULL},
         { (char *)"cvWaitKey", _wrap_cvWaitKey, METH_VARARGS, NULL},
-        { (char *)"cvLoadImage", _wrap_cvLoadImage, METH_VARARGS, NULL},
-        { (char *)"cvRetrieveFrame", _wrap_cvRetrieveFrame, METH_VARARGS, NULL},
-        { (char *)"cvQueryFrame", _wrap_cvQueryFrame, METH_VARARGS, NULL},
-        { (char *)"CV_FOURCC", _wrap_CV_FOURCC, METH_VARARGS, NULL},
-        { (char *)"cvInitSystem", _wrap_cvInitSystem, METH_VARARGS, NULL},
-        { (char *)"cvStartWindowThread", _wrap_cvStartWindowThread, METH_VARARGS, NULL},
-        { (char *)"cvNamedWindow", _wrap_cvNamedWindow, METH_VARARGS, NULL},
-        { (char *)"cvShowImage", _wrap_cvShowImage, METH_VARARGS, NULL},
-        { (char *)"cvResizeWindow", _wrap_cvResizeWindow, METH_VARARGS, NULL},
-        { (char *)"cvMoveWindow", _wrap_cvMoveWindow, METH_VARARGS, NULL},
-        { (char *)"cvDestroyWindow", _wrap_cvDestroyWindow, METH_VARARGS, NULL},
-        { (char *)"cvDestroyAllWindows", _wrap_cvDestroyAllWindows, METH_VARARGS, NULL},
-        { (char *)"cvGetWindowHandle", _wrap_cvGetWindowHandle, METH_VARARGS, NULL},
-        { (char *)"cvGetWindowName", _wrap_cvGetWindowName, METH_VARARGS, NULL},
-        { (char *)"cvCreateTrackbar", _wrap_cvCreateTrackbar, METH_VARARGS, NULL},
-        { (char *)"cvGetTrackbarPos", _wrap_cvGetTrackbarPos, METH_VARARGS, NULL},
-        { (char *)"cvSetTrackbarPos", _wrap_cvSetTrackbarPos, METH_VARARGS, NULL},
-        { (char *)"cvSetMouseCallbackOld", _wrap_cvSetMouseCallbackOld, METH_VARARGS, NULL},
-        { (char *)"cvLoadImageM", _wrap_cvLoadImageM, METH_VARARGS, NULL},
-        { (char *)"cvSaveImage", _wrap_cvSaveImage, METH_VARARGS, NULL},
-        { (char *)"cvConvertImage", _wrap_cvConvertImage, METH_VARARGS, NULL},
-        { (char *)"cvWaitKeyC", _wrap_cvWaitKeyC, METH_VARARGS, NULL},
-        { (char *)"cvCreateFileCapture", _wrap_cvCreateFileCapture, METH_VARARGS, NULL},
-        { (char *)"cvCreateCameraCapture", _wrap_cvCreateCameraCapture, METH_VARARGS, NULL},
-        { (char *)"cvGrabFrame", _wrap_cvGrabFrame, METH_VARARGS, NULL},
-        { (char *)"cvRetrieveFrame__Deprecated", _wrap_cvRetrieveFrame__Deprecated, METH_VARARGS, NULL},
-        { (char *)"cvQueryFrame__Deprecated", _wrap_cvQueryFrame__Deprecated, METH_VARARGS, NULL},
-        { (char *)"cvGetCaptureProperty", _wrap_cvGetCaptureProperty, METH_VARARGS, NULL},
-        { (char *)"cvSetCaptureProperty", _wrap_cvSetCaptureProperty, METH_VARARGS, NULL},
-        { (char *)"cvCreateVideoWriter", _wrap_cvCreateVideoWriter, METH_VARARGS, NULL},
-        { (char *)"cvWriteFrame", _wrap_cvWriteFrame, METH_VARARGS, NULL},
-        { (char *)"new_CvvImage", _wrap_new_CvvImage, METH_VARARGS, NULL},
-        { (char *)"delete_CvvImage", _wrap_delete_CvvImage, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Create", _wrap_CvvImage_Create, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Load", _wrap_CvvImage_Load, METH_VARARGS, NULL},
-        { (char *)"CvvImage_LoadRect", _wrap_CvvImage_LoadRect, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Save", _wrap_CvvImage_Save, METH_VARARGS, NULL},
-        { (char *)"CvvImage_CopyOf", _wrap_CvvImage_CopyOf, METH_VARARGS, NULL},
-        { (char *)"CvvImage_GetImage", _wrap_CvvImage_GetImage, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Destroy", _wrap_CvvImage_Destroy, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Width", _wrap_CvvImage_Width, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Height", _wrap_CvvImage_Height, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Bpp", _wrap_CvvImage_Bpp, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Fill", _wrap_CvvImage_Fill, METH_VARARGS, NULL},
-        { (char *)"CvvImage_Show", _wrap_CvvImage_Show, METH_VARARGS, NULL},
+        { (char *)"cvLoadImage", _wrap_cvLoadImage, METH_VARARGS, (char *)"\n"
+               "cvLoadImage(char filename, int iscolor=1) -> CvMat\n"
+               "cvLoadImage(char filename) -> CvMat\n"
+               ""},
+        { (char *)"cvRetrieveFrame", _wrap_cvRetrieveFrame, METH_VARARGS, (char *)"cvRetrieveFrame(CvCapture capture) -> CvMat"},
+        { (char *)"cvQueryFrame", _wrap_cvQueryFrame, METH_VARARGS, (char *)"cvQueryFrame(CvCapture capture) -> CvMat"},
+        { (char *)"CV_FOURCC", _wrap_CV_FOURCC, METH_VARARGS, (char *)"CV_FOURCC(char c1, char c2, char c3, char c4) -> int"},
+        { (char *)"cvInitSystem", _wrap_cvInitSystem, METH_VARARGS, (char *)"cvInitSystem(int argc, char argv) -> int"},
+        { (char *)"cvStartWindowThread", _wrap_cvStartWindowThread, METH_VARARGS, (char *)"cvStartWindowThread() -> int"},
+        { (char *)"cvNamedWindow", _wrap_cvNamedWindow, METH_VARARGS, (char *)"cvNamedWindow(char name, int flags=1) -> int"},
+        { (char *)"cvShowImage", _wrap_cvShowImage, METH_VARARGS, (char *)"cvShowImage(char name, CvArr image)"},
+        { (char *)"cvResizeWindow", _wrap_cvResizeWindow, METH_VARARGS, (char *)"cvResizeWindow(char name, int width, int height)"},
+        { (char *)"cvMoveWindow", _wrap_cvMoveWindow, METH_VARARGS, (char *)"cvMoveWindow(char name, int x, int y)"},
+        { (char *)"cvDestroyWindow", _wrap_cvDestroyWindow, METH_VARARGS, (char *)"cvDestroyWindow(char name)"},
+        { (char *)"cvDestroyAllWindows", _wrap_cvDestroyAllWindows, METH_VARARGS, (char *)"cvDestroyAllWindows()"},
+        { (char *)"cvGetWindowHandle", _wrap_cvGetWindowHandle, METH_VARARGS, (char *)"cvGetWindowHandle(char name) -> void"},
+        { (char *)"cvGetWindowName", _wrap_cvGetWindowName, METH_VARARGS, (char *)"cvGetWindowName(void window_handle) -> char"},
+        { (char *)"cvCreateTrackbar", _wrap_cvCreateTrackbar, METH_VARARGS, (char *)"\n"
+               "cvCreateTrackbar(char trackbar_name, char window_name, int value, int count, \n"
+               "    CvTrackbarCallback on_change) -> int\n"
+               ""},
+        { (char *)"cvGetTrackbarPos", _wrap_cvGetTrackbarPos, METH_VARARGS, (char *)"cvGetTrackbarPos(char trackbar_name, char window_name) -> int"},
+        { (char *)"cvSetTrackbarPos", _wrap_cvSetTrackbarPos, METH_VARARGS, (char *)"cvSetTrackbarPos(char trackbar_name, char window_name, int pos)"},
+        { (char *)"cvSetMouseCallbackOld", _wrap_cvSetMouseCallbackOld, METH_VARARGS, (char *)"cvSetMouseCallbackOld(char window_name, CvMouseCallback on_mouse, void param=None)"},
+        { (char *)"cvLoadImageM", _wrap_cvLoadImageM, METH_VARARGS, (char *)"cvLoadImageM(char filename, int iscolor=1) -> CvMat"},
+        { (char *)"cvSaveImage", _wrap_cvSaveImage, METH_VARARGS, (char *)"cvSaveImage(char filename, CvArr image) -> int"},
+        { (char *)"cvConvertImage", _wrap_cvConvertImage, METH_VARARGS, (char *)"cvConvertImage(CvArr src, CvArr dst, int flags=0)"},
+        { (char *)"cvWaitKeyC", _wrap_cvWaitKeyC, METH_VARARGS, (char *)"cvWaitKeyC(int delay=0) -> int"},
+        { (char *)"cvCreateFileCapture", _wrap_cvCreateFileCapture, METH_VARARGS, (char *)"cvCreateFileCapture(char filename) -> CvCapture"},
+        { (char *)"cvCreateCameraCapture", _wrap_cvCreateCameraCapture, METH_VARARGS, (char *)"cvCreateCameraCapture(int index) -> CvCapture"},
+        { (char *)"cvGrabFrame", _wrap_cvGrabFrame, METH_VARARGS, (char *)"cvGrabFrame(CvCapture capture) -> int"},
+        { (char *)"cvRetrieveFrame__Deprecated", _wrap_cvRetrieveFrame__Deprecated, METH_VARARGS, (char *)"cvRetrieveFrame__Deprecated(CvCapture capture)"},
+        { (char *)"cvQueryFrame__Deprecated", _wrap_cvQueryFrame__Deprecated, METH_VARARGS, (char *)"cvQueryFrame__Deprecated(CvCapture capture)"},
+        { (char *)"cvGetCaptureProperty", _wrap_cvGetCaptureProperty, METH_VARARGS, (char *)"cvGetCaptureProperty(CvCapture capture, int property_id) -> double"},
+        { (char *)"cvSetCaptureProperty", _wrap_cvSetCaptureProperty, METH_VARARGS, (char *)"cvSetCaptureProperty(CvCapture capture, int property_id, double value) -> int"},
+        { (char *)"cvCreateVideoWriter", _wrap_cvCreateVideoWriter, METH_VARARGS, (char *)"\n"
+               "cvCreateVideoWriter(char filename, int fourcc, double fps, CvSize frame_size, \n"
+               "    int is_color=1) -> CvVideoWriter\n"
+               ""},
+        { (char *)"cvWriteFrame", _wrap_cvWriteFrame, METH_VARARGS, (char *)"cvWriteFrame(CvVideoWriter writer,  image) -> int"},
+        { (char *)"new_CvvImage", _wrap_new_CvvImage, METH_VARARGS, (char *)"new_CvvImage() -> CvvImage"},
+        { (char *)"delete_CvvImage", _wrap_delete_CvvImage, METH_VARARGS, (char *)"delete_CvvImage(CvvImage self)"},
+        { (char *)"CvvImage_Create", _wrap_CvvImage_Create, METH_VARARGS, (char *)"\n"
+               "Create(int width, int height, int bits_per_pixel, int image_origin=0) -> bool\n"
+               "CvvImage_Create(CvvImage self, int width, int height, int bits_per_pixel) -> bool\n"
+               ""},
+        { (char *)"CvvImage_Load", _wrap_CvvImage_Load, METH_VARARGS, (char *)"\n"
+               "Load(char filename, int desired_color=1) -> bool\n"
+               "CvvImage_Load(CvvImage self, char filename) -> bool\n"
+               ""},
+        { (char *)"CvvImage_LoadRect", _wrap_CvvImage_LoadRect, METH_VARARGS, (char *)"CvvImage_LoadRect(CvvImage self, char filename, int desired_color, CvRect r) -> bool"},
+        { (char *)"CvvImage_Save", _wrap_CvvImage_Save, METH_VARARGS, (char *)"CvvImage_Save(CvvImage self, char filename) -> bool"},
+        { (char *)"CvvImage_CopyOf", _wrap_CvvImage_CopyOf, METH_VARARGS, (char *)"\n"
+               "CopyOf(CvvImage image, int desired_color=-1)\n"
+               "CopyOf(CvvImage image)\n"
+               "CopyOf( img, int desired_color=-1)\n"
+               "CvvImage_CopyOf(CvvImage self,  img)\n"
+               ""},
+        { (char *)"CvvImage_GetImage", _wrap_CvvImage_GetImage, METH_VARARGS, (char *)"CvvImage_GetImage(CvvImage self)"},
+        { (char *)"CvvImage_Destroy", _wrap_CvvImage_Destroy, METH_VARARGS, (char *)"CvvImage_Destroy(CvvImage self)"},
+        { (char *)"CvvImage_Width", _wrap_CvvImage_Width, METH_VARARGS, (char *)"CvvImage_Width(CvvImage self) -> int"},
+        { (char *)"CvvImage_Height", _wrap_CvvImage_Height, METH_VARARGS, (char *)"CvvImage_Height(CvvImage self) -> int"},
+        { (char *)"CvvImage_Bpp", _wrap_CvvImage_Bpp, METH_VARARGS, (char *)"CvvImage_Bpp(CvvImage self) -> int"},
+        { (char *)"CvvImage_Fill", _wrap_CvvImage_Fill, METH_VARARGS, (char *)"CvvImage_Fill(CvvImage self, int color)"},
+        { (char *)"CvvImage_Show", _wrap_CvvImage_Show, METH_VARARGS, (char *)"CvvImage_Show(CvvImage self, char window)"},
         { (char *)"CvvImage_swigregister", CvvImage_swigregister, METH_VARARGS, NULL},
         { NULL, NULL, 0, NULL }
 };
@@ -7576,32 +7665,32 @@ static PyMethodDef SwigMethods[] = {
 
 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
 
-static void *_p_CvTypedSeqTCvTupleTCvPoint_2_t_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvTuple<CvPoint,2 > > *) x));
+static void *_p_CvTypedSeqT_CvTupleT_CvPoint_2_t_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvTuple< CvPoint,2 > > *) x));
 }
-static void *_p_CvTypedSeqTCvTupleTfloat_2_t_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvTuple<float,2 > > *) x));
+static void *_p_CvTypedSeqT_CvTupleT_float_2_t_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvTuple< float,2 > > *) x));
 }
-static void *_p_CvTypedSeqTCvConnectedComp_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvConnectedComp > *) x));
+static void *_p_CvTypedSeqT_CvConnectedComp_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvConnectedComp > *) x));
 }
-static void *_p_CvTypedSeqTCvRect_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvRect > *) x));
+static void *_p_CvTypedSeqT_CvRect_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvRect > *) x));
 }
-static void *_p_CvTypedSeqTCvPoint_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvPoint > *) x));
+static void *_p_CvTypedSeqT_CvPoint_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvPoint > *) x));
 }
-static void *_p_CvTypedSeqTCvTupleTfloat_3_t_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvTuple<float,3 > > *) x));
+static void *_p_CvTypedSeqT_CvTupleT_float_3_t_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvTuple< float,3 > > *) x));
 }
-static void *_p_CvTypedSeqTCvSeq_p_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvSeq * > *) x));
+static void *_p_CvTypedSeqT_CvSeq_p_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvSeq * > *) x));
 }
-static void *_p_CvTypedSeqTCvQuadEdge2D_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvQuadEdge2D > *) x));
+static void *_p_CvTypedSeqT_CvQuadEdge2D_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvQuadEdge2D > *) x));
 }
-static void *_p_CvTypedSeqTCvPoint2D32f_tTo_p_CvSeq(void *x) {
-    return (void *)((CvSeq *)  ((CvTypedSeq<CvPoint2D32f > *) x));
+static void *_p_CvTypedSeqT_CvPoint2D32f_tTo_p_CvSeq(void *x, int *newmemory) {
+    return (void *)((CvSeq *)  ((CvTypedSeq< CvPoint2D32f > *) x));
 }
 static swig_type_info _swigt__p_Cv32suf = {"_p_Cv32suf", "Cv32suf *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_Cv64suf = {"_p_Cv64suf", "Cv64suf *", 0, 0, (void*)0, 0};
@@ -7613,7 +7702,7 @@ static swig_type_info _swigt__p_CvChain = {"_p_CvChain", "CvChain *", 0, 0, (voi
 static swig_type_info _swigt__p_CvChainPtReader = {"_p_CvChainPtReader", "CvChainPtReader *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvConDensation = {"_p_CvConDensation", "CvConDensation *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvConnectedComp = {"_p_CvConnectedComp", "CvConnectedComp *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_CvContour = {"_p_CvContour", "CvContour *|CvPoint2DSeq *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_CvContour = {"_p_CvContour", "CvPoint2DSeq *|CvContour *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvContourTree = {"_p_CvContourTree", "CvContourTree *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvConvexityDefect = {"_p_CvConvexityDefect", "CvConvexityDefect *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvFileNode = {"_p_CvFileNode", "CvFileNode *", 0, 0, (void*)0, 0};
@@ -7657,15 +7746,15 @@ static swig_type_info _swigt__p_CvRNG_Wrapper = {"_p_CvRNG_Wrapper", "CvRNG_Wrap
 static swig_type_info _swigt__p_CvRect = {"_p_CvRect", "CvRect *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvScalar = {"_p_CvScalar", "CvScalar *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvSeq = {"_p_CvSeq", "CvSeq *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvTupleTCvPoint_2_t_t = {"_p_CvTypedSeqTCvTupleTCvPoint_2_t_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvTupleTfloat_2_t_t = {"_p_CvTypedSeqTCvTupleTfloat_2_t_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvRect_t = {"_p_CvTypedSeqTCvRect_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvPoint_t = {"_p_CvTypedSeqTCvPoint_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvQuadEdge2D_t = {"_p_CvTypedSeqTCvQuadEdge2D_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvSeq_p_t = {"_p_CvTypedSeqTCvSeq_p_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvPoint2D32f_t = {"_p_CvTypedSeqTCvPoint2D32f_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvTupleTfloat_3_t_t = {"_p_CvTypedSeqTCvTupleTfloat_3_t_t", 0, 0, 0, 0, 0};
-static swig_type_info _swigt__p_CvTypedSeqTCvConnectedComp_t = {"_p_CvTypedSeqTCvConnectedComp_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t = {"_p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvTupleT_float_2_t_t = {"_p_CvTypedSeqT_CvTupleT_float_2_t_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvRect_t = {"_p_CvTypedSeqT_CvRect_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvPoint_t = {"_p_CvTypedSeqT_CvPoint_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvQuadEdge2D_t = {"_p_CvTypedSeqT_CvQuadEdge2D_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvSeq_p_t = {"_p_CvTypedSeqT_CvSeq_p_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvPoint2D32f_t = {"_p_CvTypedSeqT_CvPoint2D32f_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvTupleT_float_3_t_t = {"_p_CvTypedSeqT_CvTupleT_float_3_t_t", 0, 0, 0, 0, 0};
+static swig_type_info _swigt__p_CvTypedSeqT_CvConnectedComp_t = {"_p_CvTypedSeqT_CvConnectedComp_t", 0, 0, 0, 0, 0};
 static swig_type_info _swigt__p_CvSeqBlock = {"_p_CvSeqBlock", "CvSeqBlock *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvSeqReader = {"_p_CvSeqReader", "CvSeqReader *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_CvSeqWriter = {"_p_CvSeqWriter", "CvSeqWriter *", 0, 0, (void*)0, 0};
@@ -7698,16 +7787,17 @@ static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_f_int__void = {"_p_f_int__void", "void (*)(int)|CvTrackbarCallback", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_f_int_int_int_int_p_void__void = {"_p_f_int_int_int_int_p_void__void", "void (*)(int,int,int,int,void *)|CvMouseCallback", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_long_long = {"_p_long_long", "long long *|int64 *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_int = {"_p_int", "CvHistType *|int *|CVStatus *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_long_long = {"_p_long_long", "int64 *|long long *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "schar *|signed char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_size_t = {"_p_size_t", "size_t *|CvSubdiv2DEdge *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_size_type = {"_p_size_type", "size_type *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|uchar *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "unsigned long long *|CvRNG *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "uchar *|unsigned char *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "uint64 *|unsigned long long *|CvRNG *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|ushort *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_void = {"_p_void", "CvArr *|void *", 0, 0, (void*)0, 0};
 
 static swig_type_info *swig_type_initial[] = {
   &_swigt__p_Cv32suf,
@@ -7784,15 +7874,15 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_CvTermCriteria,
   &_swigt__p_CvTreeNodeIterator,
   &_swigt__p_CvTypeInfo,
-  &_swigt__p_CvTypedSeqTCvConnectedComp_t,
-  &_swigt__p_CvTypedSeqTCvPoint2D32f_t,
-  &_swigt__p_CvTypedSeqTCvPoint_t,
-  &_swigt__p_CvTypedSeqTCvQuadEdge2D_t,
-  &_swigt__p_CvTypedSeqTCvRect_t,
-  &_swigt__p_CvTypedSeqTCvSeq_p_t,
-  &_swigt__p_CvTypedSeqTCvTupleTCvPoint_2_t_t,
-  &_swigt__p_CvTypedSeqTCvTupleTfloat_2_t_t,
-  &_swigt__p_CvTypedSeqTCvTupleTfloat_3_t_t,
+  &_swigt__p_CvTypedSeqT_CvConnectedComp_t,
+  &_swigt__p_CvTypedSeqT_CvPoint2D32f_t,
+  &_swigt__p_CvTypedSeqT_CvPoint_t,
+  &_swigt__p_CvTypedSeqT_CvQuadEdge2D_t,
+  &_swigt__p_CvTypedSeqT_CvRect_t,
+  &_swigt__p_CvTypedSeqT_CvSeq_p_t,
+  &_swigt__p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t,
+  &_swigt__p_CvTypedSeqT_CvTupleT_float_2_t_t,
+  &_swigt__p_CvTypedSeqT_CvTupleT_float_3_t_t,
   &_swigt__p_CvVideoWriter,
   &_swigt__p_CvvImage,
   &_swigt__p__IplConvKernel,
@@ -7808,6 +7898,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_int,
   &_swigt__p_long_long,
   &_swigt__p_p_char,
+  &_swigt__p_signed_char,
   &_swigt__p_size_t,
   &_swigt__p_size_type,
   &_swigt__p_unsigned_char,
@@ -7870,16 +7961,16 @@ static swig_cast_info _swigc__p_CvQuadEdge2D[] = {  {&_swigt__p_CvQuadEdge2D, 0,
 static swig_cast_info _swigc__p_CvRNG_Wrapper[] = {  {&_swigt__p_CvRNG_Wrapper, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_CvRect[] = {  {&_swigt__p_CvRect, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_CvScalar[] = {  {&_swigt__p_CvScalar, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvTupleTCvPoint_2_t_t[] = {{&_swigt__p_CvTypedSeqTCvTupleTCvPoint_2_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvTupleTfloat_2_t_t[] = {{&_swigt__p_CvTypedSeqTCvTupleTfloat_2_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvRect_t[] = {{&_swigt__p_CvTypedSeqTCvRect_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvPoint_t[] = {{&_swigt__p_CvTypedSeqTCvPoint_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvQuadEdge2D_t[] = {{&_swigt__p_CvTypedSeqTCvQuadEdge2D_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvSeq_p_t[] = {{&_swigt__p_CvTypedSeqTCvSeq_p_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvPoint2D32f_t[] = {{&_swigt__p_CvTypedSeqTCvPoint2D32f_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvTupleTfloat_3_t_t[] = {{&_swigt__p_CvTypedSeqTCvTupleTfloat_3_t_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvTypedSeqTCvConnectedComp_t[] = {{&_swigt__p_CvTypedSeqTCvConnectedComp_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_CvSeq[] = {  {&_swigt__p_CvTypedSeqTCvTupleTCvPoint_2_t_t, _p_CvTypedSeqTCvTupleTCvPoint_2_t_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqTCvTupleTfloat_2_t_t, _p_CvTypedSeqTCvTupleTfloat_2_t_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqTCvRect_t, _p_CvTypedSeqTCvRect_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqTCvPoint_t, _p_CvTypedSeqTCvPoint_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqTCvQuadEdge2D_t, _p_CvTypedSeqTCvQuadEdge2D_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqTCvSeq_p_t, _p_CvTypedSeqTCvSeq_p_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqTCvPoint2D32f_t, _p_CvTypedSeqTCvPoint2D32f_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvSeq, 0, 0, 0},  {&_swigt__p_CvTypedSeqTCvTupleTfloat_3_t_t, _p_CvTypedSeqTCvTupleTfloat_3_t_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqTCvConnectedComp_t, _p_CvTypedSeqTCvConnectedComp_tTo_p_CvSeq, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t[] = {{&_swigt__p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvTupleT_float_2_t_t[] = {{&_swigt__p_CvTypedSeqT_CvTupleT_float_2_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvRect_t[] = {{&_swigt__p_CvTypedSeqT_CvRect_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvPoint_t[] = {{&_swigt__p_CvTypedSeqT_CvPoint_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvQuadEdge2D_t[] = {{&_swigt__p_CvTypedSeqT_CvQuadEdge2D_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvSeq_p_t[] = {{&_swigt__p_CvTypedSeqT_CvSeq_p_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvPoint2D32f_t[] = {{&_swigt__p_CvTypedSeqT_CvPoint2D32f_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvTupleT_float_3_t_t[] = {{&_swigt__p_CvTypedSeqT_CvTupleT_float_3_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvTypedSeqT_CvConnectedComp_t[] = {{&_swigt__p_CvTypedSeqT_CvConnectedComp_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_CvSeq[] = {  {&_swigt__p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t, _p_CvTypedSeqT_CvTupleT_CvPoint_2_t_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqT_CvTupleT_float_2_t_t, _p_CvTypedSeqT_CvTupleT_float_2_t_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqT_CvRect_t, _p_CvTypedSeqT_CvRect_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqT_CvPoint_t, _p_CvTypedSeqT_CvPoint_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqT_CvQuadEdge2D_t, _p_CvTypedSeqT_CvQuadEdge2D_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqT_CvSeq_p_t, _p_CvTypedSeqT_CvSeq_p_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqT_CvPoint2D32f_t, _p_CvTypedSeqT_CvPoint2D32f_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvSeq, 0, 0, 0},  {&_swigt__p_CvTypedSeqT_CvTupleT_float_3_t_t, _p_CvTypedSeqT_CvTupleT_float_3_t_tTo_p_CvSeq, 0, 0},  {&_swigt__p_CvTypedSeqT_CvConnectedComp_t, _p_CvTypedSeqT_CvConnectedComp_tTo_p_CvSeq, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_CvSeqBlock[] = {  {&_swigt__p_CvSeqBlock, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_CvSeqReader[] = {  {&_swigt__p_CvSeqReader, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_CvSeqWriter[] = {  {&_swigt__p_CvSeqWriter, 0, 0, 0},{0, 0, 0, 0}};
@@ -7915,6 +8006,7 @@ static swig_cast_info _swigc__p_f_int_int_int_int_p_void__void[] = {  {&_swigt__
 static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_long_long[] = {  {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_p_char[] = {  {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_signed_char[] = {  {&_swigt__p_signed_char, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_size_t[] = {  {&_swigt__p_size_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_size_type[] = {  {&_swigt__p_size_type, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_char[] = {  {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
@@ -7998,15 +8090,15 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_CvTermCriteria,
   _swigc__p_CvTreeNodeIterator,
   _swigc__p_CvTypeInfo,
-  _swigc__p_CvTypedSeqTCvConnectedComp_t,
-  _swigc__p_CvTypedSeqTCvPoint2D32f_t,
-  _swigc__p_CvTypedSeqTCvPoint_t,
-  _swigc__p_CvTypedSeqTCvQuadEdge2D_t,
-  _swigc__p_CvTypedSeqTCvRect_t,
-  _swigc__p_CvTypedSeqTCvSeq_p_t,
-  _swigc__p_CvTypedSeqTCvTupleTCvPoint_2_t_t,
-  _swigc__p_CvTypedSeqTCvTupleTfloat_2_t_t,
-  _swigc__p_CvTypedSeqTCvTupleTfloat_3_t_t,
+  _swigc__p_CvTypedSeqT_CvConnectedComp_t,
+  _swigc__p_CvTypedSeqT_CvPoint2D32f_t,
+  _swigc__p_CvTypedSeqT_CvPoint_t,
+  _swigc__p_CvTypedSeqT_CvQuadEdge2D_t,
+  _swigc__p_CvTypedSeqT_CvRect_t,
+  _swigc__p_CvTypedSeqT_CvSeq_p_t,
+  _swigc__p_CvTypedSeqT_CvTupleT_CvPoint_2_t_t,
+  _swigc__p_CvTypedSeqT_CvTupleT_float_2_t_t,
+  _swigc__p_CvTypedSeqT_CvTupleT_float_3_t_t,
   _swigc__p_CvVideoWriter,
   _swigc__p_CvvImage,
   _swigc__p__IplConvKernel,
@@ -8022,6 +8114,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_int,
   _swigc__p_long_long,
   _swigc__p_p_char,
+  _swigc__p_signed_char,
   _swigc__p_size_t,
   _swigc__p_size_type,
   _swigc__p_unsigned_char,
@@ -8097,7 +8190,7 @@ SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
   swig_module_info *module_head, *iter;
-  int found;
+  int found, init;
   
   clientdata = clientdata;
   
@@ -8107,6 +8200,9 @@ SWIG_InitializeModule(void *clientdata) {
     swig_module.type_initial = swig_type_initial;
     swig_module.cast_initial = swig_cast_initial;
     swig_module.next = &swig_module;
+    init = 1;
+  } else {
+    init = 0;
   }
   
   /* Try and load any already created modules */
@@ -8135,6 +8231,12 @@ SWIG_InitializeModule(void *clientdata) {
     module_head->next = &swig_module;
   }
   
+  /* When multiple interpeters are used, a module could have already been initialized in
+       a different interpreter, but not yet have a pointer in this interpreter.
+       In this case, we do not want to continue adding types... everything should be
+       set up already */
+  if (init == 0) return;
+  
   /* Now work on filling in swig_module.types */
 #ifdef SWIGRUNTIME_DEBUG
   printf("SWIG_InitializeModule: size %d\n", swig_module.size);
@@ -8582,6 +8684,7 @@ SWIGEXPORT void SWIG_init(void) {
   SWIG_Python_SetConstant(d, "CV_CAP_V4L",SWIG_From_int(static_cast< int >(200)));
   SWIG_Python_SetConstant(d, "CV_CAP_V4L2",SWIG_From_int(static_cast< int >(200)));
   SWIG_Python_SetConstant(d, "CV_CAP_FIREWARE",SWIG_From_int(static_cast< int >(300)));
+  SWIG_Python_SetConstant(d, "CV_CAP_FIREWIRE",SWIG_From_int(static_cast< int >(300)));
   SWIG_Python_SetConstant(d, "CV_CAP_IEEE1394",SWIG_From_int(static_cast< int >(300)));
   SWIG_Python_SetConstant(d, "CV_CAP_DC1394",SWIG_From_int(static_cast< int >(300)));
   SWIG_Python_SetConstant(d, "CV_CAP_CMU1394",SWIG_From_int(static_cast< int >(300)));
@@ -8592,6 +8695,7 @@ SWIGEXPORT void SWIG_init(void) {
   SWIG_Python_SetConstant(d, "CV_TYZX_COLOR",SWIG_From_int(static_cast< int >(402)));
   SWIG_Python_SetConstant(d, "CV_TYZX_Z",SWIG_From_int(static_cast< int >(403)));
   SWIG_Python_SetConstant(d, "CV_CAP_QT",SWIG_From_int(static_cast< int >(500)));
+  SWIG_Python_SetConstant(d, "CV_CAP_UNICAP",SWIG_From_int(static_cast< int >(600)));
   SWIG_Python_SetConstant(d, "CV_CAP_PROP_POS_MSEC",SWIG_From_int(static_cast< int >(0)));
   SWIG_Python_SetConstant(d, "CV_CAP_PROP_POS_FRAMES",SWIG_From_int(static_cast< int >(1)));
   SWIG_Python_SetConstant(d, "CV_CAP_PROP_POS_AVI_RATIO",SWIG_From_int(static_cast< int >(2)));