#ifndef _IMAGES_DUPLICATES_H
#define _IMAGES_DUPLICATES_H
+#ifdef CONFIG_UCW_CLEAN_ABI
+#define image_dup_compare ucw_image_dup_compare
+#define image_dup_context_cleanup ucw_image_dup_context_cleanup
+#define image_dup_context_init ucw_image_dup_context_init
+#define image_dup_estimate_size ucw_image_dup_estimate_size
+#define image_dup_new ucw_image_dup_new
+#endif
+
enum image_dup_flags {
IMAGE_DUP_TRANS_ID = 0x0001,
IMAGE_DUP_FLIP_X = 0x0002,
uns flags;
uns ratio_threshold;
uns error_threshold;
+ uns qtree_limit;
+ u64 sum_depth;
+ u64 sum_pixels;
+ uns error;
};
struct image_dup {
void image_dup_context_init(struct image_context *ic, struct image_dup_context *ctx);
void image_dup_context_cleanup(struct image_dup_context *ctx);
-uns image_dup_estimate_size(uns cols, uns rows);
-uns image_dup_new(struct image_context *ctx, struct image *image, void *buffer);
+
+uns image_dup_estimate_size(uns cols, uns rows, uns same_size_compare, uns qtree_limit);
+uns image_dup_new(struct image_dup_context *ctx, struct image *image, void *buffer, uns same_size_compare);
/* dup-cmp.c */
/* internals */
-static inline byte *
-image_dup_block(struct image_dup *dup, uns tab_col, uns tab_row)
+static inline byte *image_dup_block(struct image_dup *dup, uns tab_col, uns tab_row)
{
return dup->tab_pixels + (dup->tab_row_size << tab_row) + (3 << (tab_row + tab_col));
}
-
#endif