25 for (y = 0; y <
h; y++) {
26 for (x = 0; x < w; x++)
27 printf(
" %7x", ii[y*lz_32 + x]);
30 printf(
"---------------\n");
35 int ret = 0, xoff, yoff;
38 const int w = 6,
h = 5, lz = 8;
40 0xb0, 0x71, 0xfb, 0xd8, 0x01, 0xd9, 0x01, 0x02,
41 0x51, 0x8e, 0x41, 0x0f, 0x84, 0x58, 0x03, 0x04,
42 0xc7, 0x8d, 0x07, 0x70, 0x5c, 0x47, 0x05, 0x06,
43 0x09, 0x4e, 0xfc, 0x74, 0x8f, 0x9a, 0x07, 0x08,
44 0x60, 0x8e, 0x20, 0xaa, 0x95, 0x7d, 0x09, 0x0a,
48 const int ii_w = w+e*2, ii_h =
h+e*2;
51 const int ii_lz_32 = ((ii_w + 1) + 3) & ~3;
57 uint32_t *ii_start = ii + ii_lz_32 + 1;
58 uint32_t *ii_start2 = ii2 + ii_lz_32 + 1;
63 for (yoff = -e; yoff <= e; yoff++) {
64 for (xoff = -e; xoff <= e; xoff++) {
65 printf(
"xoff=%d yoff=%d\n", xoff, yoff);
68 src, lz, xoff, yoff, e, w,
h);
78 if (memcmp(ii, ii2, (ii_h+1) * ii_lz_32 *
sizeof(*ii))) {
79 printf(
"Integral mismatch\n");
static void display_integral(const uint32_t *ii, int w, int h, int lz_32)
static av_cold int end(AVCodecContext *avctx)
static void * av_mallocz_array(size_t nmemb, size_t size)
static void compute_ssd_integral_image(uint32_t *ii, int ii_linesize_32, const uint8_t *src, int linesize, int offx, int offy, int e, int w, int h)
static void compute_unsafe_ssd_integral_image(uint32_t *dst, int dst_linesize_32, int startx, int starty, const uint8_t *src, int linesize, int offx, int offy, int r, int sw, int sh, int w, int h)
Compute squared difference of an unsafe area (the zone nor s1 nor s2 could be readable).