Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
3rd December 2017, 23:44 | #3781 | Link | |
Registered User
Join Date: Jul 2010
Posts: 114
|
Quote:
|
|
3rd December 2017, 23:52 | #3782 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
|
You mean this script function? I bet this could be rewritten to use more portable/compatible kernel or plugin functions.
|
4th December 2017, 01:50 | #3783 | Link | |
Registered User
Join Date: Jul 2010
Posts: 114
|
Quote:
|
|
5th December 2017, 21:41 | #3784 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
I just tried to compile avisynth.h with /permissive- in Visual Studio 15.5. It fails. When are you going to change it to be valid C++ code?
Fun fact: this is now the default setting for new projects
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
6th December 2017, 18:23 | #3787 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Code:
4>C:\VapourSynth\AviSynthPlus\avs_core\include\avisynth.h(670): error C3447: third operand to the conditional operator ?: is of type 'void', but the second operand is neither a throw-expression nor of type 'void' AVFS (and probably any plugin/api user) shows this problem.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
8th December 2017, 17:07 | #3789 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
|
|
8th December 2017, 20:19 | #3790 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Works. As a bonus you can now easily use clang-cl to compile plugins too.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
10th December 2017, 00:32 | #3791 | Link |
Registered User
Join Date: Jan 2003
Posts: 124
|
I had to reinstall 2.6, and use SEt's MT dll.
I could never get the 32-bit + MT to work, and then tmedian2 was not available. That was a deal breaker. The + x64 worked perfectly.
__________________
Back in town. If you want my advice, then find me at the DigitalFAQ forum. Glad to assist. |
19th December 2017, 18:45 | #3794 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
New version.
Avisynth Plus r2574 - Finally with an installer (x86/x64 in one package), thanks to Groucho2004. This is the first time I'm providing installer, there can be glitches. One of the installer comes with the current Visual Studio C++ x86 and x64 Redistributables. In theory the VS2017 redistributables superseed and are compatible with the VS2015 one. Please note that original Avisynth documentation and filter SDK is not provided, they are not up to date. - A fix for MaskHS, reported by sneaker_ger, thanks for the report. - The other things are mainly Expr related. There was a bugfix in jit that took some time to understand and caused many grey hairs. And new "why not" features to have my entertainment as well The idea for introducing variables came for an earlier test Expr script, in which abs(x-y) was used and computed at least four times. Variables are temporary registers inside an Expr that can be saved, saved and popped from stack and reused many times. A variable is an uppercase letter from A to Z. The other feature is the pixel-relative addressing. Clip variables can be shifted by (constant) x and y offset. Both of this two features were found later in davidhorman's great rgba_rpn/y8_rpn filter: https://forum.doom9.org/showthread.php?t=172601 Two other Expr feature idea then was adopted from his filter: 'frameno' and 'time' ('n' and 't' in his version - in Expr lowercase letters are clip references) Example: Mandelbrot zoomer, syntax rewritten from the above topic Code:
a="X dup * Y dup * - A + T^ X Y 2 * * B + 2 min Y^ T 2 min X^ " b=a+a c=b+b blankclip(width=960,height=640,length=1600,pixel_type="YUV420P8") Expr("sxr 3 * 2 - -1.2947627 - 1.01 frameno ^ / -1.2947627 + A@ X^ syr 2 * 1 - 0.4399695 "+\ "- 1.01 frameno ^ / 0.4399695 + B@ Y^ "+c+c+c+c+c+b+a+"X dup * Y dup * + 4 < 0 255 ?","128","128") Code:
# Fix Fix: MaskHS created inverse mask. Regression after r2173 Fix: jitasm code generation at specific circumstances in Expr filter # Build Build: changed avisynth.h, strict C++ conformity with Visual Studio 2017 /permissive- flag # Other Installer in two flavours: simple or full (with Microsoft Visual C++ Redistributables) # New Expr tweaks: - Indexable source clip pixels by relative x,y positions. Syntax: x[a,b] where 'x': source clip letter a..z 'a': horizontal shift. -width < a < width 'b': vertical shift. -height < b < height 'a' and 'b' should be constant. e.g.: "x[-1,-1] x[-1,0] x[-1,1] y[0,-10] + + + 4 /" When requested pixels come from off-screen the off-screen values are cloned from the appropriate top-bottom-left-right edge. Optimized version requires SSSE3 (and no AVX2 version is available). On non-SSSE3 CPUs falls back to C. - sin cos tan asin acos atan (no SSE2/AVX2 optimization, when they appear in Expr a slower C code runs the expression) - % (modulo). result = x - trunc(x/d)*d. Note: internally everything is calculated as a 32 bit float. A float can only hold a 24 bit integer number, don't expect 32 bit accuracy here. - Variables: uppercase letters A..Z for storing and reuse temporary results, frequently used computations. Store, result can still be used from stack: A@ .. Z@ Store and remove from stack: A^ .. Z^ Use: A..Z Example: "x y - A^ x y 0.5 + + B^ A B / C@ x +" - 'frameno' : use current frame number in expression. 0 <= frameno < clip_frame_count - 'time' : calculation: time = frameno/clip_frame_count. Use relative time position in expression. 0 <= time < frameno/clip_frame_count - 'width', 'height': currently processed plane width and height |
19th December 2017, 19:45 | #3796 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
__________________
Groucho's Avisynth Stuff |
19th December 2017, 21:42 | #3797 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Thanks pinterf
Quote:
__________________
See My Avisynth Stuff |
|
19th December 2017, 22:14 | #3798 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Maybe. As you see I have implemented many masktools syntax elements in Expr: missing functions, modulo, similarly looking operators, basic scaling support. They are mostly similar but by now masktools lut is a bit behind Expr (e.g. variables).
|
19th December 2017, 22:29 | #3799 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
https://github.com/pinterf/masktools/issues/1
__________________
See My Avisynth Stuff |
|
19th December 2017, 23:55 | #3800 | Link |
Registered User
Join Date: Apr 2010
Location: I have a statue in Hakodate, Japan
Posts: 744
|
Thank you pinterf!
A small observation: the only difference I notice with the old avisynth installer is that had by default activated "Select Association", while this installer does not have it. EDIT: When I tried to directly open a script, instead of starting notepad the Windows Media Player was opened. As I set the default program the notepad, the file icon naturally changed. To fix it I had to use a program called FileTypesMan, but I suppose the idea is for the installer to do it just like the old avisynth. Last edited by GMJCZP; 20th December 2017 at 02:42. |
|
|