- you don't have to specify the field dominance for an mpeg2source
- use separate + weave for overlay , you will have to change -4 to -2 most likely
i dont know if daa3 support fields or full frames only
+ Reply to Thread
Results 61 to 90 of 113
-
*** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
-
It's not the overlay that's the problem as I tried it without overlay and I still got interlacing artefacts. Daa3() seems to be causing some of them. I removed Daa3() and I still get some. It's the removespots line that's the problem. However I need that line to get rid of comets which are in other videos. How can I fix this?
-
daa3 appears to work with interlaced video (uses needi3 to separate fields).
VideoFanatic, you are cropping improperly with YV12. The AVisynth rules for cropping are:
Code:Colorspace Width Height progressive video interlaced video ---------- -------------- ----------------- ---------------- RGB no restriction no restriction mod-2 YUY2 mod-2 no restriction mod-2 YV12 mod-2 mod-2 mod-4
Your sample video of interlace "artifacts" has serious edge problems from tape duping and re-encoding, oversharpening, and all kinds of mistakes. It also has some poor motion control and judder from those previous mistakes and re-encoding with low bitrates. I don't see a way to improve it except to go progressive with it. And even then, motion isn't smooth. Are you sure this wasn't originally PAL video that someone tinkered with to make it NTSC?
I doubt that daa3 will help with this.Last edited by sanlyn; 21st Mar 2014 at 10:13.
-
I'm only concerned with the interlacing artefacts. I'm not bothered about any other issues. I don't think the video was ever PAL as the show only aired in NTSC regions.
I removed the crop but that made no difference. Below is the script to remove comets. I make an uncompressed AVI with this script.
Code:setmtmode(5,9) Mpeg2Source("E:\7 secs.d2v", CPU=6) setmtmode(2) RemoveSpotsMC2x(last, 0) Separatefields() RemoveSpotsMC2x(last, 0) Weave()
After I get the AVI I convert the AVI to h264 and use the below script on it. I can see interlacing artefacts when I burn the video to a Bluray disc and watch it on my PS3.
It's definately the RemoveSpots line in the AVI script that's the problem because when I convert to AVI with no script at all then convert the AVI to H264 using the script below, I don't get interlacing artefacts.
Code:McTemporalDenoise(settings="medium", interlaced=true) AssumeTFF() QTGMC(Preset="Super Fast") SeparateFields() SelectEvery(4,0,3) Weave() Overlay(last, last, y=-4, mode="chroma") Tweak(Hue=20, Sat=0.4, Bright=0, Cont=1.0, Coring=False) Crop(16,0,-14,-18) AddBorders(16,10,14,8, $000000)
Last edited by VideoFanatic; 12th Sep 2013 at 17:25.
-
-
Can you be more specific please as I don't fully understand what you're saying.
-
I tried this in the AVI script:
Code:AssumeTFF() QTGMC(Preset="Super Fast") SeparateFields() SelectEvery(4,0,3) Weave() RemoveSpotsMC2x(last, 0) Separatefields() RemoveSpotsMC2x(last, 0) Weave()
So does that seem OK or is there a better way of doing it? -
-
Unfortunately it need to be like this in order to remove the maximum amount of comets while causing the least amount of damage to the picture:
RemoveSpotsMC2x(last, 0) Separatefields() RemoveSpotsMC2x(last, 0) Weave() -
-
It IS RemoveSpotsMC2x that's causing it because I tried leaving out that and just having Separatefields() Weave() and there were no interlacing artefacts when watching the Bluray!
Could it be something to do with a setting in the RemoveSpotsMC2x.avsi plugin?
Code:function RemoveSpotsMC2x(clip,int limit, bool "_grey") { _grey=default(_grey, false) limit = default(limit,6) i=MSuper(clip,pel=2) bvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true) fvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true) backw = MFlow(clip,i,bvec) forw = MFlow(clip,i,fvec) clp=interleave(backw,clip,forw) clp=clp.RemoveSpots().RemoveSpots().RemoveSpots() clp=clp.SelectEvery(3,1) return clp }
-
And I believe you. And I'm suggesting that separating the fields, using MCRemoveSpotsMC, and then reinterlacing, is the culprit. But I guess we'll never know since you're not interested in testing it. Although I haven't used it in that 2x form, I have tried the regular version as you're doing (using it on the fields before weaving it all back together.
-
That's the first time I've seen you suggest that to try! But I've already done that as mentioned in post 69 haven't I and I've said that what's causing the problem.
If I've misunderstood you then please clarify. -
In two separate earlier posts I suggested leaving out the 'Separatefields().RemoveSpotsMC2x(last, 0).Weave()' step to see if it was the cause of the problem.
No, you haven't. Post 69 says it has to be done in such-and-such a way and I suggested testing slightly differently in order to try and narrow down what's causing your problem, something you have yet to try. It's OK, not my video, not my problem, sorry I stepped in. -
-
-
OK thanks. I'll do that. It's annoying it shouldn't be used with interlaced video because it doesn't remove many comets if I convert to progressive before using it. Any suggestions?
-
I don't see the point of the RemoveSpotsMC2x.avsi script if it's only designed for progressive videos. I tried the following in progressive the re-interlaced afterwards:
Code:AssumeTFF() QTGMC(Preset="Super Fast") RemoveSpotsMC2x(last, 0) SeparateFields() SelectEvery(4,0,3) Weave()
Code:clp=clp.RemoveSpots().RemoveSpots().RemoveSpots().RemoveSpots().RemoveSpots().RemoveSpots().RemoveSpots()
-
You can use progressive filters on interlaced video by separarating fields and grouping odd/even , then interleave and weave
SeparateFields()
Ev=SelectEven().RemoveSpots2x()
Od=SelectOdd().RemoveSpots2x()
Interleave(Ev,Od)
Weave()
The reason you can't just use separatefields and apply a filter, is even/odd fields are spatially offset -
I tried the below and it says "invalid arguments to function RemoveSpotsMC2x" for the red line
Code:SeparateFields() Ev=SelectEven().RemoveSpotsMC2x(last, 0) Od=SelectOdd().RemoveSpotsMC2x(last, 0) Interleave(Ev,Od) Weave()
-
I haven't used that function, only RemoveDirtMC and related functions.
But I think you need a source filter , Also, the strength is 0 (does nothing) . Increase the number for stronger, lower for weaker
e.g
AVISource()
SeparateFields()
Ev=SelectEven().RemoveSpots2x(30, false)
Od=SelectOdd().RemoveSpots2x(30, false)
Interleave(Ev,Od)
Weave() -
Here's a fixed RemoveSpotsMC3x() (you were calling it 2x) where the defaults work properly. You should be able to use it with poisiondeathray's script:
Code:function RemoveSpotsMC3x(clip clip, int "limit", bool "_grey") { _grey = default(_grey, false) limit = default(limit, 6) i=MSuper(clip,pel=2) bvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true) fvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true) backw = MFlow(clip,i,bvec) forw = MFlow(clip,i,fvec) clp=interleave(backw,clip,forw) clp=clp.RemoveSpots().RemoveSpots().RemoveSpots() clp=clp.SelectEvery(3,1) return clp }
-
Here's a different video from the OP. It's only a few seconds long so you can easily see the interlacing artefacts.
On the avsi you just posted you obviously changed the function name to RemoveSpotsMC3x instead of 2 but I noticed a few differences in the new avsi file which I've highlighted in red.
function RemoveSpotsMC3x(clip clip,int "limit", bool "_grey")
What does the red stuff do differently?
In my AVS script I used this:
Code:SeparateFields() Ev=SelectEven().RemoveSpotsMC3x(last, 0) Od=SelectOdd().RemoveSpotsMC3x(last, 0) Interleave(Ev,Od) Weave()
I tried RemoveSpots2x(30, false) and the script loaded without errors so I assume this is the correct method rather than
(last, 0)?
Could someone please tell me what "false" does? Also you said the number it to adjust the strength of removespots however I found that entering 0 or 100 or 1000 made no difference to the strength - all the comets were removed/most of them removed regardless. So what does the number actually do?
Anyway the new script works great on the video in my OP. I did a 14 pass of removespots in the AVSI file. It doesn't seem to lose much picture quality but it removes the comets which is good.
However in the short video at the top of the post you're reading now - I can still see minor interlacing artefacts. Why is that? Is it because the video was so low quality?
I tried using QTGMC and re-interlacing before the RemoveSpots script but that only made the picture quality worse as you can see on the ring ropes. -
"false" is for processing a color source
The number works in the removedirtmc variants ; higher number = stronger, but more side effects & details removed. It might be that stacking 3x removespots has no effect, or it's too strong to be modulated by the number (everything is removed already) -
It fixes the syntax so the function's default values work. So you don't need to specify them in the call.
That syntax wouldn't get you what you want anyway. You don't want RemoveSpotsMC3x() to work on "last" (the output of SeparateFields()), you want it to work on the output of SelectEven() and SelectOdd().
Change it to:
Code:SeparateFields() Ev=SelectEven().RemoveSpotsMC3x(6, false) Od=SelectOdd().RemoveSpotsMC3x(6 false) Interleave(Ev,Od) Weave()
Code:SeparateFields() Ev=SelectEven().RemoveSpotsMC3x() Od=SelectOdd().RemoveSpotsMC3x() Interleave(Ev,Od) Weave()
https://forum.videohelp.com/threads/357149-Can-someone-create-a-comet-removal-Avisynth-...=1#post2261200
Maybe you should switch to those and see if they work any better.Last edited by jagabo; 13th Sep 2013 at 17:23.
-
Thanks, that clears things up. I did try the massive script version a while back and found it gave a far worse picture than the small avsi file. Anyway I'm calling the small avsi file (doing 14 passes within the avsi) and I'm using the following script:
Code:setmtmode(5,9) AVISource("E:\2 = New\Uncompressed AVI.avi") setmtmode(2) SeparateFields() Ev=SelectEven().RemoveSpotsMC3x() Od=SelectOdd().RemoveSpotsMC3x() Interleave(Ev,Od) Weave() Overlay(last, last, y=-4, mode="chroma") Tweak(Hue=20, Sat=0.4, Bright=0, Cont=1.0, Coring=False) Crop(16,0,-14,-18) AddBorders(16,10,14,8, $000000)
On the 1st video in the OP I don't see any interlacing artefacts when using the above script and viewing the video on a Bluray disc on my TV. On the 2nd video in the OP which is low quality I can see interlacing artefacts that would not be there if I hadn't used the RemoveSpots script. Are those interlacing artifacts happening because the file is lower quality than normal?Last edited by VideoFanatic; 13th Sep 2013 at 21:00.
-
-
I tried with 4 passes and 14 in the AVSI file and couldn't see any noticeable difference in picture quality but it removed more comets. If I did that many passes in the avs file then I would agree with you.
-
Last edited by sanlyn; 21st Mar 2014 at 10:14.
Similar Threads
-
Possible to use avisynth in Sony Vegas? and is there a ColorMill plugin for
By gil900 in forum RestorationReplies: 2Last Post: 2nd Feb 2013, 12:53 -
Grain Removal filters for Avisynth
By Legendkiller in forum EditingReplies: 0Last Post: 10th Oct 2011, 21:29 -
Best AviSynth plugin for deinterlacing? (general consensus) ...
By takearushfan in forum Video ConversionReplies: 5Last Post: 28th Apr 2011, 23:59 -
Which Avisynth deinterlace plugin provides the best result?
By Mdoodm1000 in forum Video ConversionReplies: 7Last Post: 21st Jun 2010, 18:41 -
How do I create my own custom FreeFrame plugin?
By SpotFinder in forum Newbie / General discussionsReplies: 0Last Post: 11th Jun 2009, 12:38