Log in

View Full Version : Groucho's Avisynth Stuff


Pages : 1 2 3 4 [5] 6

ChaosKing
19th October 2019, 21:38
Seems like a dns problem on my machine. Or maybe Quad9 DNS 9.9.9.9 is blocking http://www.iol.ie/~schubert/gas/gas.html 🤔

EDIT it is indeed blocked https://www.quad9.net/result/?url=www.iol.ie

LigH
21st October 2019, 08:43
Works for me.

:o Oops, missed a new page.

Groucho2004
21st October 2019, 09:26
Seems like a dns problem on my machine. Or maybe Quad9 DNS 9.9.9.9 is blocking http://www.iol.ie/~schubert/gas/gas.html ��

EDIT it is indeed blocked https://www.quad9.net/result/?url=www.iol.ieJust report it as a false positive to Quad9.

Meloware
21st November 2019, 20:36
I thought zorr ask for this, a year ago. You obliged him with a " -frames" feature, which seems to require each desired frame to be listed. How about a real “-range” feature? I would love a starting point and number of frames (a range) to render!

My video script and 32 core Threadripper is processing out about 20, 1440 x 1080 frames per second. The CPU utilization is only about 16% and there are around 16 threads doing most of the work. Now, I'd love to discuss how to light up the other cores, in a different conversation, but I could really use this “range” feature. If I start an instance of AVSPmod (64), while Avsr was also running, I can specify a later range of frames to process. AVSPmod happily jumps to the selected start frame and begins to process. Then, my CPU load climbs to 30%.
I suppose I am greedy, but I'd love to see what my rendered frame rate would be, with a 85% CPU load! Is there an easy way to specify a start frame/range in the avsr command line?

Groucho2004
22nd November 2019, 00:30
I thought zorr ask for this, a year ago. You obliged him with a " -frames" feature, which seems to require each desired frame to be listed. How about a real “-range” feature? I would love a starting point and number of frames (a range) to render!

