Log in

View Full Version : InterFrame 2.8.2 - Framedoubling/60FPS/HFR conversion script


Pages : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

SubJunk
20th April 2011, 22:34
Hi jemm :) You need a slash at the end of the FlowPath, so try:
InterFrame(FlowPath="C:\Archivos de programa\AviSynth 2.5\plugins\")

Gargalash
26th April 2011, 16:48
Hello Subjunk,
Thanks for this tool!

I have tried it and noticed something.

With default settings: --- EDIT: not default settings. I'm using preset "fast" and tuning="smooth" ---
- GPU= false, CPU usage is 48-50%, 42fps
- GPU= true, CPU usage is 46-48%, 46fps

The fps numbers are with vdub "video analysis pass" and my script has I have SetMTMode(2) before your filter.

If I don't use SetMTMode(2) I get about 13% CPU usage and 13fps for both true and false GPU. The AVI source I am using is on a SSD, I doubt it's creating the limitation.

Should this filter be using full cpu power? I have an i7 with multi-threading on.

Thanks for any input!

SubJunk
26th April 2011, 21:17
Hi Gargalash :)
Without SetMTMode the script will run in single-threaded mode, so 13% CPU probably just means it is using 100% of one CPU.
For the fastest results you should set the second number to 1.8x your thread count. So for example some quad-core CPUs have 4 cores but support 8 threads, so for that you would do 1.8*8 and round down to 14 so it would be:
SetMTMode(2,14)

Some people find they can just double the amount of threads and subtract one, but others find the 1.8x rule to provide better stability so I recommend that.

Hope that helps :)

PelPix
27th April 2011, 06:04
Hey SubJunk, I went back to InterFrame for motion blur because of the quality, but I'm having the problem I described earlier.
In the trails, the original frames are more visible than the interpolated frames. They have more weight in the accumulation/are held for longer/repeated more times. Is this intentional or a bug, and if it's intentional, is it for perceptual reasons?

SubJunk
27th April 2011, 06:10
Hi PelPix :) Can you post an example so I can see what you mean?

SubJunk
27th April 2011, 06:11
Removed double-post

PelPix
27th April 2011, 06:12
Yup! one second!
I apparently just lost that source video and can no longer duplicate the problem :(. I'll let you know the second it comes up!
In other news, InterFrame+an accumulative temporal filter (Like TemporalSoften) makes a mean synthetic motion blur:
http://i55.tinypic.com/1pcbop.png
Yet another use for this really amazing script.
(Sorry about the quality. I had to screencap it from a render snapshot because it was currently rendering)

SubJunk
27th April 2011, 06:36
It looks great, glad it's working for ya :)

Gargalash
27th April 2011, 18:08
Hi Gargalash :)
Without SetMTMode the script will run in single-threaded mode, so 13% CPU probably just means it is using 100% of one CPU.
For the fastest results you should set the second number to 1.8x your thread count. So for example some quad-core CPUs have 4 cores but support 8 threads, so for that you would do 1.8*8 and round down to 14 so it would be:
SetMTMode(2,14)

Some people find they can just double the amount of threads and subtract one, but others find the 1.8x rule to provide better stability so I recommend that.

Hope that helps :)

Hi, thanks for your answer. I manage to get cpu usage to 93% and run the filter at 53-54 fps.

SubJunk
27th April 2011, 21:32
Hi, thanks for your answer. I manage to get cpu usage to 93% and run the filter at 53-54 fps.Great, I'm glad it works for you :) Remember that the presets control the speed and quality so you can make that FPS higher or lower with them.
Tunings also affect it; the smooth tuning will make it run slower.

fairchild
28th April 2011, 01:07
Yet another use for this really amazing script.
(Sorry about the quality. I had to screencap it from a render snapshot because it was currently rendering)

Portal 2! I already beat it in single-player mode, pretty fun puzzler.

SubJunk
28th April 2011, 03:49
Version 1.7 is released which increases the quality of all presets. You can get it from the first post.

SubJunk
30th April 2011, 08:52
Version 1.7.1 is released which increases the speed by roughly 40%, thanks to the SVP team

