minor fixes
authorroot <root@eris.jolly.ten>
Fri, 17 Oct 2014 08:34:58 +0000 (10:34 +0200)
committerAndreas Eversberg <jolly@eversberg.eu>
Sun, 15 Mar 2015 14:33:59 +0000 (15:33 +0100)
lib/colorize.c
lib/multigrid.c
src/colorize.c

index 6c8caba..25ca678 100644 (file)
@@ -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;
index 1687d07..da6d151 100644 (file)
@@ -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;
        }
 
index af7a447..db604f7 100644 (file)
@@ -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);