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

aegisofrime
18th April 2012, 11:46
It's "slow" for 300 FHD frames per second but not for 10.

I see. Good point. Time to shoot a few angry emails at AMD. :devil:

chainik_svp
22nd April 2012, 21:55
aegisofrime

May be you're not alone (http://www.svp-team.com/forum/viewtopic.php?pid=21198#p21198). Could you look at video memory consumption while encoding?

chainik_svp
27th April 2012, 17:47
aegisofrime

12.4 really improves OpenCL performance on 5xxx and 6xxx series. What about you? :)

aegisofrime
28th April 2012, 04:00
aegisofrime

12.4 really improves OpenCL performance on 5xxx and 6xxx series. What about you? :)

Heya thanks for the heads up. Unfortunately, I haven't noticed significantly increase speeds between Catalyst 12.3 and 12.4. Still slower than my old GTX 460 :/

I think I will be looking for a trade when the GTX 660 comes out. :/

Edit: One more thing that has been bugging me.

Why do I get "nvcuvid.dll" and "nvcuda.dll" errors even when I'm running ATI? Clicking ok on the error gets rid of it fine, and my encoding starts without a hitch, but I'm wondering if not having those files on my system could cause issues with my encoding.

SubJunk
2nd May 2012, 23:40
InterFrame 2.0 is released. This marks the end of support for version 1. Enjoy :)

kolak
3rd May 2012, 00:35
:thanks:

What are the improvements?

SubJunk
3rd May 2012, 00:42
There are no improvements over 2.0 RC1, I just updated the libraries and renamed the files :)

SubJunk
4th May 2012, 21:02
2.0.1 is released :)

mark0077
8th May 2012, 18:36
SubJunk, do you know of a way to avoid the flickering effect seen when seeking, when using these frame doubling avisynth scripts.

I see some posts on avsforum here seem to point to it being related to the avisynth dll being used. http://www.avsforum.com/avs-vb/showthread.php?p=20171150#post20171150

Is this flickering, something you think about when selecting an avisynth dll to use in your interframe packs? I'd love to get rid of it to avoid the family going blind when I seek :D

chainik_svp
8th May 2012, 21:24
mark0077
I know :D The only ultimate solution is to reload script after seek - uncheck "avisynth" checkbox and check it again after 1 second.

kolak
1st June 2012, 22:49
Having issues with the smoothness :(
50p to 59.94p conversion on some live shot footage produces jerky scenes. Most of the scenes are absolutely fine, but some (and actually rather slow motion ones) look jerky (specially when watched on TV)- it almost looks like interframe uses original frames instead of interpolated ones. I'm with original mode=0 setting. Some of the problems were related to my adjustment to make scene changes more sensitive- going back to the default settings fixed some scenes, but there are still some bad ones left. Does it mean that interframe thinks that there are scene changes in this pieces of the footage? Should I reduce sensitivity for scene changes? It also looks like problems appears on rather darker scenes (but not very dark). It will go bad after some scene change and than get back to "normal" after another. Most interesting is that these scenes look for me as easy ones. I'm after smooth, interpolated footage, even in price of bit artefacts. Using algo=13, but algo=21 did not really help neither. I have no idea what is causing it :(

SubJunk
1st June 2012, 23:00
Hi kolak, please upload a sample so I can test

chainik_svp
1st June 2012, 23:03
@kolak
may be you could cut off a short sample of a "bad" sequence?
---
@SubJunk ;)

kolak
1st June 2012, 23:10
I will, but on Wednesday once I'm back to work :)
It looks strange, maybe some bug, as these scenes do look easy in terms of motion estimation. Done some stress test with very fast footage and there was no problems at all!
I'm bit confused :)

SubJunk
4th June 2012, 13:36
InterFrame 2.0.2 is released :)
By the way, InterFrame is included in Universal Media Server (http://www.universalmediaserver.com/), allowing you to transcode videos from your computer to your renderer (PS3, XBOX, TV, iPad, anything) using InterFrame in realtime. Pretty cool :)

Reel.Deel
4th June 2012, 13:45
Thanks Subjunk! :)

