/* See LICENSE file for copyright and license details. */ #include "stream.h" #include "util.h" #include #include #include #include USAGE("") int main(int argc, char *argv[]) { struct stream stream; char *buf, *image; size_t n, imgw, srcw, srch, ps, x, y, i, b, dx; ENOFLAGS(argc); stream.file = ""; stream.fd = STDIN_FILENO; einit_stream(&stream); imgw = srch = stream.height; stream.height = srcw = stream.width; stream.width = imgw; fprint_stream_head(stdout, &stream); efflush(stdout, ""); echeck_frame_size(stream.width, stream.height, stream.pixel_size, 0, ""); n = stream.width * stream.height * (ps = stream.pixel_size); buf = emalloc(n); image = emalloc(n); srch *= ps; srcw *= dx = imgw * ps; imgw *= ps; memcpy(buf, stream.buf, stream.ptr); while (eread_frame(&stream, buf, n)) { for (b = y = 0; y < srch; y += ps) for (x = 0; x < srcw; x += dx) for (i = 0; i < ps; i++, b++) image[y + x + i] = buf[b]; ewriteall(STDOUT_FILENO, image, n, ""); } free(buf); free(image); return 0; }