VideoDecoder abstraction added