Request: Add Inverse Telecine/DeTelecine/IVTC

Inverse telecine is different than de-interlace!! 24fps sources that have been previously telecine’d to 59.94 Interlaced) need to have ITVC applied, to recover the original discrete progressive frames, before other processing such as sharpening and upscaling. For those of us working with archival footage that the repositories have previously telecine’d, or for the Panasonic DV cameras that used to record 23.976p in a 59.94 NTSC “wrapper”, it’s a critical function, and other software to do this is cumbersome and/or very limited in its abililties.

Bonus: add in some custom settings that exceed other available software, including recovering material that was telecine’d from 16FPS or 18FPS film (such as 8mm, super 8, and silent-era 16mm and 35mm film).

With the CLI, it is still possible to perform telecine using FFMPEG’s built-in filter.
The GUI should also be able to select the telecine filter in the same way.
A sample of telecine using FFMPEG’s built-in filter in the CLI is described below.

"C:\Program Files\Topaz Labs LLC\Topaz Video AI\ffmpeg" -y -i %1 -sws_flags spline+accurate_rnd+full_chroma_int -filter_complex fieldmatch=combmatch=none,yadif=0:-1:1,decimate,setpts=N/(24000/1001)/TB,tvai_up=device=-2:model=prob-3:scale=2:compression=0.24:details=0.24:blur=0:noise=0.12:halo=0:preblur=0,scale=out_color_matrix=bt709 -color_primaries 1 -color_trc 1 -colorspace 1 -color_range tv -an -c:v prores_ks -profile:v 3 -vendor apl0 -pix_fmt yuv422p10le ""

Simply chain the filter that does inverse telecine before the tvai_up filter.

Thanks for your reply. For those of us who are “ordinary” users, this is complete Greek. I haven’t regularly used command line tools since MS-DOS 4.0 and Novel Netware. I certainly am not up to speed on the syntax for chaining command-line ffmpeg filters alongside Video AI.

If I understand you correctly, inverse telecine is not currently available in the GUI but can be invoked (at least to some degree) with a CLI, via ffmpeg.

This definitely illustrates the need to put this capability in the Video AI GUI, to make it accessible to video professionals who are not command line ninjas (most of us). And again, the best-case scenario would be to be able to select and/or detect less-common pulldown patterns, particularly from footage that originated at frame rates other than 24P.


Yes, the reason I gave the CLI sample was also to prove that what is feasible in the CLI can be achieved relatively easily in the GUI.
TVAI 3.x relies on FFMPEG.
Functions that do not exist in FFMPEG need to be created from scratch, which increases development costs, but functions that do exist can be added simply by adding commands to the GUI side that are passed to FFMPEG.

Thanks. Makes sense. Do you know if the FFMPEG CLI allow one to specify cadence and/or original frame rate (I believe that AVISynth has such a capability)?

The following pages may be helpful. It is in Japanese.
Probably, there is a similar article in English, so please search with the keyword “FFMPEG fps”.

Video AI definitely needs an Inverse Telecine method for deinterlacing. It would create superior quality for a native 24fps film as it will extract the full progressive frames before upscaling. It will eliminate that flashing/ghosting effect on telecined film footage visible after upscaling using Dione or any method that doubles the frame rate which turns each field into a frame.

The reason this happens is that each interlaced frame is made of 2 fields, and each field is slightly different than the other. When Deinterlaced by Dione, it duplicates the frame rate. That creates 2 frames of one actual frame from the film for every few frames (the 3:2 Pulldown pattern). 2 of consecutive frames that are exactly the same, won’t be the same in the output from Video AI because with Dione method the top field produces one frame and and the bottom field produces another. In motion, you will notice a flashing or ghosting effect when the same frame from the actual movie is duplicated using different information from the same frame.

Another advanced capability to make this even better would be an additional option to only reverse the pulldown but keep the 30fps after inversing the pulldown to produce a progressive 30fps video that is made of a mix of 24fps and 30fps.

The idea would be to inverse the pulldown but keep all the progressive 30fps frames and not reducing it to 24fps. That is turning a native progressive 30fps video on an interlaced 30fps wrapper into progressive 30fps video.
The current Dione methods are only great for turning a natively 60fps or 30fps video on a 30fps interlaced wrapper into a progressive 60fps by duplicating the frame rate.

I use TMPGENC Video Mastering Works 7 and it is the only software I know that has the option to IVCT to 24fps or only perform inverse pulldown and keep the frame rate at 30fps.

For example, I upscale old Disney Laserdiscs and some have additional bonus material.
A music video of Aladdin on the disc, has both cartoon and live-action scenes. The cartoon parts are 24fps (telecined) and the none cartoon parts are 30fps. I achieve the best interlacing by choosing to inverse the pulldown but not reduce the framerate from 30 to 24. The result is progressive 30fps that keeps all the full frames with the perfect smooth motion.

Note: I’m using 30fps and 24fps for ease of reading. I mean 23.768fps and 29.768fps

1 Like

try this


I’ve played around with these but it still doesn’t do what I mean. Do you have specific settings for these that you tried and worked?