aegisofrime
30th April 2011, 09:19
Thanks Subjunk! I tried Interframe for one whole DVD yesterday, which annoyingly was not interlaced, thus I couldn't use QTGMC to bob it. Interframe worked very well. I mean, quality and speed, what more could I ask for?

I'm sure the purist will say that framedoubling is flawed, but hey I want 59.94 fps and Interframe is great for that, so why not?

SubJunk
30th April 2011, 09:42
Thanks aegis, it's great to know you like it :)

horus14
30th April 2011, 22:22
i have this error u.u
http://i435.photobucket.com/albums/qq71/Kyrie-Senpai/errorinte.jpg

me script

import("C:\Documents and Settings\Administrador\Mis documentos\Encodeo\InterFrame.avsi")
DirectShowSource("G:\[Leopard-Raws] Fairy Tail - 73 RAW (TX 1280x720 x264 AAC).mp4",fps=23.976,audio=true,convertfps=true)

trim(937,3091)
InterFrame(NewNum=48000, NewDen=1001, FlowPath="C:\Documents and Settings\Administrador\Mis documentos\Encodeo\InterFrame.avsi")

Only have this problem with 1.7.1

SubJunk
30th April 2011, 22:25
i have this error u.u
http://i435.photobucket.com/albums/qq71/Kyrie-Senpai/errorinte.jpg

me script



Only have this problem with 1.7.1Hi horus14 :)
It's because your FlowPath should be the path, not including the filename. See the help page in the download, or online here (http://www.spirton.com/uploads/InterFrame/InterFrame.html) for details on each parameter :)

Mounir
1st May 2011, 19:56
Can someone upload a sample of a 60FPS video processed with interframe, I feel curious today...

Didée
1st May 2011, 22:25
One sample is linked in post#1.

InterFrame is there to be used. So, just use it.

oddball
3rd May 2011, 18:28
Watching the sample clip over and over the cigarette looks really bad. It has a judderyness I find really annoying to watch.

SubJunk
3rd May 2011, 21:52
It really shows how juddery regular videos are; it's not the script that makes it juddery, it's just that the rest of the frame is improved while the cigarette remains like the original video :)

However, you notice things like that much more when the interpolation is still a novelty; when you watch it all the time you get used to it :)

SubJunk
4th May 2011, 03:12
Version 1.8 is released which adds support for 3D content.

CruNcher
8th May 2011, 17:36
Its not only the cigarette but i have the feeling something is wrong with the background objects that passing by, might be just imagination though but i have the feeling watching the sample something is wrong.
Did someone compared this allready vs other FRCs like Yuvsoft, MSU or Cyberlinks Tzan (CUDA implementation) ?

Didée
8th May 2011, 17:52
Doing a non-integer framerate interpolation (like in 24->60) is always visually more problematic than doing an integer conversion (like in plain framerate doubling). When doubling, every second frame is original, and the potentially artificial/or/inconsistent interpolations show up only a short time. When you do 24->60, then you have one original frame, then come 4 (four!) interpolated frames, one original, 4 interpolations, etc. That's *much* more time for (potential) artifacts/inconsistencies to show up and be noticed.

CruNcher
8th May 2011, 18:04
Very well explained Didée thx if i understand it right this is once again combining needi + mvtools to achieve this :) so we have now FRC,Deinterlacing,Denoising,Deflicker,AddGrain,Degrain all based on mvtools as the motion estimation engine and needi playing a big part too that's great and for everyone we can partly utilize the GPU as well :). And by combining ffdshow with this we can even utilize it in Realtime frameworks and with DSP support (supplying the frames for decoding leaving more CPU for the PostPro) :)
The SVP guys actually seem to make the first steps into integrating this in a easy to use Realtime package absolutely great :)

Im really wondering how avisynth and it's framework by these days compares vs high class stuff like thefoundry or greenparrotpictures Research and YuvSoft also isvs like Cyberlink :)
Surely avisynth didn't reached 10 Bit yet but i wonder how the base algorithms compare and where it stands :)

