Am 14.11.2012 18:05, schrieb Devin Heitmueller: > On Wed, Nov 14, 2012 at 11:58 AM, Frank Schäfer > <fschaefer.oss@xxxxxxxxxxxxxx> wrote: >> This looks indeed like a bug. >> a >>= b means a = a >> b, which in this case means shifting height 480 >> or 576 bits to the right... >> height >> 1 means height /= 2 which seems to be sane for interlaced devices. >> OTOH, I wonder why it seems to be working on other platforms !? >> Unfortunately I don't have an interlaced device here for testing. :( > It's definitely a bug. I think Mauro put a patch in for 3.7 or 3.8. > The reason it works under x86 is because shifting an arbitrary number > of bits > 32 causes indeterminate behavior, and out of dumb luck it > has no effect on x86. > > But yeah, I changed the code to shift by one bit and it's been working > fine on ARM for months in my environment (DM3730). > > Devin Hmm... I've made some experiments to find out what gcc does on x86 and it seems to ignore bit shifting > 32. I also noticed that this line has been removed in 3.7-rc. So we do NOT want to halve the height for interlaced devices here, right ? Regards, Frank -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html