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;
67 for (yoff = -e; yoff <= e; yoff++) {
68 for (xoff = -e; xoff <= e; xoff++) {
69 printf(
"xoff=%d yoff=%d\n", xoff, yoff);
72 src, lz, xoff, yoff, e, w,
h);
82 if (memcmp(ii, ii2, (ii_h+1) * ii_lz_32 *
sizeof(*ii))) {
83 printf(
"Integral mismatch\n");
static void compute_ssd_integral_image(const NLMeansDSPContext *dsp, uint32_t *ii, ptrdiff_t ii_linesize_32, const uint8_t *src, ptrdiff_t linesize, int offx, int offy, int e, int w, int h)
static void display_integral(const uint32_t *ii, int w, int h, int lz_32)
static av_cold int end(AVCodecContext *avctx)
static void compute_unsafe_ssd_integral_image(uint32_t *dst, ptrdiff_t dst_linesize_32, int startx, int starty, const uint8_t *src, ptrdiff_t 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).
void ff_nlmeans_init(NLMeansDSPContext *dsp)
void * av_mallocz_array(size_t nmemb, size_t size)