View Full Version : another restore function
Pages :
1
2
3
4
[
5]
6
7
8
9
10
11
12
13
14
15
16
17
18
thetoof
8th April 2008, 03:36
I'm using FixblendIVTC on a VHS capture and it works very well to detect the blends and make the clip ready for decimation, but I'm having problems with the postprocessing... I tried the suggested deen, but couldn't get satisfying results. Does anyone know a good plugin/script that could help?
anonova
15th May 2008, 17:41
I'm trying FixBlendIVTC on an old film, and I'm having problems encoding it. The first time I encoded, each scene change would be erratic. Say I had abcde. The encode would show abdce. I went back and framestepped through, and it was fine. Any ideas what's causing this? I'm just using a regular script.
fixblendivtc()
decimate()
thetoof
16th May 2008, 04:00
Could you upload a short sequence that gets messed up after fixblendivtc? I'd be easier for us to reproduce your issue.
MOmonster
16th May 2008, 18:36
@anonova
You can put RequestLinear(8, 5, 5, false, false) between FixBlendIVTC and decimate. If this doesnīt work doing a lossless first (extra) pass and encode the lossless file.
Hope this works.
@thetoof
Without a sample I canīt give you a better advice for the postprocessing.
Vesi
15th June 2008, 13:21
Hi, I have source which I anlyze with VDM and I see some 2 interlace frame and 3 prograsive frame, when I see the 2 interlace frame they are also dublacate, hopefully I'm right?
sample (http://www.sendspace.com/file/mh8vs1)
is this a TELECINE source with field blended? and how should I deal with this type of source?
45tripp
15th June 2008, 15:14
no it's just hard telecine
tfm()
tdecimate()
thetoof
15th June 2008, 17:56
Yes, and I'd add that if you have aliasing as there was in this (http://forum.doom9.org/showthread.php?t=137879)thread, you could use the even more precise (but slower) field matching in post #11.
Vesi
15th June 2008, 20:01
Immersion & thetoof Thanks alot guys for the replay. Immersion when i analyzed my source with MeGUI, that automaticly suggest tfm()
tdecimate(). Which I don't want to use it, coz I want to learn the better way for dealing with this type of source.
@ thetoof I will give it try when I get home.
O. Can we use Cdeblend for this purpose? if not then, for which purpose we can use it?
Thanks in Advance
Thanks.
thetoof
16th June 2008, 04:59
Cdeblend is a simple blend replacing function like unblend or removeblend
You can find the rest of the info in the script... open it with the notepad
Leak
16th June 2008, 13:49
when i analyzed my source with MeGUI, that automaticly suggest tfm()
tdecimate(). Which I don't want to use it, coz I want to learn the better way for dealing with this type of source.
Which is silly, because "this type of source" is simply telecined, which is exactly what TIVTC (i.e. TFM and TDecimate) was made for.
Since there's no blending in the fields of the VOB you posted it simply doesn't make sense to use something like CDeblend...
elguaxo
22nd June 2008, 21:13
I'm trying to encode an anime which has many blends among other problems. I tried AnimeIVTC and MRestore for fighting the blends. I am happy with MRestore but I get some frames with these errors:
http://img440.imageshack.us/img440/8793/samplesv7.th.png (http://img440.imageshack.us/img440/8793/samplesv7.png)
Vob sample: http://www.mediafire.com/?hddyclbhy32
Script reduced just to the MRestore part. I get an error like in the screenshot above just using this:
Import("D:\AviSynth 2.5\plugins\MRestore.avs")
DGDecode_mpeg2source("I:\sample.d2v",info=3)
interp=nnedi(-2)
yadifmod(mode=1, edeint=interp)
Mrestore(mode=0, numr=2002, denm=5005, chroma=true, dup=1)
Any hints?
MOmonster
23rd June 2008, 20:56
I updated mrestore to version 2.3d and bob_repair to version 0.4.
Download link in my first post.
@elguaxo
Thanks for the report. I fixed the bug.
Using a faster bobbing for dclip will speed-up your script.
elguaxo
23rd June 2008, 21:02
great customer service! :)
MOmonster
1st July 2008, 21:18
@elguaxo
No problem.
@all
Another bug were found and fixed. Mrestore version is now 2.3e.
I added Cdeblend to the wiki. I will try and get to Mrestore some time today.
MOmonster
11th July 2008, 09:48
Oh, thanks really much.:thanks:
smekoslav
3rd August 2008, 10:44
When I try to use mrestore() in my script (trying to convert 60i to 25p) I get this error:
ChangeFPS: Ratio must be less than 10 for linear access. Set LINEAR=False.
Naturally I tried setting linear=false but then the script became useless as it crashed every time.
My script:
import("C:\Program Files\AviSynth 2.5\plugins\mrestore.avs")
DirectShowSource("E:\TDL-Folder\bdg\BDMV\STREAM\g1.grf",audio=false)
mrestore()
foxyshadis
3rd August 2008, 17:52
Are you sure that it's actually coming in as 60i? Replacing mrestore with info() should give you 30 fps for the framerate, if not then you need to specify that in directshowsource. And don't forget to specify the final framerate in mrestore.
smekoslav
8th August 2008, 14:19
info() gives 29.97fps, not 60i as eac3to states.
so how exactly must i put the final framerate into mrestore? using numr and denm won't work.
levi
18th August 2008, 18:36
Mrestore use the numerator and denominator instead of an output framerate parameter, because this is more accurate.
foxyshadis
I thought the latest version (mrestore v2.3e?) no longer supported final framerate specification? It there some place to download the prior versions - sometimes I would like to go back to that, but I didn't keep a local copy:eek:
smekoslav
FYI - I got this error when I had a typo in the numerator - doesn't seem to apply to your case, but thought I would mention it
MOmonster
19th August 2008, 10:08
@smekoslav
Before calling mrestore you have to bob the interlaced source. Mrestore will decimate the input 59.97fps to 25fps at default.
@smekoslav and levi
outputframerate/inputframerate = numr/denm
You just have to find the right integers that fit this condition.
This is only necessary for non-standard conversions. In these cases finding the right outputframerate is more difficult than calculating the necessary parameters.
I can upload an older version, but 2.3 works significantly better than 1.6. If it`s just this parameter I will add this.
levi
20th August 2008, 01:56
In general, the problem sources I deal with are going to be output framerate of either 23.976 or 25 fps.
In most cases, I do get amazingly impressive results with the correct numr / deno specified, but sometimes the source is just too bad - I can't get any combination to work. In this case, it would be nice to have the output fps parameter as a last resort. :)
highjds
20th August 2008, 16:00
I want encode Galapagos( 1080i 29.978 ) with Mrestore( 29.978fps --> 25fps ), and I used Mrestore v2.3e
and AvsP displayed error-massage like below
ChangeFPS: Ratio must be less than 10 for linear access. Set LINEAR=False.
My scripts:
DirectShowSource("D:\MOVIE\Galapagos\BDMV\STREAM\test.GRF", fps=29.970, audio=false)
ConvertToYv12()
Import("C:\Program Files\AviSynth 2.5\plugins\mrestore.avs")
d = last.bob(-0.2,0.6).reduceflicker(strength=2)
Yadif(mode=1)
mrestore(mode=-4,1001,2400,dup=1,dclip=d)
Crop(0, 0, -0, -8)
And I insert changeFPS
DirectShowSource("D:\MOVIE\Galapagos\BDMV\STREAM\test.GRF", fps=29.970, audio=false)
ConvertToYv12()
Import("C:\Program Files\AviSynth 2.5\plugins\mrestore.avs")
d = last.bob(-0.2,0.6).reduceflicker(strength=2)
Yadif(mode=1)
ChangeFPS(60000,1001)
mrestore(mode=-4,1001,2400,dup=1,dclip=d)
Crop(0, 0, -0, -8)
The screen of the result trembles extremely though the error did not appear.
I want the advice of the problem sincerely.
Galapagos Source Sample (http://mail24.paran.com/write/download.php?id=highjds70@paran.com&home=/D24/h/i/0/highjds70@paran.com&host=gigamail8.paran.com&port=80&bigpath=/D8/3/20080821/00/03/highjds70@paran.com&uni=1219246170.10468.mail24x0.m2ts&bigname=00000.m2ts)
jeffy
20th August 2008, 16:11
Galapagos and field blended for Blu-ray? Isn't the document simply telecined?
Zwitterion
20th August 2008, 20:08
The screen of the result trembles extremely though the error did not appear.
DirectShowSource is the problem here. Mrestore seeks alot in the stream... and most DirectShow filters/splitters are not used to this.
Try to build a graph with GraphStudio (http://blog.monogram.sk/janos/tools/monogram-graphstudio/): Insert Haali Media Splitter (available in this (http://haali.cs.msu.ru/mkv/MatroskaSplitter.exe) package) and point it to the M2TS file. Then connect a VC1 decoder like the Sonic Video Decoder. Save the graph and open it with "DirectShowSource("test.grf", audio=false)". The trembling should disappear as Haali's splitter usually is frame accurate.
However you won't be able to restore the original frame rate as there is just one unblended frame in every six. No tool could ever restore that.
highjds
21st August 2008, 00:28
Try to build a graph with GraphStudio (http://blog.monogram.sk/janos/tools/monogram-graphstudio/): Insert Haali Media Splitter (available in this (http://haali.cs.msu.ru/mkv/MatroskaSplitter.exe) package) and point it to the M2TS file. Then connect a VC1 decoder like the Sonic Video Decoder. Save the graph and open it with "DirectShowSource("test.grf", audio=false)". The trembling should disappear as Haali's splitter usually is frame accurate.
I used Sonic Decoder and GraphStudio. then Such result is come out. :(
Isn't its problem on the version of Mrestore probably?
highjds
21st August 2008, 00:39
I can upload an older version, but 2.3 works significantly better than 1.6. If it`s just this parameter I will add this.
I hope uploading your old version. :) Mrestore 2.3e is needed ChangeFPS()
Thx MOmonster :)
Zwitterion
21st August 2008, 01:00
This graph (http://img84.imageshack.us/my.php?image=stutqx7.png) results in stuttering, while this (http://img84.imageshack.us/my.php?image=nostutwo0.png) does not.
MOmonster
21st August 2008, 09:13
Yes, mrestore donīt like directshowimport. I donīt know how to solve this problem.
@all
I updated the R_pack. FixblendIVTC and mrestore have been updated and some older versions are included in the zip.
The outputframerate has to be set directly now.
For more information please read the readme first.
highjds
24th August 2008, 04:42
Thanks for MOmonster's upgrade and Zwitterion's advice. :)
I have work for following setting.
Source : Galapagos BD Sample Source (http://mail24.paran.com/write/download.php?id=highjds70@paran.com&home=/D24/h/i/0/highjds70@paran.com&host=gigamail8.paran.com&port=80&bigpath=/D8/3/20080821/00/03/highjds70@paran.com&uni=1219246170.10468.mail24x0.m2ts&bigname=00000.m2ts) ( 29.970fps, 1080i, VC-1 )
Video Graph : File(async ) --> Sonic HD Demux --> Sonic HD Video Decoder --> Sample Grabber
Plugin : mrestore v2.0
AVS Script :
d = last.bob(-0.2,0.6).reduceflicker(strength=2)
Yadif(mode=1)
mrestore()
but, The result is that screen overlaps and the reclaiming isn't play softly.
of course, 25fps is succeeded.
Here is my result. What's wrong ?
My result (http://mail24.paran.com/write/download.php?id=highjds70@paran.com&home=/D24/h/i/0/highjds70@paran.com&host=gigamail5.paran.com&port=80&bigpath=/D5/5/20080824/12/03/highjds70@paran.com&uni=1219548346.15239.mail24x0.mkv&bigname=Sample.mkv)
I'm a begginer and I tried to be various. But, I can't solve with my ability yet.
I want to succeed sincerely. Plz, Help me :(
Amrit
25th August 2008, 02:13
Hi I am Deinterlacing a blended movie and i chose Mrestore as my unblender
here is my script
Import("C:\Program Files\AviSynth 2.5\plugins\Mrestore.avs")
Load_Stdcall_Plugin("C:\program files\avisynth 2.5\plugins\yadif.dll")
MPEG2Source("C:\Documents and Settings\Amrit\Desktop\[Sample].d2v")
Yadif(Mode=1,Order=1)
mRESTORE()
Sample Unprocessed
http://www.sendspace.com/file/ozt1qs
Look at frames 845 846 DUpes from what i see
Need another example i will post on up ASAP
i also changed the MRestore Line to MRestore(Numr=2400,Denm=6000) to make it 23.976 and then frames 810-811 are dupes
However Repal does the job perfectly. Is there a way i can tweak Mrestore to work on this source. Thanks
Zwitterion
26th August 2008, 15:16
Does anyone else have a problem with AviSynth 2.58? When I run Amrit's script it returns a "nndnd..." sequence @ 25 fps (d is a dup, n is a normal frame). So nearly every second frame is a duplicate.
I'm using mrestore v2.31, masktools-v2.0a35, TIVTCv105.
It works fine with 2.57 (I used the MT_07 version for comparison).
Look at frames 845 846 DUpes from what i see
I wouldn't say that this is a duplicate, he just moves very little.
Also at least in the crash scene there are many intentional duplicates from slowmotion.
However Repal does the job perfectly. Is there a way i can tweak Mrestore to work on this source. Thanks
Repal leaves many blended frames as far as I can see.
With Mrestore I would always use mode=0 for better quality. And if playing around with the other settings doesn't help to get rid of duplicates, you could try an older version of mrestore.
Adub
26th August 2008, 17:14
Is it just me, but I cant see any blending in this source. Anyone want to point out a frame number for me?
Edit: Okay, never mind. Once I deinterlace, I can see 'em.
Hmm...tempgaussmc seems to do a fantastic job here.
Amrit
26th August 2008, 17:40
Does anyone else have a problem with AviSynth 2.58? When I run Amrit's script it returns a "nndnd..." sequence @ 25 fps (d is a dup, n is a normal frame). So nearly every second frame is a duplicate.
I'm using mrestore v2.31, masktools-v2.0a35, TIVTCv105.
It works fine with 2.57 (I used the MT_07 version for comparison).
I wouldn't say that this is a duplicate, he just moves very little.
Also at least in the crash scene there are many intentional duplicates from slowmotion.
Repal leaves many blended frames as far as I can see.
With Mrestore I would always use mode=0 for better quality. And if playing around with the other settings doesn't help to get rid of duplicates, you could try an older version of mrestore.
Yeah i found out older versions of MRestore fix this. I found out to late. Thanks alot though
45tripp
26th August 2008, 18:37
Does anyone else have a problem with AviSynth 2.58?
well spotted.
i trace it to 2.58 rc1.
before that all mrestores are ok.
you could try an older version of mrestore.
i tried.
unfortunate in selection, i guess.
from what i can see, trying again,
only mrestore v20 works with 2.58 rc1 and up.
Repal leaves many blended frames as far as I can see.
i don;t see that.
i suspect you;re talking in general.
tripp
Amrit
26th August 2008, 18:52
Hi i was using this function in Mrestore
MRestore(Numr=2400,Denm=6000)
And i get eror No function NUmr
Ever sicne i updated my Mrestore after dwonloading the R_pack its been buggin.
Adub
26th August 2008, 18:56
Read the readme included in the R_pack. He removed numr, and made things a little easier.
Amrit
26th August 2008, 18:58
Read the readme included in the R_pack. He removed numr, and made things a little easier.
thanks, never knew that till now lol
thetoof
30th August 2008, 09:29
I'd like to use the blend detection of cdeblend to, instead of simply copying the frame before (or after), apply some filters to that frame and then insert it to replace the blend... How can I do that?
vwpassion
9th September 2008, 23:37
How would you guys go about this one?
Sample (http://rapidshare.com/files/143970760/VideoFile_cut.m2v.html)
manono
10th September 2008, 05:41
How would you guys go about this one?
Yadif(Mode=1,Order=0)#sample was BFF
MRestore(FRate=24)
#MRestore(Numr=2400,Denm=5000)#if using an older version, as I do
That works reasonably well.
MOmonster
21st September 2008, 14:45
Update:
Instead of mrestore, Cdeblend, FixBlendIVTC and DupHq there is only one function now: srestore.
The detection has been improved, the memory usage has been decreased and the usage should be a bit easier.
Just test this function.
Important:
- mrestore 2.31 has a big bug and has been removed from the R_pack
- AviSynth 2.5.8 change the calculation of changefps (round to floor). I will adapt srestore when the new AviSynth version gets final.
So, if you have problems with mrestore 2.31 or AviSynth 2.5.8 then test srestore with 2.5.7
@thetoof
Not sure what you really want. I could add a parameter for an alternative clip that is allways used if a blend is detected.
or do it this way:
line 123:
output.trim(0,1) ++ output.trim(2+current,0)
to something like this:
current==0 ? output : output.loop(3,0,0).trim(2+current,0).YourFilter(YourSettings)
Would be the same for srestore. If I wasnīt clear enough just ask.
Edit:
@Amrit
I used srestore with default settings on your source and donīt get any dups that aren`t in the source.
@vwpassion
Same here: Use your favourit bobber and srestore with default settings.
@all
If your problem is still not solved, please post it again. I donīt know anymore what problems are left.
Vesi
21st September 2008, 20:23
:thanks:
Adub
22nd September 2008, 00:29
Yes!! Thanks for your hard work MOmonster!!! Your script is really pretty amazing, and I use it too often. (grrr, bad sources = pure evil). This new single script will sure streamline alot of things, and I am sure it will make thetoof's life easier as well (as I use his script a bit as well).
Amrit
22nd September 2008, 21:34
Thank you boss!!
SweetDream
22nd September 2008, 21:35
Thank you MOmonster :)
elguaxo
22nd September 2008, 21:46
Thanks!
Piper
24th September 2008, 04:05
@MOmonster: Thank you very much for this script! I've only just started using it but already getting very impressive results out of it. Well done! I think you've finally put ol' RePal out to pasture with this one.
Deinorius
24th September 2008, 08:52
Great, thanks. Will be interesting to test it soon. :)
thetoof
1st October 2008, 04:20
Wow, great job!
Actually, after doing some thinking, my request has changed a bit: could you add an argument that'd make srestore output a bool instead of a clip?
Something like bool "boolout" that would return true on blends and false on other frames (I'll use scriptclip). With this, I think I'll be able to get closer to what I'm trying to achieve.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.