Just wondering, are you ever going to implement a "placebo" preset like V.1 of Interframe?

SubJunk
4th June 2012, 13:57
Hi Reel.Deel :)
I decided the old placebo preset wasn't worth it; it was only better quality by a tiiiiiny bit and was many times slower.
Anyway I don't think that method would still work with the SVP DLLs I'm using in version 2 :)

Reel.Deel
4th June 2012, 14:09
Thanks for the fast responce. :) I'm very happy with the quality of "medium", I was just wondering... I have a sample I'll try to upload later today or tomorrow, Is a 1080p test clip shot with a DSLR at 29.97 with a high shutter speed, the interpolated frames look bad. Maybe I can get some advice on how to tune Interframe. Anyways Thanks for all! :)

chainik_svp
4th June 2012, 19:04
By the way, InterFrame is included in Universal Media Server (http://www.universalmediaserver.com/)

Can't find any word about SVP there :(

SubJunk
4th June 2012, 23:16
Thanks for the fast responce. :) I'm very happy with the quality of "medium", I was just wondering... I have a sample I'll try to upload later today or tomorrow, Is a 1080p test clip shot with a DSLR at 29.97 with a high shutter speed, the interpolated frames look bad. Maybe I can get some advice on how to tune Interframe. Anyways Thanks for all! :)I'll be happy to have a look :)

Can't find any word about SVP there :(I can find somewhere to add credit for SVP if you want :)

Reel.Deel
5th June 2012, 15:14
I'll be happy to have a look :)

Thanks subJunk! Very kind of you. :)

So I tried just about every single setting there is in the InterFrame script and I could not get results that I was satified with. I even tried disabling MTmode, changing source filters since I use DGIndexNV with also uses GPU but that did not help.