My video script and 32 core Threadripper is processing out about 20, 1440 x 1080 frames per second. The CPU utilization is only about 16% and there are around 16 threads doing most of the work. Now, I'd love to discuss how to light up the other cores, in a different conversation, but I could really use this “range” feature. If I start an instance of AVSPmod (64), while Avsr was also running, I can specify a later range of frames to process. AVSPmod happily jumps to the selected start frame and begins to process. Then, my CPU load climbs to 30%.
I suppose I am greedy, but I'd love to see what my rendered frame rate would be, with a 85% CPU load! Is there an easy way to specify a start frame/range in the avsr command line?
I'm not sure about the usefulness of what you're trying to do but for now you can use AVSMeter (https://forum.doom9.org/showthread.php?t=174797) to achieve this (switch "-range", see documentation). Don't forget to set the parameter "AllowOnlyOneInstance" in avsmeter.ini to 0 if you want to run multiple instances.

Meloware
22nd November 2019, 00:54
I have used AVSMeter to check scripts, but wasn't aware you could render as well. Command line rendering is what I have been using AVSr for.
All my script rendering is to frame sequences. This allows me to stop and resume big jobs as my needs for the computer change, over the day. I also have had issues where a script may just stop running. If I were rendering to an avi, everything would break, right? With a frame sequence, I can restart where things left off, with no loss of the work already rendered.

If a script is only running at 20% of my machine's capacity, I can run multiple instances of the script, with each instance rendering different portions of the big job. Unlike rendering to an AVI container, individual numbered frames may be rendered in any order, and make it possible to correct portions of the larger project, without needing to re-render everything from scratch. Each instance might grab it's own 20% of my system resources, but 4 instances combined will give me four times the performance.

When it is all done, I can then review the work and then possibly re-render portions, using different script settings. For these reasons, I feel the ability to suspend and resume script jobs is very powerful and needed.

Thanks, and I will explore doing this with AVSMeter.

Groucho2004
22nd November 2019, 01:07
OK, I understand now. Multiple instances of AVSMeter should do exactly what you want.

Atak_Snajpera
22nd November 2019, 13:12
I thought zorr ask for this, a year ago. You obliged him with a " -frames" feature, which seems to require each desired frame to be listed. How about a real “-range” feature? I would love a starting point and number of frames (a range) to render!

My video script and 32 core Threadripper is processing out about 20, 1440 x 1080 frames per second. The CPU utilization is only about 16% and there are around 16 threads doing most of the work. Now, I'd love to discuss how to light up the other cores, in a different conversation, but I could really use this “range” feature. If I start an instance of AVSPmod (64), while Avsr was also running, I can specify a later range of frames to process. AVSPmod happily jumps to the selected start frame and begins to process. Then, my CPU load climbs to 30%.
I suppose I am greedy, but I'd love to see what my rendered frame rate would be, with a 85% CPU load! Is there an easy way to specify a start frame/range in the avsr command line?

Why don't you just use ripbot264 in distributed encoding mode? With 8 servers (2 per numa) you will get constant 100% CPU load.

Meloware
22nd November 2019, 17:00
OK, I understand now. Multiple instances of AVSMeter should do exactly what you want.

I just tried AVSMeter64 2.9.7. The first instance works, but I am not allowed to run multiple instances from multiple terminal boxes.
I get the message "One instance of AVSMeter is already running"

poisondeathray
22nd November 2019, 17:13
I just tried AVSMeter64 2.9.7. The first instance works, but I am not allowed to run multiple instances from multiple terminal boxes.
I get the message "One instance of AVSMeter is already running"

Edit the .ini

See post 206


Don't forget to set the parameter "AllowOnlyOneInstance" in avsmeter.ini to 0 if you want to run multiple instances.

stax76
23rd November 2019, 15:45
I decided to use avsr for learning how to use avisynth and wonder why there is no build or project file? It took me a while to make it compile in VS.

Groucho2004
23rd November 2019, 15:58
I decided to use avsr for learning how to use avisynth and wonder why there is no build or project file?I build my projects with makefiles from the command line. I can post the makefiles if you want.

stax76
23rd November 2019, 16:10
I build my projects with makefiles from the command line. I can post the makefiles if you want.

I have it working in Visual Studio 2019 but only x86, with x64 (I've only avs+ x64 installed and I don't have any x86 filters) I get many errors unfortunately.

Severity Code Description Project File Line Suppression State
Error (active) E0167 argument of type "char *" is incompatible with parameter of type "LPWSTR" avsr D:\Projekte\CPP\avsr\common.h 79
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type "LPCWSTR" avsr D:\Projekte\CPP\avsr\avsr.cpp 169
Error (active) E0167 argument of type "const char *" is incompatible with parameter of type "LPCWSTR" avsr D:\Projekte\CPP\avsr\common.h 67
Error (active) E0167 argument of type "char *" is incompatible with parameter of type "LPWSTR" avsr D:\Projekte\CPP\avsr\avsr.cpp 125
Error (active) E0167 argument of type "char *" is incompatible with parameter of type "LPTSTR" avsr D:\Projekte\CPP\avsr\common.h 95
Error (active) E0167 argument of type "char *" is incompatible with parameter of type "LPCWSTR" avsr D:\Projekte\CPP\avsr\avsr.cpp 125
Error C4996 '_vsnprintf': This function or variable may be unsafe. Consider using _vsnprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. avsr D:\Projekte\CPP\avsr\utility.h 174
Error C4996 '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. avsr D:\Projekte\CPP\avsr\exception.h 1465
Error C4996 '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. avsr D:\Projekte\CPP\avsr\utility.h 253
Error C2664 'UINT GetWindowsDirectoryW(LPWSTR,UINT)': cannot convert argument 1 from 'char [1026]' to 'LPWSTR' avsr D:\Projekte\CPP\avsr\common.h 79
Error C2664 'UINT (LPTSTR,UINT)': cannot convert argument 1 from 'char [1026]' to 'LPTSTR' avsr D:\Projekte\CPP\avsr\common.h 95
Error C2664 'HMODULE LoadLibraryW(LPCWSTR)': cannot convert argument 1 from 'const char [9]' to 'LPCWSTR' avsr D:\Projekte\CPP\avsr\avsr.cpp 169
Error C2664 'HMODULE GetModuleHandleW(LPCWSTR)': cannot convert argument 1 from 'const char [13]' to 'LPCWSTR' avsr D:\Projekte\CPP\avsr\common.h 67
Error C2664 'DWORD GetModuleFileNameW(HMODULE,LPWSTR,DWORD)': cannot convert argument 2 from '_Ty *' to 'LPWSTR'
with
[
_Ty=char
] avsr D:\Projekte\CPP\avsr\utility.h 248
Error C2664 'DWORD GetModuleFileNameW(HMODULE,LPWSTR,DWORD)': cannot convert argument 2 from 'char [2048]' to 'LPWSTR' avsr D:\Projekte\CPP\avsr\exception.h 67
Error C2664 'DWORD GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR *)': cannot convert argument 1 from 'char *' to 'LPCWSTR' avsr D:\Projekte\CPP\avsr\avsr.cpp 125
Error C2664 'DWORD GetFileVersionInfoSizeW(LPCWSTR,LPDWORD)': cannot convert argument 1 from '_Ty *' to 'LPCWSTR'
with
[
_Ty=char
] avsr D:\Projekte\CPP\avsr\utility.h 258
Error C2664 'DWORD GetFileAttributesW(LPCWSTR)': cannot convert argument 1 from 'const _Elem *' to 'LPCWSTR'
with
[
_Elem=char
] avsr D:\Projekte\CPP\avsr\utility.h 137
Error C2664 'DWORD FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list *)': cannot convert argument 5 from 'char [2048]' to 'LPWSTR' avsr D:\Projekte\CPP\avsr\utility.h 231
Error C2664 'BOOL VerQueryValueW(LPCVOID,LPCWSTR,LPVOID *,PUINT)': cannot convert argument 2 from 'const char [2]' to 'LPCWSTR' avsr D:\Projekte\CPP\avsr\utility.h 272
Error C2664 'BOOL GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,LPVOID)': cannot convert argument 1 from '_Ty *' to 'LPCWSTR'
with
[
_Ty=char
] avsr D:\Projekte\CPP\avsr\utility.h 264

Groucho2004
23rd November 2019, 16:18
No idea (except C4996). Search MSDN for these errors. The code builds fine with the VS2010 compiler, linker and libraries for x86 and x64.

stax76
23rd November 2019, 16:32
It's running now in x64 after changing few lines, thanks Groucho2004.

wonkey_monkey
23rd November 2019, 17:30
It's running now in x64 after changing few lines, thanks Groucho2004.

For the benefit of others, what were the few things?

In my experience those kinds of errors about char* conversions are usually solved by changing the project's Character Set property.

Groucho2004
23rd November 2019, 17:39
For the benefit of others, what were the few things?

In my experience those kinds of errors about char* conversions are usually solved by changing the project's Character Set property.That sounds plausible since newer versions of VS have UNICODE defined by default (as far as I recall).

stax76
23rd November 2019, 19:02
My changes were not perfect like changing func to funcA or LPWSTR to LPSTR.

Groucho2004
23rd November 2019, 19:20
My changes were not perfect like changing func to funcA or LPWSTR to LPSTR.Yeah, not really the way to do it. Just change it in the preprocessor definitions (UNICODE -> MBCS).

stax76
23rd November 2019, 19:50
For my purpose it's fine, I'm much of C++ n00b, only piece of C++ code I still own is this:

https://github.com/stax76/OpenWithPlusPlus/tree/master/OpenWithPPShellExtension

It was written 10-15 years ago and meanwhile I have forgotten few things.

When I've finished this project I'm doing for staxrip (involves avisynth, vapoursynth and hw accelerated rendering) my C++ knowledge will be improved 1-2 levels, I'm still in the learning and experimenting phase and don't try to rush it.

Groucho2004
24th November 2019, 20:38
avsr 0.2.1
- Updated some internal string formatting functions
- Added "-range" switch


How to use the "-range" switch:

"-range=first frame, last frame"
Specifies the range of frames to be processed. For example, "-range=1500,1999" processes 500 frames starting at frame 1500. Without "-range" avsr processes all frames of the script.

kedautinh12
23rd January 2020, 04:11
I see v2.6 of colormatrix add Rec.2020 support.
https://github.com/sorayuki/ColorMatrix/release

Can you compile x64 of it?

Groucho2004
23rd January 2020, 09:51
ColorMatrix 2.6.0.0 (x86 & x64)
tritical's ColorMatrix with updated AVS2.6 headers and SoraYuki's REC.2020 addition. Documentation included.
Note:
These ColorMatrix builds do not have the 'opt' parameter. The binaries produced with the Intel C compiler using C/C++ code are at least as fast as the ones with the inline asm.

kedautinh12
24th January 2020, 00:20
ColorMatrix 2.6.0.0 (x86 & x64)
tritical's ColorMatrix with updated AVS2.6 headers and SoraYuki's REC.2020 addition. Documentation included.
Note:
These ColorMatrix builds do not have the 'opt' parameter. The binaries produced with the Intel C compiler using C/C++ code are at least as fast as the ones with the inline asm.

Thanks, but where your link download??

Zetti
24th January 2020, 00:41
You should check first post.

kedautinh12
24th January 2020, 02:16
You should check first post.

I was checked but only have colormatrix 2.5.0.1 x64

Groucho2004
24th January 2020, 02:59
I was checked but only have colormatrix 2.5.0.1 x64
Try refreshing the download page.

Groucho2004
21st March 2020, 10:51
Added SSIM 0.25.1.0 (x86 & x64). See first post.

Groucho2004
27th March 2020, 15:22
Added AvsRecursion 0.2 (x86 & x64).

Selur
3rd April 2020, 17:55
btw, what happend to TDeint?

Groucho2004
3rd April 2020, 20:37
btw, what happend to TDeint?If you're referring to a 64 bit version I think you'll find the answer here (https://forum.doom9.org/showthread.php?p=1844348#post1844348). You do know that this forum has a search function, right? :sly:

tormento
3rd April 2020, 22:27
If you're referring to a 64 bit version I think you'll find the answer here (https://forum.doom9.org/showthread.php?p=1844348#post1844348).
Who did that? Tritical, Vit or you?

Selur
4th April 2020, 06:32
@Groucho2004: I used the search but must have overlooked the post.
Also the 32bit version points back to this thread.

Groucho2004
4th April 2020, 09:42
@Groucho2004: I used the search but must have overlooked the post.
Also the 32bit version points back to this thread.I see. I never made a 64 bit version. However, I'll put up the 32 bit version again.

ChaosKing
4th April 2020, 10:15
btw, what happend to TDeint?

I also made a git repo for TDdeint (64bit binary included) https://github.com/avisynth-repository/TDeint

Groucho2004
4th April 2020, 10:50
I also made a git repo for TDdeint (64bit binary included) https://github.com/avisynth-repository/TDeintAh, OK. So I don't have to make a build. :)

StainlessS
4th April 2020, 12:05
ChaosKing,
Putting a version number on a zip is rarely a bad idea [Or leave it as it is and remain King of Chaos] :)
[Hope Wonkey sees this]

tormento
4th April 2020, 15:16
I was checking if some plugins were 2.5 or 2.6 and I got this strange error at the end (latest AVS Meter):

[Plugin errors/warnings]
__________________________________________________________________________________________________________________

"D:\Programmi\Media\AviSynth+\plugins64+\MVTools-2.7.41-pinterf.dll" requires the FFTW library for some functions.

Note: 'libfftw3f-3.dll' can be downloaded here:
http://www.fftw.org/install/windows.html

'libfftw3f-3.dll' should be placed in "System32" and/or "SysWoW64"
__________________________________________________________________________________________________________________

I never knew MVTools need FFTW! :confused:

Any hint?

Groucho2004
4th April 2020, 17:02
I never knew MVTools need FFTW! :confused:

Any hint?The DCT general transform uses the fftw library.

tormento
4th April 2020, 17:05
The DCT general transform uses the fftw library.
Luckily I never used that function. Thanks!

StainlessS
4th April 2020, 20:00
DCT used in some functions with DCT parameter non 0 {where requires FFTW library libfftw3f-3.dll or fftw3.dll}, [Non default can be very slow]

MAnalyse

MAnalyse (
clip super,
int blksize (8),
int blksizeV (blksize),
int levels (0),
int search (4),
int searchparam (2),
int pelsearch (pel),
bool isb (false),
int lambda (0 | 1000*blksize*blksizeV/64),
bool chroma (true),
int delta (1),
bool truemotion (true),
int lsad (400 | 1200),
int plevel (0 | 1),
bool global (truemotion),
int pnew (0 | 50),
int pzero (pnew),
int pglobal (0),
int overlap (0),
int overlapV (overlap),
string outfile (""),
int dct (0), <<<<<<<<<<<<<<<<<<<<
int divide (0),
int sadx264 (0),
int badSAD (10000),
int badrange (24),
bool isse,
bool meander (true),
bool temporal (false),
bool trymany (false),
bool multi (false),
bool mt (true),
int scaleCSAD (0)
)



dct

Using of block DCT (frequency spectrum) for blocks difference (SAD) calculation. In particular it can improve motion vector estimation at luma flicker and fades.
0 Usual spatial blocks, do not use DCT.
1 Use block DCT instead of spatial data (slow for block size 8x8 and very slow for other sizes).
2 Mixed spatial and DCT data; weight is dependent on mean frame luma difference.
3 Adaptive per-block switching from spatial to equal-weighted mixed mode (experimental, a little faster).
4 Adaptive per-block switching from spatial to mixed mode with more weight of DCT (experimental, a little faster).
5 SATD instead of SAD for luma.
6 Same as 2 only use SATD.
7 Same as 3 only use SATD.
8 Same as 4 only use SATD.
9 Similar to 2, use SATD and weight ranges from SAD only to equal SAD & SATD.
10 Similar to 3/4,use SATD weight is on SAD, only on strong luma changes.


+ MRecalculate.

Groucho2004
4th April 2020, 20:06
Strictly, it should say "... in some functions with certain parameter values". The current warning could lead people to think that they need fftw in any case.

kedautinh12
13th April 2020, 02:07
here have code Tdeint 1.2 32&64bit but he don't releases it: https://github.com/pinterf/TIVTC

Groucho2004
13th April 2020, 11:24
here have code Tdeint 1.2 32&64bit but he don't releases it: https://github.com/pinterf/TIVTCInteresting. Have you considered asking pinterf about this?

kedautinh12
13th April 2020, 15:18
Interesting. Have you considered asking pinterf about this?

No, i just find out when check tivtc new releases or not

Groucho2004
13th April 2020, 16:04
No, i just find out when check tivtc new releases or notDon't know what that means.

Anyway, stay safe, wash your hands and don't touch your face.

StainlessS
13th April 2020, 16:44
Pinterf will do it when he feels its ready.

kedautinh12
13th April 2020, 16:46
Don't know what that means.

Anyway, stay safe, wash your hands and don't touch your face.
Sorry, my English is bad, i don't asking him yet

Reel.Deel
13th April 2020, 16:49
here have code Tdeint 1.2 32&64bit but he don't releases it: https://github.com/pinterf/TIVTC

I am sure he will release it when it's ready. 3 days ago:

It is a big achievement that last week I made TDeint compilable on msvc x64 and clang as well. More code clean will follow, drop yuy2 and add yv16.

Groucho2004
13th April 2020, 17:01
Sorry, my English is bad, i don't asking him yetWell, you have your answer now. I don't use TIVTC so I don't really follow its development. I was just a bit stumped when your question popped up in this thread.