From ed47c1557915bb2472f6959e723cd76155312a98 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Mon, 6 Apr 2020 00:50:58 +0800 Subject: Add deduper (unfinished tool for finding image duplicates). --- deduper/libpuzzle/php/libpuzzle/php_libpuzzle.h | 66 +++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 deduper/libpuzzle/php/libpuzzle/php_libpuzzle.h (limited to 'deduper/libpuzzle/php/libpuzzle/php_libpuzzle.h') diff --git a/deduper/libpuzzle/php/libpuzzle/php_libpuzzle.h b/deduper/libpuzzle/php/libpuzzle/php_libpuzzle.h new file mode 100644 index 0000000..1fae819 --- /dev/null +++ b/deduper/libpuzzle/php/libpuzzle/php_libpuzzle.h @@ -0,0 +1,66 @@ +#ifndef PHP_LIBPUZZLE_H +#define PHP_LIBPUZZLE_H + +extern zend_module_entry libpuzzle_module_entry; +#define phpext_libpuzzle_ptr &libpuzzle_module_entry + +#ifdef PHP_WIN32 +#define PHP_LIBPUZZLE_API __declspec(dllexport) +#else +#define PHP_LIBPUZZLE_API +#endif + +#ifdef ZTS +#include "TSRM.h" +#endif + +PHP_MINIT_FUNCTION(libpuzzle); +PHP_MSHUTDOWN_FUNCTION(libpuzzle); +PHP_RINIT_FUNCTION(libpuzzle); +PHP_RSHUTDOWN_FUNCTION(libpuzzle); +PHP_MINFO_FUNCTION(libpuzzle); + +PHP_FUNCTION(puzzle_set_max_width); +PHP_FUNCTION(puzzle_set_max_height); +PHP_FUNCTION(puzzle_set_lambdas); +PHP_FUNCTION(puzzle_set_noise_cutoff); +PHP_FUNCTION(puzzle_set_p_ratio); +PHP_FUNCTION(puzzle_set_contrast_barrier_for_cropping); +PHP_FUNCTION(puzzle_set_max_cropping_ratio); +PHP_FUNCTION(puzzle_set_autocrop); + +PHP_FUNCTION(puzzle_fill_cvec_from_file); +PHP_FUNCTION(puzzle_compress_cvec); +PHP_FUNCTION(puzzle_uncompress_cvec); +PHP_FUNCTION(puzzle_vector_normalized_distance); + +ZEND_BEGIN_MODULE_GLOBALS(libpuzzle) + PuzzleContext global_context; +ZEND_END_MODULE_GLOBALS(libpuzzle) + +/* In every utility function you add that needs to use variables + in php_libpuzzle_globals, call TSRMLS_FETCH(); after declaring other + variables used by that function, or better yet, pass in TSRMLS_CC + after the last function argument and declare your utility function + with TSRMLS_DC after the last declared argument. Always refer to + the globals in your function as LIBPUZZLE_G(variable). You are + encouraged to rename these macros something shorter, see + examples in any other php module directory. +*/ + +#ifdef ZTS +#define LIBPUZZLE_G(v) TSRMG(libpuzzle_globals_id, zend_libpuzzle_globals *, v) +#else +#define LIBPUZZLE_G(v) (libpuzzle_globals.v) +#endif + +#endif /* PHP_LIBPUZZLE_H */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ -- cgit v1.2.3