This is the original (http://www.mediafire.com/?oax5x3fwxlv7c7p) clip. Shot with a Canon DSLR at a high shutter speed.

Using Interframe I get weird artifacts most noticeably around frames 65-75. See Interframe video with artifacts. (http://www.mediafire.com/?s9u7cj09010r1ya)

SetMemoryMax(1024)

#Load Plugins

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\InterFrame\svpflow1.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\InterFrame\svpflow2.dll")

#Load Script

Import("C:\Program Files\AviSynth 2.5\plugins\InterFrame\InterFrame2.avsi")

#Source

DGSource("MVI_0695.dgi")

#Multi Thread

#SetMTMode(2,4)

#FrameRate Correction

AssumeFPS(29.97)

#Frame Interpolation

InterFrame(GPU=true, Preset="medium", Tuning="film", OverrideAlgo=13, Cores=4)

I saw this thread (http://forum.doom9.org/showthread.php?p=1577135#post1577135) and decided to try it out with the test clip, and it produce much better results (http://www.mediafire.com/?l91fg2g5fdzxkb3).

#Load Plugins

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\InterFrame\svpflow1.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\InterFrame\svpflow2.dll")

DGSource("MVI_0695.dgi")

Threads=4

SetMTMode(3,threads)

AssumeFPS(29.97)

SetMTMode(2)

super_params="{pel:2,gpu:1}"

analyse_params="""{block:{w:32,h:32,Overlap:2},
main:{search:{coarse:{distance:-10}}},
refine:[{thsad:200}]}"""

smoothfps_params="{num:2,den:1,algo:13,cubic:1}"

super = SVSuper(super_params)
vectors = SVAnalyse(super, analyse_params)
smooth_video = SVSmoothFps(super, vectors, smoothfps_params, url="www.svp-team.com", mt=threads)

return smooth_video

I tried looking at the Interframe script to compare, but for me there's too much going in your script to completely follow :o. However, I did notice changing the block size to 8 or 16 produces similar results to Interframe.

I'm going to read the SVP manual more thoroughly and use a couple of the suggestions here (http://forum.doom9.org/showthread.php?p=1568084#post1568084). Hopefully I'll learn a thing or two :).

Any suggestions will be greatly appreciated. Maybe it's not such a bad idea to add a couple more override parameters to let the user create his own "placebo" :).

Thanks in advance!

Gavino
5th June 2012, 16:54
...
DGSource("MVI_0695.dgi")

Threads=4

SetMTMode(3,threads)
...
The first call to SetMTMode() in a script must come before all filters (including source filters), otherwise multithreading will be disabled. So you need to move it before the call to DGSource().

Reel.Deel
5th June 2012, 17:21
I always put setmtmode before source filters but I thought it was different for DGSourceNV since it's GPU based. Well I learned something new. Thanks Gavino!

kolak
5th June 2012, 23:33
From other post:


there is no motion between frames 1 & 2

That's incorrecty detected scene change.

motion between 2&3 is small, followed by a big jump between 3&4

I see now, it's an "adaptive" interpolation, set scene.mode=0 to get rid of this.
I agree that may be it's a bug to use "adaptive" for 2:1 interpolation, thanks.


It's probably the same problem as on my sample, even if I use mode=0. I will post sample tomorrow anyway.

kolak
6th June 2012, 13:48
Can confirm that problems are due to false detection of scene changes.
Tweaked scene change detection sensitivity (scene:5000, blocks:25) and problems are gone.
Maybe some scene changes are not detected (blended frames appear), but at the end I prefer this than bad motion.

kolak
6th June 2012, 20:21
Are these parameters: scene, blocks are only way to tweak scene change detection?

chainik_svp
6th June 2012, 20:43
Are these parameters: scene, blocks are only way to tweak scene change detection?

scene.limit.scene, scene.limit.blocks, scene.limit.zero, scene.luma

Default values may incorrectly detect scene change BUT it will never(*) be missed, even in a night scene

----
(*) almost never :D

kolak
6th June 2012, 22:07
Well- it did miss quite a lot on one of my sources and that's why I made it more sensitive, but this made my conversion rather bad than good :P
Now I prefer lower it to have smooth motion, even for a cost of few blended frames :)

Scenes, which were wrongly detected were for example when someone was walking across frame and than stopped (or slowed down a lot). This was detected as scene change.

What does luma do?

kolak
8th June 2012, 12:50
chainik_svp- can you include/merge Mug Funky script

http://forum.doom9.org/showthread.php?p=1577458#post1577458

for motion blur/angle simulation into interframe? It needs to be adjusted, but as far as I understand it it' just only 2 lines which needs to be added to interfame+tiny modification.

chainik_svp
8th June 2012, 21:19
@ kolak
SubJunk is the author of InterFrame script, I'm just watching :D

What does luma do?
value_for_scene_change_detection = block_SAD_value / (average_block_luma ^ scene.luma)

kolak
9th June 2012, 00:41
Ups- sorry :)

SubJunk
9th June 2012, 02:15
I'll try it :)

janderclander14
23rd June 2012, 00:15
@Subjunk, I've using Interframe with default settings for movie watching for a while and I must say results are very satisfying. It provides almost perfect smoothness with a reasonable amount of artifacts.

I would like to ask you if you know which parameters could be changed to reduce two kind of artifacts that are the most noticeable:
- The first one is some kind of black surfaces (like smooth squares) that appear briefly during scenes with high motion. It seems that not enough motion information is available to perform the estimation and the lacking surfaces are filled with back colour. This artifact does not appears so usually with SVP default settings.
- The other one is the warping around the edges of moving objects with high contrasted backgrounds.

Thanks!

kolak
23rd June 2012, 12:27
I'll try it :)

Mug Funky script works quite well but makes blended scene changes, as it has no scene change detection. Is there a way to avoid it?

SubJunk
24th June 2012, 22:38
@Subjunk, I've using Interframe with default settings for movie watching for a while and I must say results are very satisfying. It provides almost perfect smoothness with a reasonable amount of artifacts.

I would like to ask you if you know which parameters could be changed to reduce two kind of artifacts that are the most noticeable:
- The first one is some kind of black surfaces (like smooth squares) that appear briefly during scenes with high motion. It seems that not enough motion information is available to perform the estimation and the lacking surfaces are filled with back colour. This artifact does not appears so usually with SVP default settings.
- The other one is the warping around the edges of moving objects with high contrasted backgrounds.

