Log in

View Full Version : Deinterlacing issue on old DVD


baka1
20th May 2020, 10:28
https://mega.nz/folder/mTphQSrA#eiVTXf8xiyP6qeQJpkV-AQ

Filters used
Tdeint(mode=2)
DeStripe() - first time using it - works really well for vertical lines

Though every 5-or-so frames there seems to be a blended image.

Katie Boundary
20th May 2020, 11:15
tdeint at standard settings lets a LOT of interlacing through. YADIF, YADIFmod2, NNEDI2/3, etc. are much better at removing interlacing. Tdeint is also intended to be used on field-accurate content, which, as you've noticed, this isn't. You have blended fields. There have been a couple of threads about that recently. I tell people to get manolito's srestore package. Your field party is also messed up, but I don't know if that's just your mkv encodes or if it's in the original VOB. If it's in the original VOB, you should use Complementparity() to fix it before srestore.

baka1
20th May 2020, 12:09
https://mega.nz/file/zHYGRaCT#GCqy5zM7RvpjFluw_VXZMyZMugn8DddvXPpPVpYjXHQ

Here's the demuxed clip.

ComplementParity didn't help - as I created a d2v file using DGIndex and MPEG2Source to read it. According to wiki - it should get it right. http://avisynth.nl/index.php/Parity

I tried nnedi3 and yadifmod2 and somehow get worse outcomes then tdeint(2).

Trying srestore asks for GScriptClip. Is there a link to manolito's srestore package?

StainlessS
20th May 2020, 12:24
GScriptclip from Grunt plugin.

Recent update to Grunt(for Avs+):- https://github.com/pinterf/GRunT/releases/tag/v1.0.2

manolito
20th May 2020, 13:43
Is there a link to manolito's srestore package?

Here it is:

https://files.videohelp.com/u/172211/Srestore_2.7e_AIO.zip

Just in case here is a link to the latest VC++ Redistribuables by Abbodi:
https://github.com/abbodi1406/vcredist/releases

A note of caution:
With srestore at least the version of MaskTools2 must match the version of srestore.avsi. You cannot use a newer version of masktools with the script I uploaded. If you already have a newer version of MaskTools2 in your AviSynth\Plugins folder you need to remove it temporarily. Also if you have RGTools.dll in your plugins folder you can either use it or remove it and replace it with RemoveGrain. Bad idea to have both dlls in your plugins folder.

baka1
21st May 2020, 00:37
Ignoring the blended frames issues for now. Just focusing on deinterlacing. There's more clips below - using Hybrid's set of deinterlacers - yadifmod with nnedi3 crashed the program.

https://mega.nz/folder/mTphQSrA#eiVTXf8xiyP6qeQJpkV-AQ

manono
21st May 2020, 01:09
Ignoring the blended frames issues for now. Just focusing on deinterlacing.
Uhhh... What? Because of the crap way the DVD was created, the two are inextricably linked together. You get rid of both at the same time and in the same way. Try this:

AssumeTFF()
Yadif(Mode=1)#or the better QTGMC or other bobber of your choice
Srestore(Frate=23.976)

I had to use AssumeTFF for your sample. The main video may or may not need it. And please - PLEASE - the next time you make DVD samples available cut them using DGIndex and upload M2Vs, and not MKVs.

baka1
21st May 2020, 09:38
And please - PLEASE - the next time you make DVD samples available cut them using DGIndex and upload M2Vs, and not MKVs.

Ok this is sounding like a stupid question... I know how to demux the whole video from DVD using DGIndex in Avisynth - but how do I cut M2Vs?

My solution was using MKVToolNix to cut specific frames from the M2V.

videoh
21st May 2020, 09:47
Set a project range with the [ and ] buttons and the 'Save project and demux video'. The resulting M2V will contain only the video in the project range.

baka1
21st May 2020, 11:30
OK I've demuxed a longer M2V. https://mega.nz/file/fHJHVIBJ#OSqAnWlu-35UzEQOQsT_AYxRYlAex1Gfts0D96NQgQg

While srestore to 23.976 has helped with the blended fields, I can't seem to find a bobber that seems to work (Tried Yadifmod2, nnedi3). Oddly QTGMC creates ghosts for me but is widely spoken of as the quality filter.

real.finder
21st May 2020, 11:40
you may like sanimebob

sanimebob()
srestore(omode=4, cache=10).srestore(frate=23.976)
#smam() #for more stability

baka1
21st May 2020, 13:02
sanimebob()
#smam() #for more stability