Like there FRC http://www.greenparrotpictures.com/slomo.php
or http://www.greenparrotpictures.com/flicker.php

though also mostly impossible to compare i guess with those without having access to them :)


Of key importance is that we treat the problem at a pixel resolution, and we also pay attention to occlusion and uncovering of objects as they move through the scene.
Maybe that's also what i realize in that sample as it plays in the background

Here is the actual product where their stuff gets into action and what would be comparable to Interframe :) http://www.thefoundry.co.uk/products/kronos/

http://features.cgsociety.org/story_custom.php?story_id=5776 (the move from C++ to GPU)

here is a moving demo of the scene in the cgsociety article http://www.youtube.com/watch?v=hsFKiLxC4js

Especially the scene is interesting most of their Demo scenes they show Watter (chaotic motion) the canoe paddle shows though some heavy estimation problem, their solution though seems not to apply for interframe in the cigarette case or passing background http://www.youtube.com/watch?v=L0Dl8wyBolQ
Also it seems that their GPU version doesn't show this issue anymore and conquers it now in real time (looking @ the cgsociety demo of the same scene) without needing to apply any alpha matte anymore to fix this :)

Hey Hey Hey http://thefoundry.s3.amazonaws.com/downloads/FCNuke_Kronos_Media-v4.zip :) the assets of that tutorial :) the Watter scene :)

http://www.youtube.com/watch?v=tWWGqQImje4 <- Motionblur assets http://thefoundry.s3.amazonaws.com/downloads/FCFCP_Retiming_Media.zip <- seems damaged though :(

http://thefoundry.s3.amazonaws.com/downloads/FCNuke_MotionBlur_Media.zip <- Motionblur assets in .dpx

http://www.youtube.com/watch?v=YPLj5pQmbV8 <- Grain and Denoise assets http://thefoundry.s3.amazonaws.com/downloads/FCFCP_Grain_Media.zip

The Tutorial Videos are also available as higher quality Quicktime movs not perfect for comparing final results but better then with those youtube videos :) http://www.thefoundry.co.uk/articles/2010/05/05/108/furnacecore-for-nuke-denoise/ http://www.thefoundry.co.uk/articles/2010/05/05/109/furnacecore-for-nuke-kronos/
http://www.thefoundry.co.uk/articles/2010/05/05/116/furnacecore-for-nuke-steadiness/

Also even more assets to play with http://www.thefoundry.co.uk/products/furnacecore/training/ :)

The finalcut assets are either in mjpeg 4:2:2 or raw or rle

PS: Can somebody decipher what for a Xeon CPU they compare with http://media.cgnetworks.com/flash/foundry/hawaii.swf Intel Xeon ES5C4 or E55C4 hmm its like Google doesn't know it ?

SubJunk
8th May 2011, 23:35
Doing a non-integer framerate interpolation (like in 24->60) is always visually more problematic than doing an integer conversion (like in plain framerate doubling). When doubling, every second frame is original, and the potentially artificial/or/inconsistent interpolations show up only a short time. When you do 24->60, then you have one original frame, then come 4 (four!) interpolated frames, one original, 4 interpolations, etc. That's *much* more time for (potential) artifacts/inconsistencies to show up and be noticed.Yes, you're right, and that has always been mentioned in the Description section in the first post :)

Its not only the cigarette but i have the feeling something is wrong with the background objects that passing by, might be just imagination though but i have the feeling watching the sample something is wrong.It's probably a combination of errors and that you're not used to seeing such high framerates; people report the same "wrong" feeling when watching native 60FPS content, too.
There are definitely errors in the sample, and in fact that sample hasn't been updated in a while so I should remake it as there have been quality improvements since then. Of course it still won't be perfect :)

Did someone compared this allready vs other FRCs like Yuvsoft, MSU or Cyberlinks Tzan (CUDA implementation) ?I've compared it to all of the ones I've been able to try.

