Log in

View Full Version : IVTC'd 3:2 pulldown video still has blended frames


eriler
6th September 2014, 10:58
Hello,

I have an animated clip with 3 progressive frames and 2 telecined/blended frames, yet when running it through IVTC tfm().tdecimate() it drops the wrong frames, and the blended frames remain, making the video blended and jerky.

Does anyone know what is wrong?

Here's the clip, about 4 seconds long:

https://www.mediafire.com/?n54155rcdqn70cn
alternative link
http://puu.sh/bnH6L/f45a9d3d7a.zip

feisty2
6th September 2014, 16:43
srestore

johnmeyer
6th September 2014, 18:30
There is so little motion in the clip you posted that I can't tell what is going on.

eriler
6th September 2014, 20:32
I'll see if i get time to check out srestore tomorrow, feisty.

johnmeyer, the clip has constant motion. If it's hard to see because of the low resolution, load it up in an avs script and preview it in avspmod with spline64resize(1280,720). You'll see an AAABB pattern, the A frames being clean progressive, and the B frames being telecined/blended.

foxyshadis
6th September 2014, 21:27
Specifically, SRestore (http://avisynth.nl/index.php/Srestore)(omode="pp3") gets rid of almost all of the blends, but a couple of times there's so little motion that it picks the wrong frames. Might need a little tweaking. Make sure to get the Average plugin for double-blends.

eriler
7th September 2014, 21:39
I had a little time to try our srestore now, but in the end i couldn't get it to work, i keep getting errors when trying to load this script:

loadplugin("C:\plugins\average.dll")
Import("C:\plugins\srestore_v2.7g.avsi")
loadplugin("C:\plugins\masktools-v2.0a48\mt_masktools-26.dll")
loadplugin("C:\plugins\GRunT.dll")
LoadPlugin("C:\plugins\TIVTC.dll")
LoadPlugin("C:\plugins\RemoveGrain.dll")

LoadPlugin("C:\DGDecode.dll")
DGDecode_mpeg2source("C:\VIDEO_TS\VTS_01_1.d2v", info=3, cpu=6)

ConvertToYV12()

trim(0, 43396)

SRestore(omode="pp3")

crop(4, 0, -2, 0)
Spline64Resize(720,480)


When loading it up it yields me the error:
"Script error: expected `{'
C:\plugins\srestore_v2.7g.avsi, line 319, column 0"

I looked in the script, there's not supposed to be a { at line 319.

.....

After some snooping, i found that there's a bug with srestore in avisynth 2.58 which i use, and i found some fix here http://forum.doom9.org/showpost.php?p=1540490&postcount=5

That being said, this gives me 29.97 fps output, and it drops the wrong frame every cycle making the video jerky. I'll have to read up on the help file for the srestore function and figure out if i can tweak it to not drop the wrong frames and yield 23.976 fps content, but i'm out of time now and because of work tomorrow it'll be a few days till i can keep working on this. I'll post back if there's anything, thank you for your help everyone.

StainlessS
7th September 2014, 22:31
The link you posted is not a fix for StrReplace, for v2.58, this one does give fixes: http://forum.doom9.org/showthread.php?p=1684967#post1684967

EDIT: All v2.58 through to 2.6a3 script containing string concatenation is broken where resultant string length
approaches 4KB, (including any temporary strings where multiple strings are concatenated).
Suggest use RT_StrReplace from RT_Stats, Only real fix that I'm aware of apart from fixing the script version, again
using an RT_stats string concatenation function.

foxyshadis
9th September 2014, 01:25
You really should update to Avisynth 2.6a5 at least, it's so much more stable and bug-free than 2.58.

The jerkiness is because you have to use Decimate() or TDecimate() after the script, like regular IVTC.