Revision: 57286
          http://sourceforge.net/p/brlcad/code/57286
Author:   mohitdaga
Date:     2013-08-29 22:38:04 +0000 (Thu, 29 Aug 2013)
Log Message:
-----------
Avoid recurring division and multiplications.

Modified Paths:
--------------
    brlcad/trunk/src/libicv/color_space.c

Modified: brlcad/trunk/src/libicv/color_space.c
===================================================================
--- brlcad/trunk/src/libicv/color_space.c       2013-08-29 22:35:10 UTC (rev 
57285)
+++ brlcad/trunk/src/libicv/color_space.c       2013-08-29 22:38:04 UTC (rev 
57286)
@@ -158,11 +158,10 @@
     if (blue != 0 && ZERO(bweight))
        bweight = 1.0 / (double)num_color_planes;
 
-    size = img->height*img->width*img->channels;
-    out_data = (double*) bu_malloc(size/3*sizeof(double), "Out Image Data");
-
+    size = img->height*img->width;
+    out_data = (double*) bu_malloc(size*sizeof(double), "Out Image Data");
     if (multiple_colors) {
-       for (in = out = 0; out < size/3; out++, in += 3) {
+       for (in = out = 0; out < size; out++, in += 3) {
            value = rweight*in_data[in] + gweight*in_data[in+1] + 
bweight*in_data[in+2];
            if (value > 1.0) {
                out_data[out] = 1.0;
@@ -172,17 +171,17 @@
                out_data[out] = value;
        }
     } else if (red) {
-       for (in = out = 0; out < size/3; out++, in += 3)
+       for (in = out = 0; out < size; out++, in += 3)
            out_data[out] = in_data[in];
     } else if (green) {
-       for (in = out = 0; out < size/3; out++, in += 3)
+       for (in = out = 0; out < size; out++, in += 3)
            out_data[out] = in_data[in+1];
     } else if (blue) {
-       for (in = out = 0; out < size/3; out++, in += 3)
+       for (in = out = 0; out < size; out++, in += 3)
            out_data[out] = in_data[in+2];
     } else {
        /* uniform weight */
-       for (in = out = 0; out < size/3; out++, in += 3)
+       for (in = out = 0; out < size; out++, in += 3)
            out_data[out] = (in_data[in] + in_data[in+1] + in_data[in+2]) / 3.0;
     }
     bu_free(img->data, "icv_image_rgb2gray : rgb image data");

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to