I emailed the YUVsoft and MSU guys but they said they don't have products for individual people, only for companies. I've also tried a few more products and found them to either be worse or had other problems (for example one of them only works with .avi files so I didn't bother trying it)

I'll read through your big post now and reply later. It's great to have all this feedback in the thread, maybe we can improve the script with all these eyes on it :D

SubJunk
9th May 2011, 01:01
Like there FRC http://www.greenparrotpictures.com/slomo.php
or http://www.greenparrotpictures.com/flicker.php

though also mostly impossible to compare i guess with those without having access to them :)You're right that it's hard to compare them because they will have had a larger clip to work with, but with that in mind I have made comparisons anyway :)

I should also note that InterFrame is not meant for slow motion and there is a change I would make in the code if it were meant for that. It may seem like framedoubling and slow motion are the same thing, and on paper they are, but our eyes see things differently depending on whether they are moving fast or slow so that is where the difference is.
For example slight blurring and ghosting can look good at fast speed while in slow motion it looks bad, so the technique is similar but not the same.

Samples:
GreenParrot (http://www.spirton.com/uploads/60FPS/test-20110509-1-GreenParrot.mkv) - InterFrame (http://www.spirton.com/uploads/60FPS/test-20110509-1-InterFrame.mkv).

P.S. I still have another reply to do, but I'm working so that's why I'm doing separate replies in my breaks :)

Edit: The Kronos trial installation doesn't work for me so I can't test it.

CruNcher
9th May 2011, 03:58
looks very good except that speed ramp or artifact @ 0:06 but taking into account you worked with the compressed youtube source it's identical in terms of motion feel, surely this way it can't be nicely compared in other parts like interpolation quality and speed :)

http://thefoundry.s3.amazonaws.com/products/kronos/ae/releases/5.0v1/Kronos_5.0v1_AE-win-x86-release-64.zip <- for everyone who wants to give it a compare shoot,dont forget it's an After Effects plugin http://www.thefoundry.co.uk/products/kronos/system-requirements/

PS: It looks like without the SVP team these speeds wouldn't have been possible @ all amazing work from Russia again a whole OpenCL implementation for the Optical Flow :)

SubJunk
9th May 2011, 08:40
It looks like without the SVP team these speeds wouldn't have been possible @ all amazing work from Russia again a whole OpenCL implementation for the Optical Flow :)Yes it's great, they are really moving things forward.
The upcoming version increases speed even more :)

madshi
13th May 2011, 09:13
Hey SubJunk,

what kind of motion estimation technique are you currently using? Have you thought about using Optical Flow + Warp, if you're not using that yet? Optical Flow algorithms seem to have improved quite nicely. They're still rather slow (at least the good ones), but I'd guess that they should allow you to improve quality quite a bit. Here are some links to open source Optical Flow algorithms:

http://people.csail.mit.edu/celiu/OpticalFlow/
http://www.onera.fr/dtim-en/gpu-for-image/folkigpu.php
http://sourceforge.net/projects/openvidia/files/CUDA%20Bayesian%20Optical%20Flow/
http://nghiaho.com/?page_id=189
http://plyer.fr/aurelien/?p=124
http://varflow.sourceforge.net/
http://perception.inrialpes.fr/~chari/myweb/Software/

Here's the "official" Optical Flow benchmark site. It seems that there are rather large differences between different Optical Flow algorithms:

http://vision.middlebury.edu/flow/eval/results/results-i1.php

Interesting approaches would also be to compare motion vectors between consecutive frames and only use those which are comparable. That should nicely sort out erratic motion vectors. Finally, how are you filling the occluded space? If you check motion vectors to the next "future" frame, too, you could eventually fill the occluded space from the future frame. That might help removing many artifacts.

Just shooting from my hip here, haven't really done any motion estimation programming myself yet. Just some brainstorming from what I've read...

