View Full Version : Dogway's Filters Packs
kedautinh12
11th December 2022, 12:00
What about DPID?
I think with downscale, Zopti1080 and ssim2 is better
Dogway
11th December 2022, 13:15
I was talking about internal ConvertBits function, that you used in your benchmarks. :)
I can do a benchmark for fmtconv bitdepth down conversion, but I doubt it'd make such a difference, the bottleneck is due to several Expr() calls in the 32-bit color space code block. Expr() cannot format out to YUV420 (not sure it should though) so that's a limiter.
What about DPID?
There was some kind of issue with DPID, IIRC a subpixel shift or something, maybe some aliasing, can't remember, so I defaulted to SSIM2 in deep_resize().
poisondeathray
11th December 2022, 15:59
Nice work Dogway
Can you post the src images for the zone plate and ringing test in post #1789 ?
Thanks
Reel.Deel
11th December 2022, 18:18
Can you post the src images for the zone plate and ringing test in post #1789 ?
https://geekhack.org/index.php?action=dlattach;topic=50386.0;attach=42180;image and rings: https://legacy.imagemagick.org/Usage/img_photos/rings_lg_orig.png
poisondeathray
17th December 2022, 20:56
I'm trying to match libplacebo_Shader using adaptive_sharpen.glsl settings to Adaptive_Sharpen() in the Sharpener's Pack, as the results are quite different. I like Adaptive_Sharpen in more in many cases because there is less ringing, but it's slower. But there are 3 entries that are not in the .glsl that might explain this, and I don't know how to modify the glsl besides the simple parameter settings . The entries are dW_lothr, dW_hithr, lowthr_mxw - any ideas ?
Dogway
18th December 2022, 02:00
arrff, Adaptive_sharpen is a monster I'd rather leave behind, it was hard to port, and more to optimize, really the last optimizations already got me about 20 or 25% speed increase by decoupling an expression, I don't really think I can squeeze more out of it but maybe someone (Asd-g?) is interested in a plugin port?
To be honest I don't understand libplacebo_Shader() much either myself, I think I'm doing it right in for example RAVUresize() but I have my doubts specially when it comes to "filter" and "radius", maybe try playing with those first. Also keep in mind avslibplacebo requires RGB, that involves resizing chroma up, sharpening the 3 planes, then chroma down, it's not going to match 100% and the later being more prone to ringing and/or fringing.
There are other mismatches I observed in for example the EWA___ modes for gpuid=0 or -1 (libplacebo or JincResize). I will try to ask about it later on.
As for the shader, I think you are using the abridged version that I promised to port but never did. My version is the original 2 pass from bacondither, and here (https://github.com/bacondither/Adaptive-sharpen/blob/0da6654e464c4136e3a68d80f5cd3bd7563762b9/shaders/Adaptive-sharpen%20-%20Pass%20two.hlsl#L59) you can check the definitions of the args you mention.
Some updates on TransformsPack, I did some fixes related to scalers, but I'm holding back until I solve some issues with linear sources, as they need to be accounted when changing gamma encode required formats and scale_spaces... it's like a puzzle. Really would like an IDE that would highlight the code path of a call, for better debugging logic.
For zone plates you can also create one like with the example (https://github.com/Dogway/Avisynth-Scripts/blob/88d7dd948b6ce852d3c847c7ead9b0574f9b2c5d/ExTools.avsi#L935)in ExTools.
poisondeathray
18th December 2022, 02:12
As for the shader, I think you are using the abridged version that I promised to port but never did. My version is the original 2 pass from bacondither, and here (https://github.com/bacondither/Adaptive-sharpen/blob/0da6654e464c4136e3a68d80f5cd3bd7563762b9/shaders/Adaptive-sharpen%20-%20Pass%20two.hlsl#L59) you can check the definitions of the args you mention.
ahhh thanks
Originals are a hlsl shader, but I think the libplacebo_Shader() only accepts glsl in mpv syntax . Does anyone have a glsl version around ?
I don't use shader much, but the speeds for some of the filters are nice
LeXXuz
19th December 2022, 13:27
I have a film here from a low budget production which seems to be recorded with a poor DV cam. It's quite clean but has some very bad aliasing around sharp edges, see pic:
https://abload.de/thumb/aliasing8zfbq.jpg (https://abload.de/image.php?img=aliasing8zfbq.jpg)
The material is 1080p and was recorded as such. So this is not from some poor deinterlacing with field mismatch or something.
Any good filter/script setting you could recommend to reduce this a little?
Dogway
19th December 2022, 14:56
Yes, that is possibly a flaw from RGB debayering. It can be fixed with SantiagMod(strh=8,strv=0).
Recently I had to fix a similar issue and finally decided to mix SantiagMod() for flat areas, and DeGaussResizeMT() for edges, as it gave me better edges.
https://i.imgur.com/9tqjZEi.png..............https://i.imgur.com/QtgbUMJ.png
This was my script:
a=last
w=1904/2
h=808/1
DeGaussResizeMT(nmod(w),nmod(h),order=1,p=100)
nnedi3wrap(2,1,fwidth=1920,fheight=814) # for edge
ex_limitdif(SantiagMod(a,strh=0,strv=4).spline36resize(1920,814), last, thr=1, elast=4, UV=4) # santiag for flat
ex_unsharp(0.2, Fc=1920)
kedautinh12
19th December 2022, 15:11
Can you explain why width=1920 and height=814 but w=1904 and h=808?
Dogway
19th December 2022, 15:20
It was just pre-cropping. If you don't have garbage edges or black borders you can use 1920x1080. 814 is to keep aspect ratio when scaling from 1904 to 1920.
LeXXuz
19th December 2022, 20:21
Where do I find SantiagMod()? Only found the original Santiag() from cretindesalpes.
DeGaussResizeMT is the one from jpsdr's ResampleMT, right?
Dogway
19th December 2022, 21:12
It's in this post (https://forum.doom9.org/showthread.php?p=1953852#post1953852). I guess I would better upload it Git, I will after I add GPU support.
Reel.Deel
19th December 2022, 21:15
It's in this post (https://forum.doom9.org/showthread.php?p=1953852#post1953852). I guess I would better upload it Git, I will after I add GPU support.
Isn't this the same: https://github.com/Dogway/Avisynth-Scripts/blob/master/MIX%20mods/LSharpAAF.avsi#L568 ?
Dogway
19th December 2022, 23:30
Yes, that's right, forgot about it.
I think I will delete it from there, SantiagMod is a staple so I want more visibility. I updated it with NNEDI3CL and some speed optimizations here (https://github.com/Dogway/Avisynth-Scripts/blob/master/MIX%20mods/SantiagMod.avsi).
DeGaussResizeMT is the one from jpsdr's ResampleMT, right?
Yes, it's included in plugins_JPSDR.dll along CPU nnedi3, and some more.
LeXXuz
20th December 2022, 22:31
Yes, that's right, forgot about it.
I think I will delete it from there, SantiagMod is a staple so I want more visibility. I updated it with NNEDI3CL and some speed optimizations here (https://github.com/Dogway/Avisynth-Scripts/blob/master/MIX%20mods/SantiagMod.avsi).
Yes, it's included in plugins_JPSDR.dll along CPU nnedi3, and some more.
I get an access violation error in the Transforms Pack when running your little script.
I have NNEDI3CL and plugins_JPSDR.dll installed and just changed all resolutions to 1920,1080.
kedautinh12
21st December 2022, 00:05
Waiting for mod approval forever :D
Are you got avs+ and vc++ latest ver???
https://gitlab.com/uvz/AviSynthPlus-Builds
https://github.com/abbodi1406/vcredist
Dogway
21st December 2022, 00:13
It might be related to an issue I fixed internally these days, also affected RAVUresize I think. I'm updating TransformsPack partially today, and Main for tomorrow.
EDIT: By the way, I'm preparing a guide for a correct home theater set up in regards to display and surround environment luminance levels, as well as white point. It will be scientific based, not by the common known standards.
guest
21st December 2022, 01:49
Could someone please provide a simple script/call for Whitepoint.
https://github.com/Dogway/Avisynth-Scripts/blob/master/GradePack.avsi#L1466
Reel.Deel
21st December 2022, 02:03
Could someone please provide a simple script/call for Whitepoint.
https://github.com/Dogway/Avisynth-Scripts/blob/master/GradePack.avsi#L1466
Simple script/call for Whitepoint: Whitepoint()
Same as above (except for matrix and tv_range, they use frame properties so they may default to something else): WhitePoint (temperature=6504, matrix="709", locus="Daylight", observer=1931, list=false, tv_range=true)
You literally linked to the part that has all of the information. Read from line #1446: https://github.com/Dogway/Avisynth-Scripts/blob/master/GradePack.avsi#L1446
guest
21st December 2022, 02:46
Simple script/call for Whitepoint: Whitepoint()
Same as above (except for matrix and tv_range, they use frame properties so they may default to something else): WhitePoint (temperature=6504, matrix="709", locus="Daylight", observe=1931, list=false, tv_range=true)
You literally linked to the part that has all of the information. Read from line #1446: https://github.com/Dogway/Avisynth-Scripts/blob/master/GradePack.avsi#L1446
Thankyou, but no success :(
I'm clearly missing something important...
There has to be more dependencies !!
Import("C:\RipBot264_PD (16-12-22)\Tools\AviSynth plugins\PD_TOOLS\EXTOOLS\ExTools.avs")
Import("C:\RipBot264_PD (16-12-22)\Tools\AviSynth plugins\PD_TOOLS\TRANSFORM-PACK\Transforms Pack.avs")
video=WhitePoint(video,temperature=6504, matrix="709", locus="Daylight", observe=1931, list=false, tv_range=true)
kedautinh12
21st December 2022, 02:55
Don't have error message, can't fix :D
Reel.Deel
21st December 2022, 02:59
Thankyou, but no success :(
I'm clearly missing something important...
There has to be more dependencies !!
......
It might need the other TransformsPack scripts (models and/or transfers). I'm not going to check the script to see what functions it uses. Regardless, I told you back in #1785 (https://forum.doom9.org/showthread.php?p=1979448#post1979448) that you should load all of them, as it does no harm to do so.
kedautinh12
21st December 2022, 03:04
Dogway just update latest ver some scripts, you need update too
guest
21st December 2022, 03:04
Don't have error message, can't fix :D
Yeah, I know, all I can add it when I check it with AVSMeter, it won't even start the "test", so no info :(
guest
21st December 2022, 03:06
It might need the other TransformsPack scripts (models and/or transfers). I'm not going to check the script to see what functions it uses. Regardless, I told you back in #1785 (https://forum.doom9.org/showthread.php?p=1979448#post1979448) that you should load all of them, as it does no harm to do so.
Sorry, I DID try one script with ALL the Transforms Pack, same outcome :(
guest
21st December 2022, 03:07
Dogway just update latest ver some scripts, you need update too
Yes, I noticed that, and have updated the one's I use :)
kedautinh12
21st December 2022, 03:17
Yeah, I know, all I can add it when I check it with AVSMeter, it won't even start the "test", so no info :(
Try with AvsPmod
Reel.Deel
21st December 2022, 03:23
Sorry, I DID try one script with ALL the Transforms Pack, same outcome :(
It's hard to know without any errors messages and your scripts always seen to be missing something. Not sure if that is because of RipBot but to make it easier for everyone, you should try to first get in running on VDub2 or something.
There was a typo in my first post (observer=1931). I fixed that and tried the script myself:
video = LSMASHVideoSource("somevideo.mp4")
WhitePoint(video, temperature=6504, matrix="709", locus="Daylight", observer=1931, list=false, tv_range=true)
And it gives me the following error:
Avisynth open failure:
Script error: Invalid arguments to function 'CCTF'.
(C:/Program Files (x86)/AviSynth+/plugins64+/GradePack.avsi, line 1559)
(C:/Program Files (x86)/AviSynth+/plugins64+/GradePack.avsi, line 1584)
Same thing if I just called it with "Whitepoint()". I'm not in the mood to look for the error, so let's wait for dogway :)
guest
21st December 2022, 03:37
It's hard to know without any errors messages and your scripts always seen to be missing something. Not sure if that is because of RipBot but to make it easier for everyone, you should try to first get in running on VDub2 or something.
There was a typo in my first post (observer=1931). I fixed that and tried the script myself:
video = LSMASHVideoSource("somevideo.mp4")
WhitePoint(video, temperature=6504, matrix="709", locus="Daylight", observer=1931, list=false, tv_range=true)
And it gives me the following error:
Avisynth open failure:
Script error: Invalid arguments to function 'CCTF'.
(C:/Program Files (x86)/AviSynth+/plugins64+/GradePack.avsi, line 1559)
(C:/Program Files (x86)/AviSynth+/plugins64+/GradePack.avsi, line 1584)
Same thing if I just called it with "Whitepoint()". I'm not in the mood to look for the error, so let's wait for dogway :)
I know that "we" need to be "in the mood" to work thru things like this, so thankyou for your suggestions :)
However, from the script you showed, I added GradePack, and it now works :)
Import("%AVISYNTHPLUGINS%\PD_TOOLS\EXTOOLS\ExTools.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\GRADE-PACK\Grade Pack.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\TRANSFORM-PACK\Transforms Pack.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\TRANSFORM-PACK\Transforms Pack-Models.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\TRANSFORM-PACK\Transforms Pack-Transfers.avs")
video=WhitePoint(video,temperature=6504, matrix="709", locus="Daylight", observer=1931, list=false, tv_range=true)
I just need to tweak the settings until I get the desired result.
FYI, it DOES need all the Transforms ;)
:thanks:
guest
21st December 2022, 03:38
Try with AvsPmod
I'm not familiar enough with that, to use it to test scripts :p
Reel.Deel
21st December 2022, 03:58
However, from the script you showed, I added GradePack, and it now works :)
Hmm, glad it works now. I'm still getting the same error, just updated all of dogway's scripts and nothing... Maybe I'll figure it out later.
guest
21st December 2022, 04:28
Hmm, glad it works now. I'm still getting the same error, just updated all of dogway's scripts and nothing... Maybe I'll figure it out later.
I could be very wrong here, but could this be the problem you're having :-
video = LSMASHVideoSource("somevideo.mp4")
WhitePoint(video, temperature=6504, matrix="709", locus="Daylight", observer=1931, list=false, tv_range=true)
I think the "video" might be "leftover" from my script, and that's a RipBot thing...wouldn't you need to use something different, like "clip" or similar ??
https://github.com/Dogway/Avisynth-Scripts/blob/master/GradePack.avsi#L1466
Reel.Deel
21st December 2022, 04:36
I could be very wrong here, but could this be the problem you're having :-
video = LSMASHVideoSource("somevideo.mp4")
WhitePoint(video, temperature=6504, matrix="709", locus="Daylight", observer=1931, list=false, tv_range=true)
I think the "video" might be "leftover" from my script, and that's a RipBot thing...wouldn't you need to use something different, like "clip" or similar ??
https://github.com/Dogway/Avisynth-Scripts/blob/master/GradePack.avsi#L1466
The name can be whatever. I can name my clip chickenwings = xxxsource("video.mkv") and then call it later on with Whitepoint(chickenwings). Clip in a function is just the type.
kedautinh12
21st December 2022, 05:53
I'm not familiar enough with that, to use it to test scripts :p
Just copy your script to AvsPmod and it will show errors
guest
21st December 2022, 07:28
Just copy your script to AvsPmod and it will show errors
But you must need to load a video file as well, otherwise it has nothing to work with ?
guest
21st December 2022, 07:29
This really seems to slow the encoding down, a LOT !!!!!
kedautinh12
21st December 2022, 10:04
But you must need to load a video file as well, otherwise it has nothing to work with ?
Just copy scripts contain video from ripbot and AvsPmod will load script successly :D
guest
21st December 2022, 11:13
Just copy scripts contain video from ripbot and AvsPmod will load script successly :D
I'm pretty sure that RipBot does the video & audio side of things very differently.
Dogway
21st December 2022, 11:26
You got me in the middle of a TransformsPack update, today I release the Main branch. They are mostly the three of them always needed, as they were once a single script. Typically the same for ResizersPack, they call each other several times, kind of inception thing, ConvertFormat(kernel="deep"), calls deep_resize() which in turn calls back ConvertFormat() which uses nnedi3resize() which in turn is in ResizersPack(), and this itself calls ConvertFormat() for pixel centering.
Anyway, the main problem was you were calling the arg 'observe' when it's 'observer'. Also it's better you omit the arg as below 5000K it should shift to the Planckian locus. Basically call WhitePoint(8000) and you are good to go.
Also as as a tip, for example I made a folder with all real.finder scripts, as I don't want them auto-loaded or mixed with the main plugins64+ folder.
Then create a script called IMPORT_ALL.avsi with content:
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\ContraSharpen_mod.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\dither.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\GradFun2DBmod.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\GrainFactory3.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\mt_xxpand_multi.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\nnedi3_resize16.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\ResizeX.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\Utils-r41.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\Utils-r42.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\Vinverse_avsi.avsi")
Import( "C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\Zs_RF_Shared.avsi")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\AutoAdjust.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\ConvertStacked.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\dither.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\FluxSmooth.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\neo_dfttest.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\neo_f3kdb.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\neo_fft3d.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\SmoothAdjust.dll")
...
And simply import that from your script:
Import("C:\Program Files (x86)\AviSynth+\plugins64+\real.finder tests\IMPORT_ALL.avsi")
Your Script
LeXXuz
21st December 2022, 11:57
Waiting for mod approval forever :D
Are you got avs+ and vc++ latest ver???
https://gitlab.com/uvz/AviSynthPlus-Builds
https://github.com/abbodi1406/vcredist
Yeah that kinda sucks. :rolleyes: The Doom forums could use an overhaul on that. I'm tired of using imagehosts just to post a screenshot...
All is up to date. Rebuild all my systems with Win11 recently.
It might be related to an issue I fixed internally these days, also affected RAVUresize I think. I'm updating TransformsPack partially today, and Main for tomorrow.
No worries. I'll get back to that film after the holidays. ;)
EDIT: By the way, I'm preparing a guide for a correct home theater set up in regards to display and surround environment luminance levels, as well as white point. It will be scientific based, not by the common known standards.
Definitely interested on that. :)
Fjord
26th December 2022, 01:11
I am looking for a spatial median filter with variable x and y radius, where radius is large (for example 30 to 80 pixels). Something like ex_blur() with radius and radiusV parameters, or ex_gaussianblur() with sigma and sigmaV parameters, but where the operation is median rather than mean/smooth. MedianBlur2 woud be good if it had separate horizontal and vertical radius parameters - but it does not.
The purpose is for filling in sprocket holes and film gate edges on overscan scans of 8mm film - prior to image stabilization.
I have tried ex_median(mode="vertical") and VerticalMedian(), but these don't seem to make any noticable change in my 2K videos - probably because these are radius=1 or 2 operations, and I am looking for much bigger spatial effect.
Since ex_median() does not have a radius parameter, what would be the proper way to obtain an effective larger spatial radius using ex_median()? Chaining calls to ex_median() doesn't seem to do anything on my video. (ie. ex_median().ex_median().ex_median()...)
ps. I have even tried AvsInpaint() with masking, but this is very difficult to tune for my purposes, and it doesn't work very well at edges of the frame.
Dogway
26th December 2022, 15:39
Use ex_luts() for anything convolution related.
For example you can use any shape for median defined in ex_shape() with mode="median" or "med"
ex_luts(mode="med",pixels=ex_shape(3,2))
The problem is there's a limit in pixel fetching, not per Expr() but I only could make up to 49 entries sorting networks which saturates a 7x7 square matrix (rad=3). I do think this is enough though, it will also run pretty slow already.
If it is for filling you can probably leverage ex_expand() with some masking. Or with the same mask downscale to half or quarter and apply the above ex_luts(), then upscale back and copy over. There's also infinite dilation that I think is what you tried using AvsInpaint.
Finally there's a trick to create your mask (without having a look at your footage), downscale down to holes matching 7 pixels on the highest dimension, do a Top Hat with ex_shape roughly matching the shape, and clean the mask. Now you can apply any kind of blur/median and copy over the upscaled version.
Fjord
26th December 2022, 23:29
Thanks, I’ll try your suggestions in the coming days and report back.
guest
28th December 2022, 02:31
I know that "we" need to be "in the mood" to work thru things like this, so thankyou for your suggestions :)
However, from the script you showed, I added GradePack, and it now works :)
Import("%AVISYNTHPLUGINS%\PD_TOOLS\EXTOOLS\ExTools.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\GRADE-PACK\Grade Pack.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\TRANSFORM-PACK\Transforms Pack.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\TRANSFORM-PACK\Transforms Pack-Models.avs")
Import("%AVISYNTHPLUGINS%\PD_TOOLS\TRANSFORM-PACK\Transforms Pack-Transfers.avs")
video=WhitePoint(video,temperature=6504, matrix="709", locus="Daylight", observer=1931, list=false, tv_range=true)
I just need to tweak the settings until I get the desired result.
FYI, it DOES need all the Transforms ;)
:thanks:
This has stopped working for me :(
Has a problem with this:-
https://github.com/Dogway/Avisynth-Scripts/blob/master/GradePack.avsi#L1584
Dogway
28th December 2022, 09:37
Ok, scale_space logic in "TransformsPack - Main" was dragging out the release, so I will upload what I have in the evening after some checks. The logic refactor is only for linear inputs with scale_space, a bit of a corner case, but it can be extended for log inputs as well.
After this update, only the scale_space logic refactor remains.
Tempter57
29th December 2022, 13:03
Dogway
Now at usage QTGMCp it is necessary to use ahead
propSet ("_DurationDen", mode =?)
Why about it it is not told words?
What value mode is necessary for setting for different source codes?
Dogway
29th December 2022, 21:33
@Tempter57: Good point. I don't know what source loaders don't populate the '_Durationxxx' props, but just in case I added some checks in QTGMC+ and ResizersPack nnedi3wrap() and EEDI3wrap().
@TDS: Please check now, I updated all three TransformsPack scripts. I will keep working on it further if issues arise and for the mentioned scale_space logic, as well as finishing some HDR wip functions I added today.
guest
30th December 2022, 03:21
@Tempter57: Good point. I don't know what source loaders don't populate the '_Durationxxx' props, but just in case I added some checks in QTGMC+ and ResizersPack nnedi3wrap() and EEDI3wrap().
@TDS: Please check now, I updated all three TransformsPack scripts. I will keep working on it further if issues arise and for the mentioned scale_space logic, as well as finishing some HDR wip functions I added today.
Just reporting back :)
Have updated EVERYTHING and it's now working like a charm ;)
PS:- Hopefully this will fix Reel.Deel's problems from here:-
https://forum.doom9.org/showthread.php?p=1980010#post1980010
&
https://forum.doom9.org/showthread.php?p=1980015#post1980015
:thanks: :thanks:
Tempter57
30th December 2022, 03:22
Dogway
Thanks you for the done adjustment of scripts. Now another matter: all works well and anything before QTGMCp it is not necessary to register.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.