mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-01 06:01:04 +00:00
a7bc7485b1
Original commit message from CVS: 2008-02-23 Bastien Nocera <hadess@hadess.net> * configure.ac: Add checks for Flex/Yacc/Bison and other furry animals, for the new goom 2k4 based plugin * gst/goom/*: Update to use goom 2k4, uses liboil to detect CPU optimisations (not working yet), move the old plugin to... * gst/goom2k1/*: ... here, in case somebody is sick enough Fixes #515073
34 lines
1.3 KiB
C
34 lines
1.3 KiB
C
#ifndef _GOOMSL_H
|
|
#define _GOOMSL_H
|
|
|
|
#include "goomsl_hash.h"
|
|
|
|
typedef struct _GoomSL GoomSL;
|
|
typedef void (*GoomSL_ExternalFunction)(GoomSL *gsl, GoomHash *global_vars, GoomHash *local_vars);
|
|
|
|
GoomSL*gsl_new(void);
|
|
void gsl_free(GoomSL *gss);
|
|
|
|
char *gsl_init_buffer(const char *file_name);
|
|
void gsl_append_file_to_buffer(const char *file_name, char **buffer);
|
|
|
|
void gsl_compile (GoomSL *scanner, const char *script);
|
|
void gsl_execute (GoomSL *scanner);
|
|
int gsl_is_compiled (GoomSL *gss);
|
|
void gsl_bind_function(GoomSL *gss, const char *fname, GoomSL_ExternalFunction func);
|
|
|
|
int gsl_malloc (GoomSL *_this, int size);
|
|
void *gsl_get_ptr (GoomSL *_this, int id);
|
|
void gsl_free_ptr(GoomSL *_this, int id);
|
|
|
|
GoomHash *gsl_globals(GoomSL *_this);
|
|
|
|
#define GSL_LOCAL_PTR(gsl,local,name) gsl_get_ptr(gsl, *(int*)goom_hash_get(local,name)->ptr)
|
|
#define GSL_LOCAL_INT(gsl,local,name) (*(int*)goom_hash_get(local,name)->ptr)
|
|
#define GSL_LOCAL_FLOAT(gsl,local,name) (*(float*)goom_hash_get(local,name)->ptr)
|
|
|
|
#define GSL_GLOBAL_PTR(gsl,name) gsl_get_ptr(gsl, *(int*)goom_hash_get(gsl_globals(gsl),name)->ptr)
|
|
#define GSL_GLOBAL_INT(gsl,name) (*(int*)goom_hash_get(gsl_globals(gsl),name)->ptr)
|
|
#define GSL_GLOBAL_FLOAT(gsl,name) (*(float*)goom_hash_get(gsl_globals(gsl),name)->ptr)
|
|
|
|
#endif
|