X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=images%2Fconfig.c;h=cce37c012a90889e74651aa49c1080cd731c3e01;hb=eec6d2c37cbcbf9c350aa4ca80e5a316e5144087;hp=1c29e6784ad161716cf797bc03dda82bf9f4c1c3;hpb=0bcfe0870f575e9e5415d7d7d291e3c4cd11539a;p=libucw.git diff --git a/images/config.c b/images/config.c index 1c29e678..cce37c01 100644 --- a/images/config.c +++ b/images/config.c @@ -6,13 +6,22 @@ #undef LOCAL_DEBUG -#include "lib/lib.h" -#include "lib/conf.h" -#include "images/images.h" -#include "images/signature.h" +#include +#include +#include +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) +#include +#endif #include +/* ImageLib section */ +uns image_trace; +uns image_max_dim = 0xffff; +uns image_max_bytes = ~0U; + +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) +/* ImageSig section */ uns image_sig_min_width; uns image_sig_min_height; uns *image_sig_prequant_thresholds; @@ -21,11 +30,23 @@ uns image_sig_postquant_max_steps; uns image_sig_postquant_threshold; double image_sig_border_size; int image_sig_border_bonus; +double image_sig_inertia_scale[3]; double image_sig_textured_threshold; int image_sig_compare_method; -uns image_sig_cmp_features_weights[IMAGE_VEC_F + IMAGE_REG_H]; +uns image_sig_cmp_features_weights[IMAGE_REG_F + IMAGE_REG_H]; +#endif + +static struct cf_section image_lib_config = { + CF_ITEMS{ + CF_UNS("Trace", &image_trace), + CF_UNS("ImageMaxDim", &image_max_dim), + CF_UNS("ImageMaxBytes", &image_max_bytes), + CF_END + } +}; -static struct cf_section sig_config = { +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) +static struct cf_section image_sig_config = { CF_ITEMS{ CF_UNS("MinWidth", &image_sig_min_width), CF_UNS("MinHeight", &image_sig_min_height), @@ -35,15 +56,20 @@ static struct cf_section sig_config = { CF_UNS("PostQuantThreshold", &image_sig_postquant_threshold), CF_DOUBLE("BorderSize", &image_sig_border_size), CF_INT("BorderBonus", &image_sig_border_bonus), + CF_DOUBLE_ARY("InertiaScale", image_sig_inertia_scale, 3), CF_DOUBLE("TexturedThreshold", &image_sig_textured_threshold), - CF_LOOKUP("CompareMethod", &image_sig_compare_method, ((byte *[]){"integrated", "fuzzy", "average", NULL})), - CF_UNS_ARY("CompareFeaturesWeights", image_sig_cmp_features_weights, IMAGE_VEC_F + IMAGE_REG_H), + CF_LOOKUP("CompareMethod", &image_sig_compare_method, ((const char * const []){"integrated", "fuzzy", "average", NULL})), + CF_UNS_ARY("CompareFeaturesWeights", image_sig_cmp_features_weights, IMAGE_REG_F + IMAGE_REG_H), CF_END } }; +#endif static void CONSTRUCTOR images_init_config(void) { - cf_declare_section("ImageSig", &sig_config, 0); + cf_declare_section("ImageLib", &image_lib_config, 0); +#if defined(CONFIG_IMAGES_SIM) || defined(CONFIG_IMAGES_DUP) + cf_declare_section("ImageSig", &image_sig_config, 0); +#endif }