Log in

View Full Version : requested frame not prefetched


luigizaninoni
17th August 2016, 20:42
In a vs script i am loading an avisynth plugin (autoadjust.dll).

It works fine (encoding to x265), but I get this warning:

requested frame xx not prefetched, using slow method

What does this mean ? If it is using the "slow" method, is there a faster method I can use ?

My script:
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(r"C:\Users\luigi\Desktop\video grafica\Staxrip64\Apps\Plugins\vs\fmtconv\fmtconv.dll")
core.std.LoadPlugin(r"C:\Users\luigi\Desktop\video grafica\Staxrip64\Apps\Plugins\vs\vslsmashsource\vslsmashsource.dll")
import importlib.machinery
adjust = importlib.machinery.SourceFileLoader('adjust', r"C:\Users\luigi\Desktop\video grafica\Staxrip64\Apps\Plugins\vs\adjust\adjust.py").load_module()
mvsfunc = importlib.machinery.SourceFileLoader('mvsfunc', r"C:\Users\luigi\Desktop\video grafica\Staxrip64\Apps\Plugins\vs\mvsfunc\mvsfunc.py").load_module()
core.max_cache_size=5000
core.avs.LoadPlugin(path=r'C:\Program Files\AviSynth+\plugins64\AutoAdjust.dll')
clip = core.lsmas.LWLibavSource(r"C:\Users\luigi\Desktop\ConvertitiInMkv\00000.mkv")
clip = core.resize.Spline36(clip, 960, 540)
clip = adjust.Tweak(clip,hue=0.0,sat=1.029,bright=0.0,cont=1.0)
clip = core.avs.AutoAdjust(clip,auto_gain=True,auto_balance=True,gamma_limit=1.1,dark_limit=1.2,bright_limit=1.2,chroma_limit=1.04,balance_str=0.6)
clip = mvsfunc.BM3D(clip, sigma=[7,7,7], radius1=2)
clip.set_output()

AzraelNewtype
17th August 2016, 22:10
That's a side effect of some avs filters, and I see you have one in there. Of course, you have it before BM3D, so it will never be the bottleneck anyway, so I wouldn't worry about it.

luigizaninoni
17th August 2016, 22:50
That's a side effect of some avs filters, and I see you have one in there. Of course, you have it before BM3D, so it will never be the bottleneck anyway, so I wouldn't worry about it.

Thanks for your reply. I'm just testing BM3D but I usually have KNlmeanscl instead, which is not a real bottleneck on my gpu, so it would still be useful if the issue was solved. Searching in previous threads I read about a "prefetch list" that allows prefetching of all the frames requested by an avisynth filter.

So, given that AutoAdjust needs prefetching of current frame + 20 previous frames + 20 next frames, would it be possible to update this "prefetch list" accordingly ?

Myrsloik
17th August 2016, 22:58
I can add it but are you sure it uses that many frames? Any source on that?

luigizaninoni
17th August 2016, 23:14
Default is 20 frames.

See readme in zip at this link:
http://latoninf.free.fr/d9/AA/AutoAdjust-v2.60.7z See in particular point VII - temporal radius

Readme says that useful range is 10-30 frames in each direction, so perhaps someone is using it at maximum range (30)