-
Kenneth Moreland authored
I was using 16 bit run lengths to ensure that I never inflated images, even when pixels only took up 32 bits. However, 16 bits limits the maximum size of the run lengths. Thus, it inflated images (albiet by a small amount) in the average case when all pixels were averaged, and there is lots of code to break up the run lengths and copy pixels individually. This change means that some images can expand up to 50%, but only in cases that probably never happen. The worst side effect of this change is that IceT must allocate this extra 50% in buffers just in case. I could probably get around this by refusing to use run lengths of size 1. However, that would again complicate code, especially in cases where you are copying active pixels (and hence have a special case of inserting background pixels).
f8f74ff1