#undef LOCAL_DEBUG
-#include "sherlock/sherlock.h"
-#include "lib/fastbuf.h"
-#include "lib/conf.h"
-#include "lib/math.h"
-#include "images/math.h"
+#include "ucw/lib.h"
+#include "ucw/fastbuf.h"
+#include "ucw/conf.h"
#include "images/images.h"
+#include "images/math.h"
+#include "images/error.h"
#include "images/color.h"
#include "images/signature.h"
#include <alloca.h>
+#include <math.h>
int
-image_sig_init(struct image_thread *thread, struct image_sig_data *data, struct image *image)
+image_sig_init(struct image_context *ctx, struct image_sig_data *data, struct image *image)
{
ASSERT((image->flags & IMAGE_PIXEL_FORMAT) == COLOR_SPACE_RGB);
data->image = image;
data->blocks_count = data->cols * data->rows;
if (data->blocks_count >= 0x10000)
{
- image_thread_err(thread, IMAGE_ERR_INVALID_DIMENSIONS, "Image too large for implemented signature algorithm.");
+ IMAGE_ERROR(ctx, IMAGE_ERROR_INVALID_DIMENSIONS, "Image too large for implemented signature algorithm.");
return 0;
}
data->blocks = xmalloc(data->blocks_count * sizeof(struct image_sig_block));
}
for (; x < 4; x++)
{
- *tp = tp[-square_cols];
+ *tp = tp[-(int)square_cols];
tp++;
}
}
for (; y < 4; y++)
for (x = 0; x < 4; x++)
{
- *tp = tp[-square_rows * 4];
+ *tp = tp[-(int)square_rows * 4];
tp++;
}
block->area = square_cols * square_rows;
sig->flags = data->flags;
if (!sig->len)
return;
-
+
/* For each region */
u64 w_total = 0;
uns w_border = MIN(data->cols, data->rows) * image_sig_border_size;
}
int
-compute_image_signature(struct image_thread *thread, struct image_signature *sig, struct image *image)
+compute_image_signature(struct image_context *ctx, struct image_signature *sig, struct image *image)
{
struct image_sig_data data;
- if (!image_sig_init(thread, &data, image))
+ if (!image_sig_init(ctx, &data, image))
return 0;
image_sig_preprocess(&data);
if (data.valid)