It doesn’t fill in the missing lines with all-new material. It merges lines 1,3,5 with lines 2,4,6 from the next field and does comb filtering removal to fix offsets. This merge is why the rate drops from 50i to 25p. At this point, there are no more source lines left over to get from 25p to 50p. A deinterlacer has to invent new material to create more frames. All “real” lines were already used up by merging two fields into a single frame. This is why it isn’t trivial to get to double rate. This is why there is a big quality difference between the fast field-doubling deinterlacers and the slow interpolation deinterlacers.
Before you say the next frame should simply merge 2,4,6 with 3,5,7… please remember that the previous frame and this new frame would both have 2,4,6 in them. Perceptually, half the frame has not changed, which means the perceived frame rate will not actually double. If averaging is added to the process, there is a little improvement. But it’s not the same as full temporal restoration by having an interpolator invent totally new and reasonable lines to fill in the gaps.
I wasn’t sure exactly how to interpret this, so for the sake of clarity… An interlaced field is half of a frame, which happens at each 1/50th of a second. That means all fields of a frame are not present until 1/25th of a second intervals. This is why a single-rate deinterlacer drops the frame rate from 50 to 25. It is merging odd+even fields into a single frame. The loss of temporal resolution and the addition of comb artefacts is why the merged footage looks less smooth.
If you are happy with the look of real-time VLC playback, that’s great. That level of quality could theoretically be worked into Shotcut and probably maintain real-time preview provided MLT supported frame rate changes. (I am not a developer and do not speak for them; I’m just sharing what I know.) However, this is not the best that deinterlacing can look. Some people set the bar much higher, and it is possible to get there with extra processing time.
To your point, if MLT supported frame rate modification (converting a source to double-rate), then quickly fabricating frames to get from 50i to 50p could be done by algorithms like w3fdif and bwdif which analyze three source fields to help invent the missing lines. It might be good enough for most people in most situations.
I don’t understand this one. If the conversion renders in the original field rate, that means the output is 50p. To use that output, the timeline would need to be 50p, which is what we’ve referred to here as a “higher project frame rate”. How could the conversion running at 50p field rate be dropped onto a 25p timeline without removing half the frames? Doing so would produce the same not-smooth movement we are seeing today.
Oooooh, as I type this, I think I see where the confusion is now. The missing detail is that for all practical purposes, all processing and output of Shotcut is progressive. When export options are set for interlace, that doesn’t mean processing happens at 50 fields per second despite the sound of it. It means processing happens at 25p, hence 50i converted to 25p… then at export time, the progressive frames are encoded and signaled as interlaced in the metadata. However, there is no 50-field temporal resolution present. It is only 25-frame resolution even though the output format is flagged as interlaced. If Shotcut output was analyzed field at a time, and if deinterlacing had been triggered during processing, then there would be no time advancement from fields 1,3,5 to fields 2,4,6 (assuming TFF) as there would be with true interlaced material. So yeah, this little detail will probably disappoint you as it changes the math of everything.