From a7bc7485b1a4d7e1b1a12ff593ca4ccb1d59e466 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Sat, 23 Feb 2008 01:51:37 +0000 Subject: configure.ac: Add checks for Flex/Yacc/Bison and other furry animals, for the new goom 2k4 based plugin Original commit message from CVS: 2008-02-23 Bastien Nocera * 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 --- gst/goom/goomsl_hash.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 gst/goom/goomsl_hash.h (limited to 'gst/goom/goomsl_hash.h') diff --git a/gst/goom/goomsl_hash.h b/gst/goom/goomsl_hash.h new file mode 100644 index 00000000..26f45167 --- /dev/null +++ b/gst/goom/goomsl_hash.h @@ -0,0 +1,40 @@ +#ifndef _GOOMSL_HASH_H +#define _GOOMSL_HASH_H + +typedef struct GOOM_HASH_ENTRY GoomHashEntry; +typedef struct GOOM_HASH GoomHash; + +typedef union { + void *ptr; + int i; + float f; +} HashValue; + +struct GOOM_HASH_ENTRY { + char *key; + HashValue value; + GoomHashEntry *lower; + GoomHashEntry *upper; +}; + +struct GOOM_HASH { + GoomHashEntry *root; + int number_of_puts; +}; + +GoomHash *goom_hash_new(); +void goom_hash_free(GoomHash *gh); + +void goom_hash_put(GoomHash *gh, const char *key, HashValue value); +HashValue *goom_hash_get(GoomHash *gh, const char *key); + +void goom_hash_put_int (GoomHash *_this, const char *key, int i); +void goom_hash_put_float(GoomHash *_this, const char *key, float f); +void goom_hash_put_ptr (GoomHash *_this, const char *key, void *ptr); + +typedef void (*GH_Func)(GoomHash *caller, const char *key, HashValue *value); + +void goom_hash_for_each(GoomHash *_this, GH_Func func); +int goom_hash_number_of_puts(GoomHash *_this); + +#endif /* _GOOM_HASH_H */ -- cgit