-Vit-
13th May 2011, 13:42
What kind of motion estimation technique are you currently using?
This script uses MVTools (http://forum.doom9.org/showthread.php?t=84770), which is a library of motion analysis tools for Avisynth. It splits the image into a grid of blocks and attempts to track the motion of every block (as opposed to tracking specific features).

If you check motion vectors to the next "future" frame, too, you could eventually fill the occluded space from the future frame.
The flow interpolation functions in MVTools use both forward and backward vectors, and consider the occlusion masks (both ways) to determine how best to fill all areas of the interpolated frame.

Interesting approaches would also be to compare motion vectors between consecutive frames and only use those which are comparable.
I don't believe MVTools does this at any point, but it does seem a useful idea.

madshi
13th May 2011, 14:15
This script uses MVTools (http://forum.doom9.org/showthread.php?t=84770), which is a library of motion analysis tools for Avisynth. It splits the image into a grid of blocks and attempts to track the motion of every block (as opposed to tracking specific features).
Hmmmm... Isn't this kind of technique mostly aimed at encoding? I think the better optical flow algorithms work quite different in concept, looking for gradients instead of matching blocks, tracking motion per pixel instead of blocks etc...

The flow interpolation functions in MVTools use both forward and backward vectors, and consider the occlusion masks (both ways) to determine how best to fill all areas of the interpolated frame.
That is very good - better than I expected!

SubJunk
13th May 2011, 23:28
Hi madshi,
This script uses a modified MVTools2 for its motion estimation, so I suggest posting about these in the MVTools2 thread. Then Fizick (the developer) can give you his thoughts :)

Edit: Saw that Vit already posted, sorry for repeating information :)

zamadatix
15th May 2011, 23:26
InterFrame(Preset="Fast", FlowPath="C:\Program Files (x86)\MPCHC\AviSynth\plugins\")

Is giving me invalid arguements, why?

SubJunk
15th May 2011, 23:40
Hi zamadatix :)
What is the exact error you get?

zamadatix
16th May 2011, 02:19
It just says "Invalid arguments to function "InterFrame." in the video window when I drag a avs script with that line into mpchc.

ryrynz
16th May 2011, 03:20
Subjunk, do you know of any settings that could be used in to improve vertical panning in your script? I've tried the medium preset with film and animation tuning but both have caused tearing when I've played a vertical panning scene. I assume only the smooth setting seems to improve this but it's unusable in real time for the time being, any advice you could offer would be appreciated.

Anyway, thanks for your time creating this, I've tried quite a few MVtools scripts but was never satisfied with the results, this is working out quite well for my animated content and has become a part of my script.

SubJunk
16th May 2011, 04:23
It just says "Invalid arguments to function "InterFrame." in the video window when I drag a avs script with that line into mpchc.I just did that and it worked for me, so I don't know, maybe there is something else in the script that is causing it in some weird way.
P.S. That's awesome that MPC can do that, I never knew.

Subjunk, do you know of any settings that could be used in to improve vertical panning in your script? I've tried the medium preset with film and animation tuning but both have caused tearing when I've played a vertical panning scene. I assume only the smooth setting seems to improve this but it's unusable in real time for the time being, any advice you could offer would be appreciated. You can try editing line 119 of the file to change the value of sadml from 150 to 0. That will generally improve panning smoothness, but at the cost of overall frame-coherence. Or you could compromise and set the value to something higher like 300 or 500.

Anyway, thanks for your time creating this, I've tried quite a few MVtools scripts but was never satisfied with the results, this is working out quite well for my animated content and has become a part of my script.Thanks a lot, I'm glad you find it useful :)

sumawo13
16th May 2011, 23:18
I get these errors when using InterFrame 1.8.

http://i.imgur.com/WEUfM.png

This is the line I'm using for InterFrame.

