The only file format that I would use for all “working files” is OpenEXR MultiLayer.
This format is designed – by Industrial Light & Magic with a little help from Blender Foundation – to represent digital data accurately, efficiently, and without loss. Its content consists of several numeric data-sets, one per “layer,” exactly as they were produced by the renderer (or by whatever did produce them). The data consists of floating-point numbers, with no attempt to “map” them to any display-space. The files exist to allow you to break up a pipeline into multiple stages without losing anything.
The “final cut” of your movie might be a non-multilayer OpenEXR dataset, simply because you don’t need layers anymore.
(The files are big, and there’s a lot of 'em. Who cares …)
Only then do you concern yourself with producing “deliverable files” in whatever movie-file format(s) you may require. Each of these are produced by separate blend-files which take the “final cut” data as input and produce whatever may be required as deliverable output. Only at this step is any “lossy” processing done … and of course, by definition nothing is actually “lost” because every one takes the same OpenEXR input that is unchanging.
If, instead, you attempt to use “movie files” or “image files” as intermediates, you’re losing data and picking up noise at every step along the way, with the noise and the error being effectively multiplied with every successive stage. And that – well … – that is why we have formats like OpenEXR! :yes: