/* * P I X E L I Z E */ #include #include #include "../floatimg.h" extern int verbosity; /* -------------------------------------------------------------- */ int fimg_pixelize_h_0(FloatImg *psrc, FloatImg *pdst, int k) { int line, col, loop, idx; float cr, cg, cb; /* cumuls */ fprintf(stderr, ">>> %s ( %p %p %d )\n", __func__, psrc, pdst, k); if (fimg_images_not_compatible(psrc, pdst)) { fprintf(stderr, "%s: err compatibility\n", __func__); return -8; } for (line=0; lineheight; line++) { for (col=0; colwidth; col+=8) { cr = cg = cb = 0.0; idx = line * psrc->width + col; for (loop=0; loop<8; loop++) { cr += psrc->R[idx+loop]; cg += psrc->G[idx+loop]; cb += psrc->B[idx+loop]; } for (loop=0; loop<8; loop++) { pdst->R[idx+loop] = cr / 8.0; pdst->G[idx+loop] = cg / 8.0; pdst->B[idx+loop] = cb / 8.0; } } } return 0; } /* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */