Hi Rahul, before I dwell into the gory details, let me re-emphasize that what troubled me the most was the module's inconsistency i.e. for the exact same scenario, it might fail / pass. The scratch memory you refer to is the one we allocated at the start, right? For that, I gave it even buffers 10 times bigger than VLIB_calcConnectedComponentsMaxBufferSize required.
My largest image to label is QVGA (320x240). As you mention it requires memory for the equivalence list so I understand now what your implementation is derived from (I know that for this specific segmentation method, the pathological case is quite BAD). The note about max color - I don't see any API that refers to such a value. From my end, it's simply a binary image. We restrict the area to a minimum of 10, if that helps. Our system DSP heap is 10MB but I allocate the memory from the cached tiler memory (DDR2).
Also, at this point, I would like to point, that the VLIB_harrisScore_7x7 function gets stuck if the image is of low luminance values and I have at least 2 images that can reproduce it easily (both are close to being a "black" image).
Regards,
Roei