Thanks!Those are definitely two of the main issues remaining, if I knew the answer to them I would put it in InterFrame hehe. Let me know if you find anything :)

kolak
24th June 2012, 22:54
InterFrame is as good if not better than pro solutions, so any further improvements are going to be big thing.
I would like to see reduced masking artefacts (in mode 21 and 23)- it's better to have some breaking image than blurred mask- it's less visible in motion.
Another thing is build in deinterlacing (something on the level of yadifmod+NNEID2), so interframe could be a stand alone solution for all input sources.

SubJunk
27th June 2012, 02:25
Version 2.1.0 is released, thanks to widezu for collaborating on this :)

Another thing is build in deinterlacing (something on the level of yadifmod+NNEID2), so interframe could be a stand alone solution for all input sources.I think QTGMC is the best thing for deinterlacing, so I guess I could either put a note on the first page about that or talk to Vit about including it with the InterFrame package

kolak
27th June 2012, 12:25
Well- QTGMC is slow and unstable on many cores PCs, so if you combine it with interframe than you will be waiting years for your conversions to finish :)
yadifmode+NNEDI3 is not as good in terms of quality, but represents good balance between speed/quality. Stability is also very good.
I was thinking about something new, which would use already calculated motion vectors etc.

kolak
27th June 2012, 12:27
Version 2.1.0 is released, thanks to widezu for collaborating on this :)


I had no issues with high motion scenes, but I'm using limits=4700, so maybe this helps or maybe my footage is not fast enough:)

SubJunk
27th June 2012, 12:35
Well- QTGMC is slow and unstable on many cores PCs, so if you combine it with interframe than you will be waiting years for your conversions to finish :)
yadifmode+NNEDI3 is not as good in terms of quality, but represents good balance between speed/quality. Stability is also very good.
I was thinking about something new, which would use already calculated motion vectors etc.Have you tried the fastest presets on QTGMC? The fastest one is pretty basic. If you have an idea for a faster one maybe Vit would be interested to hear it and put it in as a new mega-fast preset :)
I just don't want to duplicate the functionality of an actively-developed script. If I could make a better one then maybe, or if QTGMC was dead maybe, but at the moment I don't see any way I could contribute to make it better without putting in a lot more time than I'm willing to put in :)

I had no issues with high motion scenes, but I'm using limits=4700, so maybe this helps or maybe my footage is not fast enough:)It can be a bit hard to see because InterFrame uses frame-blending for scene-changes anyway, so sometimes action scenes have a bunch of blended frames but it's so fast anyway that it looks like it's interpolated. Using 2.1.0 though most users should notice an overall "smoother" feel to videos even if they didn't notice the blending before :)

kolak
27th June 2012, 13:53
It can be a bit hard to see because InterFrame uses frame-blending for scene-changes anyway, so sometimes action scenes have a bunch of blended frames but it's so fast anyway that it looks like it's interpolated. Using 2.1.0 though most users should notice an overall "smoother" feel to videos even if they didn't notice the blending before :)

Yes- I spent loads of time with QTGMC trying different settings etc and for HD source it's still problematic for me. Now I use yadifmode+NNEID3, which seams to be good enough for my needs.

Well- you can change scene change detection to be ON and this is what I use and have no blended frames. You just have to be careful with Limits/blocks setting, because to strong causes false scene change detection and breaks smoothness. Interframe by default has blend=true, so it needs to be changed to avoid blending.

SubJunk
27th June 2012, 21:50
As long as scene-detection isn't reliable, which it isn't at the moment, I'll keep blend=true to stop the framerate jumping around. All it takes is one false-positive to make the video look like it skipped a frame, and there are many false-positives in high-action scenes and scenes with lighting changes. There always have been with the old MVTools2 method and with this one too.
Didee suggested changing the blend value a while ago and I did it without thinking, which lead to a bunch of complaints from users that suddenly it was much less smooth so I quickly changed it back.
Feel free to share the settings for limits/blocks that you think work and I'll test them out :)

