I did a lot of video processing in the past. What you want is a frameserver like [Avisynth](http://avisynth.nl/index.php/First_script) (Windows-only, multithreading an afterthought, custom scripting language) or [Vapoursynth](http://www.vapoursynth.com/doc/gettingstarted.html#example-script) (Windows, Mac, Linux, scripting through Python)
Example Vapoursynth to flip a video: from vapoursynth import core video = core.ffms2.Source(source='Rule6.mkv') video = core.std.Transpose(video) video.set_output() This can be forwarded to mencoder, ffmpeg, x264 or x265 encoder. There are facilities to address particular frame, use GPU for lots of thing ([example page of all the denoising filters](http://avisynth.nl/index.php/External_filters#Spatio-Temporal_Denoisers) including GPU accelerated) This is a huge undertaking between SIMD, platform specific video API, multiprocessing, the avisynth/vapoursynth API, creating fast filters (which usually needs assembler ...), mathematical/signal processing knowledge.