wrapper_libtt.h 2.28 KB
#ifndef __WRAPPER_LIBTT__
#define __WRAPPER_LIBTT__

// ===================================================================================
// ===================================================================================
// === all devices
// ===================================================================================
// ===================================================================================

#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <vector>
#include <cmath>

#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
#define PY_SSIZE_T_CLEAN
#include <Python.h>
#include <numpy/arrayobject.h>

int get_argv(char *cmd, char ***pargv);
void free_argv(int argc, char ***pargv);

void dict_append_d(PyObject* dico, const char* key, int value, const char* comment);
void dict_append_s(PyObject* dico, const char* key, wchar_t *value, const char* comment);

// ========== Memory management of the global pointer for images
void *pg;
short *pgs;
unsigned short *pgus;
int *pgi;
unsigned int *pgui;
float *pgf;
double *pgd;
int pg_type;
char *char_type_pg(int type);
void *calloc_pg(size_t nmemb, int type);
void *copy_p_to_pg(void *p, size_t nelem, int p_type, bool force_pg);
void *copy_pyarray_to_pg(PyArrayObject *py_array, size_t nelem, bool force_pg);
#define PG_LOOP for (int k = 0 ; k < (int)nelem ; k++)
#define PG_MSG_ERR 512

#define MSG 1024
#define MSG_ERR 512
PyObject *set_np_array2d(int nd, int w, int h, int typenum, void *p);
int npy_tool_get_type_array(PyObject *nparray);
int npy_tool_npytype_2_datatype(int type);
int npy_tool_datatype_2_npytype(int type);

PyObject* exampleException;
PyObject *numpy;

#include <time.h>
struct timespec clock_t0;

// ===================================================================================
// ===================================================================================
// === libtt
// ===================================================================================
// ===================================================================================

#define WITH_LIBTT

#include <libtt.h>

#define BUFFER_TIME_SIZE 50
void isotime(char *iso);

// ===================================================================================

#endif