Worked out that sanimebob and smam is part of Advanced Denoising.avsi

Then I got lost finding the other dependancies on that long script.

real.finder
21st May 2020, 13:12
Worked out that sanimebob and smam is part of Advanced Denoising.avsi

Then I got lost finding the other dependancies on that long script.

sanimebob in AnimeIVTC now

smam now in Zs_RF_Shared.avsi

baka1
21st May 2020, 13:29
https://imgur.com/CbN82u7 - sanimebob still blurs

https://imgur.com/WqOPhfn - smam makes it a mess

https://imgur.com/XFZRCts - still messed up but looks cool LOL

real.finder
21st May 2020, 14:04
https://imgur.com/CbN82u7 - sanimebob still blurs

https://imgur.com/WqOPhfn - smam makes it a mess

https://imgur.com/XFZRCts - still messed up but looks cool LOL

post your full script!

https://www.solidfiles.com/v/R4dL6A7xMvDWm

it's fine here

ffms2("VTS_01_1.demuxed.m2v")
sanimebob()
srestore(omode=4, cache=10).srestore(frate=23.976)
FrameCache(30)
smam() #for more stability

baka1
21st May 2020, 14:35
FFmpegSource2("D:\Faithfully Yours 1988\No Label\VIDEO_TS\VTS_01_1.demuxed.m2v")
AssumeTFF()
sanimebob()
srestore(omode=4,cache=10)
ChangeFPS(23.976) - using the format above gives me a warning that says you cannot use srestore twice
smam()

manono
21st May 2020, 19:45
While srestore to 23.976 has helped with the blended fields...
SRestore by itself? That's not how it works. You bob the video followed by SRestore.
Oddly QTGMC creates ghosts for me but is widely spoken of as the quality filter.
It is a quality filter, but maybe not suitable for all uses. The blends are in the fields and it turns those fields into frames. I'll use a different one in your newer sample
ChangeFPS(23.976)
Nope.

using the format above gives me a warning that says you cannot use srestore twice
Then remove the line with its first use and only use it to do the unblending. It doesn't actually do any unblending. It just tries to choose the fields/frames that are 'clean'.

yadifmod(mode=1, edeint=nnedi3(field=-2))
Srestore(Frate=25)

I decided it was really supposed to be 25fps and hadn't checked the earlier sample closely enough. I apologize. And this one has a slowed down scene so there are duplicate frames during that part. It's not perfect and scene changes can be a problem. You can thank your lousy DVD for that. And, once again, use MPEG2Source for your DVDs. It's the most reliable source filter for DVDs. Apparently real.finder disagrees. :)

https://www.sendspace.com/file/1yibbj

StainlessS
21st May 2020, 19:59
Apparently real.finder disagrees. :)

Probably just a little mistake, MPEG2Source always best here.

real.finder
22nd May 2020, 03:18
ChangeFPS(23.976) - using the format above gives me a warning that says you cannot use srestore twice


ask manolito since he give you some very old srestore

manono, StainlessS

I use ffms2 for testing here, it seems fine, but yes there are some sources that need MPEG2Source

Katie Boundary
22nd May 2020, 11:27
OK I've demuxed a longer M2V. https://mega.nz/file/fHJHVIBJ#OSqAnWlu-35UzEQOQsT_AYxRYlAex1Gfts0D96NQgQg

Excellent. In THIS clip, the fields are in the correct order, and you do not need to use complementparity(). You can skip straight to using srestore.

While srestore to 23.976 has helped with the blended fields, I can't seem to find a bobber that seems to work (Tried Yadifmod2, nnedi3). Oddly QTGMC creates ghosts for me but is widely spoken of as the quality filter.

NNEDI3 is a dependency of QTGMC. If QTGMC works on your computer, then NNEDI3 also works.

QTGMC attempts to track the movement of various parts of the image. I don't think it's a good idea to use it on footage that has already been blended, as that might confuse it. Also, if I'm not mistaken, Srestore and QTGMC share some dependencies, but require different versions of those dependencies (Srestore requires older, QTGMC requires newer) and that can be annoying to work around.

hello_hello
22nd May 2020, 11:53
Also, if I'm not mistaken, Srestore and QTGMC share some dependencies, but require different versions of those dependencies (Srestore requires older, QTGMC requires newer) and that can be annoying to work around.

It depends on the SRestore version, I think. I know the latest SRestore and QTGMC can use the same dependencies, because it's working for me.
The newer SRestore requires GRunT (http://avisynth.nl/index.php/GRunT).