The wiki
http://avisynth.org/mediawiki/External_filters
says that autolevels works on YV12, YUY2, RGB32, RGB24 format pixels.
Certainly it works on YV12. If I convertToRGB24() before autolevels, it still works, but the effect is small. If I convertToRGB32() first I don't see any difference from the unprocessed video.
But my biggest problem is that ConvertToYUY2().autolevels() produces a very saturated purple video (it might be different on different clips, but this is what I'm seeing).
Is the wiki simply wrong?
I've worked around it with this:
(orig is in YUY2 format)
tmp = orig.convertToYV12().autolevels().convertToYUY2()
orig = MergeLuma(orig,tmp)
but if there is a more direct way to operate on YUY2() without the two conversions, I'd like to know.