I have a project which is 25i in Premiere CC2019 which I want to render out as 50 fps bwdif deinterlaced (for better temporal quality). I am NOT interpreting my footage in Premiere, everything is interlaced on the timeline.
At export, I set my Export settings to 50p, and using Voukoder 4.1 I want to encode as deinterlaced 50p using the bwdif filter.
I expected the process to be:
- set the Premiere Export video settings as 50p progressive
- in Voukoder -> Video -> Filters, choose bwdif, set the parameters deint=all, mode=send_field,parity=auto (the source footage is TFF).
- Encode a 50 fps file.
However, doing this, I get a file which is encoded as 50p, but each video frame is doubled (like a PsF file), so it's double the duration of the audio. There is also 'flutter' at the top of the screen, an indication the deinterlacing is not being done correctly.
Unsurpsigingly, a 2x playback rate shows the video at correct speed, albeit with frame flutter at the top of the image. I can see the field jumps from bad interpolation if I step through frame by frame. The same happens if I enable the Yadif filter. It does not happen if I use ffmpeg to bwdif deinterlace to 50p using frameserving.
If I change my Export settings to 25 fps TFF in Premiere, using the same deinterlacing settings in Voukoder, the output file is 25 fps and flagged as interlaced, however the actual video stream is progressive.
Log excerpt from exporting 50 fps progressive and bwdif deinterlacing:
[19:33:54] Options: _pixelFormat=yuv420p crf=24.000 level=41 preset=medium profile=high rc=crf tune=film[19:33:54] Opening codec: libx264 with options: crf=24.000|level=41|preset=medium|profile=high|rc=crf|tune=film[19:33:55] Frame #0: vRender: 98122 us, vProcess: 15 us, vEncoding: 25629 us, aRender: 318 us, aEncoding: 7465 us, Latency: 847796 us[19:33:55] Frame #1: vRender: 609 us, vProcess: 4 us, vEncoding: 8558 us, aRender: 638 us, aEncoding: 35 us, Latency: 9858 us[19:33:55] Frame #2: vRender: 14 us, vProcess: 6 us, vEncoding: 16839 us, aRender: 642 us, aEncoding: 902 us, Latency: 18427 us[19:33:55] Frame #3: vRender: 24 us, vProcess: 12 us, vEncoding: 17321 us, aRender: 553 us, aEncoding: 522 us, Latency: 18455 us[19:33:55] Frame #4: vRender: 10 us, vProcess: 5 us, vEncoding: 12870 us, aRender: 1239 us, aEncoding: 634 us, Latency: 14797 us[19:33:55] Frame #5: vRender: 54 us, vProcess: 16 us, vEncoding: 13820 us, aRender: 576 us, aEncoding: 431 us, Latency: 14924 us
And exporting 25 TFF deinterlacing in Voukoder:
[19:40:35] Options: _pixelFormat=yuv420p crf=24.000 level=41 preset=medium profile=high rc=crf tune=film[19:40:35] Opening codec: libx264 with options: crf=24.000|level=41|preset=medium|profile=high|rc=crf|tune=film[19:40:36] Frame #0: vRender: 152634 us, vProcess: 9 us, vEncoding: 16413 us, aRender: 610 us, aEncoding: 7205 us, Latency: 818417 us[19:40:36] Frame #1: vRender: 293 us, vProcess: 4 us, vEncoding: 18580 us, aRender: 813 us, aEncoding: 1006 us, Latency: 20708 us[19:40:36] Frame #2: vRender: 14 us, vProcess: 5 us, vEncoding: 11078 us, aRender: 998 us, aEncoding: 747 us, Latency: 12859 us[19:40:36] Frame #3: vRender: 14 us, vProcess: 5 us, vEncoding: 9495 us, aRender: 746 us, aEncoding: 728 us, Latency: 11004 us[19:40:36] Frame #4: vRender: 20 us, vProcess: 5 us, vEncoding: 8936 us, aRender: 838 us, aEncoding: 679 us, Latency: 10490 us[19:40:36] Frame #5: vRender: 20 us, vProcess: 6 us, vEncoding: 9101 us, aRender: 755 us, aEncoding: 595 us, Latency: 10489 us
I'm pretty sure I'm not doing anything wrong, is this a bug in deinterlacing? Or do I need to set up Voukoder in a very specific way to output 50p deinterlaced from 25i timeline?
Also, some possible menu option order bugs in the Voukoder GUI:
With bwdif, the field dropdowns do not match the values shown in parameters. "Send Frame" shows "send_field" and Send Field shows "send_frame". For deinterlacing options, Auto shows "tff", Top field first shows "bff" and "Bottom field first shows "auto". Yadif appears to be correct.
Encode log files appear to be held open by Voukoder even after the encode is finished. I could not delete log files from Explorer after encodes had finished until Premiere was closed.