interframe(flowpath="C:\Program Files (x86)\AviSynth 2.5\plugins\",preset="placebo",newnum=48000,newden=1001)

SubJunk
17th May 2011, 00:49
That can be a normal result depending on the source material. If the 2 frames on either side of that frame are very different, like in a high-action scene (which that looks like), those kind of frames are created.
You can try editing line 119 of InterFrame.avsi, changing algo=23 to algo=13 and sadml=150 to sadml=0. That will make individual details usually look better, but creates some edge artifacts. Let me know if that helps.

SubJunk
20th May 2011, 07:35
InterFrame 1.8.1 is released which fixes stuttering motion which was particularly visible in cartoons.

dansrfe
20th May 2011, 16:32
How CPU intensive is this script for realtime use? I have a C2D @ 2.66Ghz w/ 4GB RAM.

CruNcher
20th May 2011, 16:38
depends on the resolution heavily though it eats a lot of power when you do Full HD even SVPs original GPU supported (Realtime optimized) is a heavy thing for Full HD a 4 Core is advised even with GPU support (its only partial acceleration via OpenCL, but lowers the CPU load enough) :)
And then it depends on your Playback Chain (decoder,renderer ect)
see my results with SVPs original it's stunning (didn't tried it with interframe yet) and with the GPU i save a lot of Load that would slow it down heavily (VMR9 Renderless in this case though is to slow to cope). The SVP guys really thought about everything you even get statistics about it's Load Behavior :)
The absolute craziness it even has a side by side Realtime compare like you used to from Cyberlink,Corel,Arcsoft everything via avisynth ffdshow and they made the reload of a script a fully smooth experience (like it belongs to the player itself) you click onto their icon in the task tray select the option and it will change everything on the fly with only a small out time, just amazing work combining the best things into a very easy to use realtime experience :D

http://img715.imageshack.us/img715/3230/vmr9renderlessissue.png


Renderer wise when using SVP or Interframe realtime i would advise MadVR without doubt on any Windows OS when you have a capable GPU :)

Mr Alpha
20th May 2011, 19:04
Anybody know how to get multi-threading for this to work inside ffdshow for realtime playback? I can do SD content on one core, but fullHD just isn't working.

SubJunk
20th May 2011, 23:27
How CPU intensive is this script for realtime use? I have a C2D @ 2.66Ghz w/ 4GB RAM.It all depends on which Preset value you use. The Preset value controls the "quality vs CPU load", so just try to use the highest quality preset that gives you a constant framerate.
See the documentation for more details :)
Low presets of this script should work on even slow CPUs.

SVP etcThis is similar but different to SVP. These values are tweaked for better quality and smoother motion whereas SVP produces more ghosting by default. SVP can be tweaked to be similar to InterFrame in the options, but can't be the same (though maybe in a later version, I don't know)
You can also run InterFrame (or any AviSynth script) via SVP though which is convenient :)

Anybody know how to get multi-threading for this to work inside ffdshow for realtime playback? I can do SD content on one core, but fullHD just isn't working.Sorry, I'm not an expert on realtime since I convert. Hopefully someone else can help :)

fairchild
22nd May 2011, 21:54
Anybody know how to get multi-threading for this to work inside ffdshow for realtime playback? I can do SD content on one core, but fullHD just isn't working.

For me, I can't do real-time HD (720p and up). It turns into a slideshow and I verified it does use both of my cores so it is multi-threaded.

SD content works fine and looks fine and turns the frame rate to 59ish (converts 23.976, 25, and 30 fps content just fine to 59-60ish), but when I pop in a 720p or higher video it doesn't work. It appears to be my cpu which is stressed out to the max and can't do the real-time frame rate doubling at 720p and up.

SetMTmode(2,2)
ffdshow_source()
InterFrame(Preset="Fast", GPU=true, FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\")
GetMTMode(false) > 0 ? distributor() : last

So the above works fine for SD, for real-time frame doubling to 59.94 fps.

Also this script works and is equivalent to the Faster preset in Interframe. This script also doesn't work right on my system in real-time with HD content, my CPU is not strong enough it seems.

svp_flow_lib="C:\Program Files (x86)\Avisynth 2.5\plugins\libflowgpu.dll"
svp_scheduler=true
SetMTMode(1,15)
V = ffdshow_source()
SetMTMode(2,15)
S = V.MSuper(pel=2, hpad=16, vpad=16, rfilter=4)
A = S.MAnalyse(isb=true, blksize=16, overlap=4, badSAD=2000, plevel=0, pelsearch=3, search=3, searchparam=3, badrange=(-24))
B = S.MAnalyse(isb=false, blksize=16, overlap=4, badSAD=2000, plevel=0, pelsearch=3, search=3, searchparam=3, badrange=(-24))
C = S.MRecalculate(A, blksize=8, overlap=2, search=3, searchparam=1)
D = S.MRecalculate(B, blksize=8, overlap=2, search=3, searchparam=1)
V.MSmoothFps(S, C, D, num=FramerateNumerator(V)*5, den=FramerateDenominator(V)*2, algo=23, sadgamma=2, sadml=0, ml=0, blend=true)
GetMTMode(false) > 0 ? distributor() : last

SubJunk
22nd May 2011, 21:57
fairchild, have you tried other presets? There are still 4 more presets that are faster than that one :)

