My source is telecined in progressive. It has a B/C and C/D frame blend. I had some help on here that whipped up a looping sequence where it subtracted 2 previous frames from the current frame (I think, I am not sure honestly).
I was wondering if this could be used to only subtract B from C, then delete C/D so its back to 24 fps?Code:Overlay(last, Loop(2,0,0).ColorYUV(gain_y=-220, cont_u=-220, cont_v=-220), mode="subtract").ColorYUV(gain_y=40, cont_u=40, cont_v=40)
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!
+ Reply to Thread
Results 1 to 23 of 23
Thread
-
-
That's the basic idea. You need to adjust the ColorYUV values to subtract the correct amount. Post a sample of your source.
-
001.Uncompressed Sample.avi
Here you are my friend! -
-
-
They adapt to shifts in the pattern.
By the way, FixBlendIVTC requires a TDecimate too. -
-
Last edited by Fraugster; 30th Aug 2019 at 09:45.
-
-
It's probably an incompatible plugin. There has been lots of development in AviSynth plugins lately with all the new AviSynth+, 64 bit processing, high bit depth support, etc. Since the filters are made by many different people at different times it can be hard to get a compatible set of filters together.
-
-
-
Here's a possible workaround for you with 32 bit AviSynth. Use SRestore v2.796 from the wiki:
http://avisynth.nl/index.php/Srestore
Then add "global AvsPlusVersionNumber = 0" to the top of your AviSynth script. That worked for me with 32 bit AviSynth (no plus).
Code:global AvsPlusVersionNumber = 0 AviSource("001.Uncompressed Sample.avi") SRestore(omode="pp3") TDecimate(Mode=1)
-
That error comes up when you have an older smdegrain version. It's not listed as a dependency, but there are some checks in the smdegrain script
https://forum.doom9.org/showthread.php?p=1881139#post1881139
or use an older srestore version -
Well... I didnt see your code. I punched in the 'global AvsPlusVersionNumber = 0' into the AVSI of srestore and that fixed it! Is there any additional cleanup I can do to the artifacting of the frame that was removed? It also didn't entirely remove some blended frames which still exist
-
In the sample? Anyway, you can thank your crappy source. Is this really from a retail DVD, or did some fool get his hands on it and ruin it before you got it? Since you showed us a resized and lossless AVI rather than an M2V from a DVD, I'm guessing someone else "worked" on this before you got it. When the pattern changes - like maybe after a scene change - it takes some number of frames for SRestore to lock onto the new cadence. So, yes, some still blended frames might slip through.
Is there any additional cleanup I can do to the artifacting of the frame that was removed?
Also, when checking over your source, you can't just go directly to the place you want to check expecting the blends to have been removed. You have to begin 100 or so frames early to give SRestore a chance to lock onto the cadence. -
This source is actually from the PC version of the game. When I first looked at the file I realized it wasnt in its native res. It was upscaled to 1080, probably bicubic or some other algorithm. So I shrank it back down to its native res and then exported the uncompressed AVI. Thats what you see in the sample.
Regarding the artifacting, I am indeed willing to put some manual time into this source as I know it needs the love. I don't have any knowledge on override files or how to even get started, but I am willing.
Lastly, I thought that might have been the case, sometimes when I jump to a spot the blends are gone and some are not. I was making sure it had something to do with AVISynth before I began exporting. Thanks for the clarification! -
I was wrong about being able to fix it using an override file. It's not that choosing the other of the duplicate frames will fix it. It's in unique frames, apparently caused by SRestore. It's also in another filter I sometimes use for the same thing, Exblend. About the only way to fix that sort of thing is with frame interpolation, especially since it only occurs sometimes. And frame interpolation can be hit or miss. When it works it works spectacularly, but when it misses, you can get all kinds of nasty artifacts. The script used for the included video is this:
SRestore(omode="pp3")
Tdecimate(Mode=1)
FixBadFrames("218 222 226 230 234 238 242 246 250 254")
This is FixBadFrames.avs:
function FixBadFrames(clip c, string frames) {
# Replace each frame from a list of 'bad' frames by using MFlowInter to interpolate
# between the nearest pair of 'good' frames
c
sup = MSuper()
bv = MAnalyse(sup, isb=true, delta=2)
fv = MAnalyse(sup, isb=false, delta=2)
candidates = MFlowInter(sup, bv, fv, time=50.0, ml=100).DuplicateFrame(0)
ReplaceFramesSimple(candidates, mappings=frames)
}
It needs MVTools2 and RemapFrames to make it work. During that stretch beginning at about the 9 second mark, you get this white crap every four frames. And then it stops. So, you'll have to go through the whole thing to find where it occurs. Who knows, maybe this is the only time in the whole video where you get that.Last edited by manono; 30th Aug 2019 at 20:25.
-
I see what you mean haha
So it wont do good for some frames. Which is fine, making the number of bad frames smaller will be nice. If I have to go into photoshop and fix a few hundred frames I dont mind. Is there any other automated method that would work or is frame interp my only option? -
Oh, you're willing to work in Photoshop, eh? I'm working on something and just fixed a frame in a photo editor myself. It couldn't be interpolated because the movement was too fast.
Right, the picture shows what can happen. Movement too fast, one object moving behind another, too much difference in brightness and/or contrast between in the two frames on either side of the artifacted one, all kinds of stuff. The frames I used it on in the sample came out nicely.
If only a part of a frame needs interpolating, that can be done and maybe spare the parts that are moving quickly. You can create a mask so the filtering is done only on the part you want, leaving the rest alone. You can use FreezeFrame (useful with animations) to make a frame look identical to the one before or after. But sometimes there's nothing to do but dig into your favorite photo editor and then replace the broken frame with the fixed one.
The interpolator I showed you will only fix a single frame and it's useless to include adjoining frames. For fixing multiple frames in a row, look for ReplaceFramesMC here on Videohelp.com.
Similar Threads
-
Need help with writing an AviSynth script?
By EHarlen in forum RestorationReplies: 8Last Post: 28th Jun 2019, 10:54 -
QTGMC and TDecimate as a custom IVTC script?
By Vitality in forum RestorationReplies: 9Last Post: 22nd Nov 2018, 16:04 -
What to do after writing avisynth script?
By acgrall in forum Newbie / General discussionsReplies: 4Last Post: 9th Jan 2016, 08:44 -
how to IVTC in handbrake
By jamespoo in forum DVD RippingReplies: 2Last Post: 13th Oct 2014, 02:40 -
How to IVTC
By jamespoo in forum DVD RippingReplies: 1Last Post: 29th Sep 2014, 18:39