kolak
27th June 2012, 23:49
For my 50i/60i HD live recordings sources (so quite high fps) default setting caused false detections, so now I use limits:4700 and blocks: (20-25) (some scene changes- maybe 5% are missed, but did not have false detections). Funny enough for me these were not fast action scenes, but rather some specific ones- eg person walking and than stopping quickly and than walking again. This would cause false detection. My files are watched on big TV where any motion break is very obvious (not a PC monitor).
Regarding scene change detection- pro solutions seams to work fine, so it means it can be improved. Most encoders seams to also have good scene change detection, so I hope it will be improved :)

alexx7777
10th July 2012, 09:06
Tell me please, you can use interframe for interlaced video, if so, when it is better to use in conjunction with Deshaker (before or after)?

TheSkiller
10th July 2012, 11:25
InterFrame and (I think) also Deshaker cannot be used with interlaced video without bob-deinterlacing it first.
Bob-deinterlacing does not really destroy anything, it is merely a temporal stage needed for InterFrame to work with. After that, the video can be re-interlaced without noticable losses if needed.

Something like this:

AssumeTFF #or AssumeBFF, specify field order of the source
Bob()
InterFrame(...)
AssumeTFF() #or AssumeBFF, use the same as above
SeparateFields().SelectEvery(4,0,3).Weave()

alexx7777
10th July 2012, 12:16
Thank you for your reply Theskiller, but I want to leave interlaced video. I do not need deinterlacing. Desire - to increase the number of frames / (25> 50) and apply Deshaker (a neyastnost - it is better to apply before or after)

Didée
10th July 2012, 12:28
You must bob-deinterlace beforehand. The critical word is "must". Period.
As TheSkiller said, bob-deinterlacing is a "temporary" operation (at least in this context here), you can undo it afterwards.

However, you say you want to do 25-->50 frames. But if you have 25i video, then it already contains 50 motionstates per second. No need for framerate interpolation at all. You just bob-deinterlace, then use deshaker, then re-weave.

kolak
10th July 2012, 13:24
What is the most optimal bobber for 50i <-> 60i conversion? Simple bob is good but introduces problems on static areas/text (flickering).
Any fast solution to keep eg original fields intact+not introduce flickering, so interframe has full frame for its interpolation, but after this we take only "original" fields back.
I use yadifmod+NNEDI3 now.

Didée
10th July 2012, 13:53
In last consequence, that problem is yet unsolved.

For a relatively quick solution, YadifMod+NNEDI3 is pretty fine. But it will snap only onto almost perfectly static areas, and will still show shimmering if things move slowly.

TGMC mostly avoids shimmering on slow motion, but the price is that it isn't lossless.

You can get TGMC mostly lossless by using the "sourcematch" feature, at the expense of slightly more shimmer again, while still not being perfectly lossless. (But noticeably slower...)

If you have proposals for squaring the circle, speak loud. So far, all approaches ended with "you have to trade this for that".

Another point to consider - when doing framerate conversions anyway, then how important "lossless" really is? Pretty much of the result is pure interpolation anyway, so the imperative of "keep those original fields!" seems expendable.

kolak
10th July 2012, 19:36
Well it's not really about fields being original, but rather to be "good", so when watched on TV there is no shimmer/flickering etc problems introduced compared to the source. With "bad" deinterlacing you end up with many more problems than just conversion artefacts, so in my case it makes difference. Lets say this way- source and converted file should look the same except fps being different :)

From my experience yadif+NNEDI3 is "the best" solution for 50i<->60i conversion- no problems on static text and just small shimmering, which is not very visible on TVs (even big ones).
When your target is progressive than QTGMC with very fast preset is probably better, but it introduces more problems on static areas. QTGMC produces very progressive look and in some cases it's big +.

Biggest + for yadif+NEEDI3 is stability on many cores machines- I have rock stable conversions and all done in one script. With QTGMC I have to go through 2 steps, which is not the end of the world, but even so I have stability issues all the time.