fairchild
22nd May 2011, 22:15
fairchild, have you tried other presets? There are still 4 more presets that are faster than that one :)

I've tried the fastest preset "Ultra Fast" and it does work and doesn't drop as many frames, but there is a big quality drop that is most noticeable in fast action scenes and the audio goes way out of sync. With the Fast preset, my CPU is 100% stressed out and it begins to drop frames and looks like a slideshow since my system can't handle the decoding of the 720p video + real-time frame doubling. Perhaps if I had a faster CPU or a CPU with more cores (4+ cores) then it would possibly work.

But the scripts I posted should work well with multi-threaded stronger CPU's for real-time HD frame doubling. You possibly need to change the SetMTmode for cpu's with more threads/cores as using (2,2) is for a dual-core cpu.

So to sum up, for real-time SD, using the system in my sig the following code works for me with no frame drops or audio going out of sync. Only change I make is change the renderer to EVR-CP, because if I try using MadVR there will be frame drops randomly because MadVR uses more system resources.


SetMTmode(2,2)
ffdshow_source()
InterFrame(Preset="Medium", GPU=true, FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\")
GetMTMode(false) > 0 ? distributor() : last

For HD I have a profile setup and just change the Preset=Ultra Fast

Didée
22nd May 2011, 22:34
I can't do real-time HD (720p and up).
[...]
I verified it does use both of my cores so it is multi-threaded.
For HD content, a dual-core very likely is too small.

To perform this kind of operation on HD content, a quad-core is strongly recommended. :)

Also, you definetly do NOT want to use FIFTEEN(!!) threads on a dualcore. More than 4 threads probably do more harm (overhead) than good.

SubJunk
23rd May 2011, 00:43
I've tried the fastest preset "Ultra Fast" and it does work and doesn't drop as many frames, but there is a big quality drop that is most noticeable in fast action scenes and the audio goes way out of sync. With the Fast preset, my CPU is 100% stressed out and it begins to drop frames and looks like a slideshow since my system can't handle the decoding of the 720p video + real-time frame doubling. Perhaps if I had a faster CPU or a CPU with more cores (4+ cores) then it would possibly work.

But the scripts I posted should work well with multi-threaded stronger CPU's for real-time HD frame doubling. You possibly need to change the SetMTmode for cpu's with more threads/cores as using (2,2) is for a dual-core cpu.

So to sum up, for real-time SD, using the system in my sig the following code works for me with no frame drops or audio going out of sync. Only change I make is change the renderer to EVR-CP, because if I try using MadVR there will be frame drops randomly because MadVR uses more system resources.


SetMTmode(2,2)
ffdshow_source()
InterFrame(Preset="Medium", GPU=true, FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\")
GetMTMode(false) > 0 ? distributor() : last

For HD I have a profile setup and just change the Preset=Ultra FastDepending on your CPU it's possible you could run 4 threads max like Didee said, so I would recommend trying 3 (using the maximum amount of threads is a bad idea).
So try:


SetMTmode(2,3)
ffdshow_source()
InterFrame(Preset="Ultra Fast", GPU=true, FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\")
GetMTMode(false) > 0 ? distributor() : last

If that still drops frames for you, there is an update coming soon that will increase the speed a lot at the same quality.

Edit: Also you could try removing the SetMTMode line because it's possible the script is choking other programs, so maybe running single-threaded will be more stable for a dual-core CPU. It's a longshot but worth trying.