Quoting Billy Biggs <vektor@xxxxxxxxxxxx>: > Dmitri (dmitri@xxxxxxxxxxxxxxxxxxxxx): > > > You can do deinterlacing in the kernel if you really want. > > Please don't. There are too many ways to do it wrong, and you'll > screw those of us writing deinterlacers. High quality deinterlacing is > just as slow as scaling, and probably worse. It was done 2 years ago (for v4l1 + xawtv), and it *had* to be done in the driver to make the camera work. But you are right, and that's why I am pushing for shared code where all these little things can be concentrated in one place and updated as soon as newer technologies are available. If people start cutting and pasting poor imitations of YUV->RGB, with *different* coefficients each time (already happened!) then it will be much harder to correct later. > And I bet it isn't gamma correct. (v1+v2)/2, nothing fancier. And in integers too... > > I don't even want to think what it would take to average two > > YUV-encoded pixels. > > To be gamma correct you need to convert from Y'CbCr back to RGB to > interpolate. Don't forget to convert back :-) That's why I said it's not easy... an awful amount of operations even on moderate image size. You surely would want some SIMD matrix multiplication for that... Cheers, Dmitri
Attachment:
pgpZonJ3w54yP.pgp
Description: PGP signature