From 0039b374832ce87379fd16a9a94c4781c632bba9 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 17 Oct 2014 10:34:58 +0200 Subject: [PATCH] minor fixes --- lib/colorize.c | 56 ++++++++++++++++++++++++++++++++++++++++++-------------- lib/multigrid.c | 2 +- src/colorize.c | 2 +- 3 files changed, 44 insertions(+), 16 deletions(-) diff --git a/lib/colorize.c b/lib/colorize.c index 6c8caba..25ca678 100644 --- a/lib/colorize.c +++ b/lib/colorize.c @@ -47,32 +47,46 @@ int colorize_prepare(struct colorize *col) ASSERT(col->max_depth >= 2, "image too small"); col->nb_list = calloc(col->max_depth, sizeof(struct neighbors *)); - if (!col->nb_list) + if (!col->nb_list) { + rc = -1; goto error; + } col->marks = calloc(col->max_depth, sizeof(darray_t *)); - if (!col->marks) + if (!col->marks) { + rc = -1; goto error; + } col->values = calloc(col->max_depth, sizeof(darray_t *)); - if (!col->values) + if (!col->values) { + rc = -1; goto error; + } col->flows = calloc(col->max_depth, sizeof(darray_t *)); - if (!col->flows) + if (!col->flows) { + rc = -1; goto error; + } col->flows_i = calloc(col->max_depth, sizeof(darray_t *)); - if (!col->flows_i) + if (!col->flows_i) { + rc = -1; goto error; + } if (col->scalexyz) { /* the flows_xy are scaled in xy in the current level */ col->flows_xy = calloc(col->max_depth, sizeof(darray_t *)); - if (!col->flows_xy) + if (!col->flows_xy) { + rc = -1; goto error; + } } dimensions[0] = col->w; dimensions[1] = col->h; dimensions[2] = col->k; luminance = darrayCreate(3, dimensions); - if (!luminance) + if (!luminance) { + rc = -1; goto error; + } /* generate sparse multigrid */ last_kk = kk = col->k; printf("-> prepare sparse grid"); @@ -85,26 +99,34 @@ int colorize_prepare(struct colorize *col) dimensions[1] = hh; dimensions[2] = last_kk; col->marks[d] = darrayCreate(3, dimensions); - if (!col->marks[d]) + if (!col->marks[d]) { + rc = -1; goto error; + } dimensions[0] = ww; dimensions[1] = hh; dimensions[2] = last_kk-1; dimensions[3] = 2; col->flows[d] = darrayCreate(4, dimensions); - if (!col->flows[d]) + if (!col->flows[d]) { + rc = -1; goto error; + } col->flows_i[d] = darrayCreate(4, dimensions); - if (!col->flows_i[d]) + if (!col->flows_i[d]) { + rc = -1; goto error; + } if (d < col->scalexyz) { dimensions[0] = (ww+1)>>1; dimensions[1] = (hh+1)>>1; dimensions[2] = kk-1; dimensions[3] = 2; col->flows_xy[d] = darrayCreate(4, dimensions); - if (!col->flows_xy[d]) + if (!col->flows_xy[d]) { + rc = -1; goto error; + } } if (d == 0) { for (z = 0; z < kk; z++) { @@ -177,14 +199,18 @@ int colorize_prepare(struct colorize *col) dimensions[1] = hh; dimensions[2] = kk; col->values[d] = darrayCreate(3, dimensions); - if (!col->values[d]) + if (!col->values[d]) { + rc = -1; goto error; + } /* generate array of neighbors */ #ifndef TEST_NO_RENDER col->nb_list[d] = gen_neighbor(ww, hh, kk, col->flows[d], col->flows_i[d]); - if (!col->nb_list[d]) + if (!col->nb_list[d]) { + rc = -1; goto error; + } /* weighten */ weighten(luminance, col->nb_list[d]); #endif @@ -201,8 +227,10 @@ int colorize_prepare(struct colorize *col) dimensions[1] = col->h; dimensions[2] = col->k; col->init = darrayCreate(3, dimensions); - if (!col->init) + if (!col->init) { + rc = -1; goto error; + } #ifdef TEST_PYRAMID dimensions[0] = col->w; diff --git a/lib/multigrid.c b/lib/multigrid.c index 1687d07..da6d151 100644 --- a/lib/multigrid.c +++ b/lib/multigrid.c @@ -852,7 +852,7 @@ unsigned char *gen_neighbor(int w, int h, int k, const darray_t *flow, const dar ret_neighbors = neighbors = calloc(w*h*k, nb_size); // printf("alloc neighbor grid=%lu Mbytes\n", nb_size*w*h*k/1024/1024); if (!ret_neighbors) { - printf("failed to allocate neighbor grid\n"); + printf("failed to allocate neighbor grid (%lu megabytes)\n", nb_size * w*h*k / 1024 / 1024 ); return NULL; } diff --git a/src/colorize.c b/src/colorize.c index af7a447..db604f7 100644 --- a/src/colorize.c +++ b/src/colorize.c @@ -488,7 +488,7 @@ next_sequence: // load original image and convert their RGB components to double RGB array rc = load_img(-1, &img_buffer, &load_w, &load_h, filename, index + z); if (rc) { - fprintf(stderr, "Failed to load grey image\n"); + fprintf(stderr, "Failed to load grey image '%s'\n", filename); return 0; } scale_img(img_buffer, load_w, load_h, scale); -- 2.13.6