Chilton Webb - 2009-04-18


I have the Intel Digital Blue USB microscope, which I used to use with Macam years ago on a PPC Mac. I tried today, and saw that it did not work. But I've spent a LOT of time with odd pixel dimension apps lately, and recognized the pattern in the viewport. After some fiddling around (I'm leaving out the details to keep you from falling out of your seat from boredom), I found that if I change line 1427 of MyController.m to this...

    [driver setImageBuffer:[driver imageBuffer] bpp:3 rowBytes:544];

... it works!

The kicker is that 544 is not a multiple of 3, nor is it evenly divisible by the resolution for QCIF, which Macam lists as 176. I am a little confused by why this size works, but I'm fine with that. Anyway, I'm not sure how I'd fix that in the code as it stands, since it doesn't jive with the existing design, which multiplies the resolution by 3 to tag the row bytes.

However, 544 = (176 * 3) + 16

So adding 16 to the end works. Is this a byte alignment issue, perhaps?

I leave it to better minds than mine to figure out how best to check this fix in, but I am curious to see your solution.