From 3569a10c97d41913dbf7cf3114cb4d2d5f17dc7f Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 15 Jul 2017 17:08:02 +0200 Subject: Some improvements and fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/blind-matrix-translate.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/blind-matrix-translate.c') diff --git a/src/blind-matrix-translate.c b/src/blind-matrix-translate.c index c761a7f..d062615 100644 --- a/src/blind-matrix-translate.c +++ b/src/blind-matrix-translate.c @@ -10,9 +10,9 @@ static int per_channel = 0; typedef TYPE pixel_t[4];\ pixel_t matrix[9];\ pixel_t buf[2];\ - int i;\ + size_t i;\ \ - for (i = 0; i < 4; i++) {\ + for (i = 0; i < stream->n_chan; i++) {\ matrix[0][i] = 1, matrix[1][i] = 0, matrix[2][i] = 0;\ matrix[3][i] = 0, matrix[4][i] = 1, matrix[5][i] = 0;\ matrix[6][i] = 0, matrix[7][i] = 0, matrix[8][i] = 1;\ @@ -20,13 +20,17 @@ static int per_channel = 0; \ while (eread_frame(stream, buf)) {\ if (per_channel) {\ - for (i = 0; i < 4; i++) {\ + for (i = 0; i < stream->n_chan; i++) {\ matrix[2][i] = buf[0][i];\ matrix[5][i] = buf[1][i];\ }\ } else {\ - matrix[2][3] = matrix[2][2] = matrix[2][1] = matrix[2][0] = buf[0][1] * buf[0][3];\ - matrix[5][3] = matrix[5][2] = matrix[5][1] = matrix[5][0] = buf[1][1] * buf[1][3];\ + buf[0][1] *= buf[0][3];\ + buf[1][1] *= buf[1][3];\ + for (i = 0; i < stream->n_chan; i++) {\ + matrix[2][i] = buf[0][1];\ + matrix[5][i] = buf[1][1];\ + }\ }\ ewriteall(STDOUT_FILENO, matrix, sizeof(matrix), "");\ }\ @@ -62,9 +66,9 @@ main(int argc, char *argv[]) fprint_stream_head(stdout, &stream); efflush(stdout, ""); - if (!strcmp(stream.pixfmt, "xyza")) + if (stream.encoding == DOUBLE) process = process_lf; - else if (!strcmp(stream.pixfmt, "xyza f")) + else if (stream.encoding == FLOAT) process = process_f; else eprintf("pixel format %s is not supported, try xyza\n", stream.pixfmt); -- cgit v1.2.3-70-g09d2