I'm also starting to enjoy filter invokation, and have used it in my latest filters (MipSmooth), and in a more advanced version in ConditionalFilter.
Regarding the bitblitting, you could simply assign AvsEnv 0 in the mpeg2decoder constructor, and do an
Code:
if (AvsEnv) {
bitblt
} else {
use existing
}
Edit: Not sure if it is safe to always use env from the constructor - setting it each frame will not be any performance problem.