CLExpr
From Avisynth wiki
(Difference between revisions)
Raffriff42 (Talk | contribs) (redirect for convenient searching) |
(CLExpr: add documentation) |
||
Line 1: | Line 1: | ||
− | + | {{FilterCat5|External_filters|Plugins|Plugins_x64|Other_filters|multipurpose_Filters}} | |
− | {{ | + | {{Filter3 |
+ | | {{Author/tp7}} | ||
+ | | v0.91 | ||
+ | |[x86] [https://github.com/tp7/CLExpr/releases CLExpr-x86.zip] | ||
+ | -------- | ||
+ | [x64] [https://github.com/tp7/CLExpr/releases CLExpr-x64.zip] | ||
+ | | Multipurpose | ||
+ | | | ||
+ | |6=}} | ||
+ | |||
+ | == Description == | ||
+ | AviSynth Expr filter implemented in OpenCL. | ||
+ | |||
+ | Provides three functions: | ||
+ | *<code>cl_expr</code> - analogue of mt_lut | ||
+ | *<code>cl_exprxy</code> - analogue of mt_lutxy | ||
+ | *<code>cl_exprxyz</code> - analogue of mt_lutxyz | ||
+ | |||
+ | All expressions are calculated in runtime. 16-bit stacked clips are supported with the lsb parameter. Full set of masktools lut operators and functions is supported. | ||
+ | |||
+ | AviSynth+: self-registers as [[MT_MULTI_INSTANCE]] | ||
+ | <br> | ||
+ | <br> | ||
+ | == Requirements == | ||
+ | * [x86]: [[AviSynth+]] or [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6] | ||
+ | * [x64]: [[AviSynth+]] | ||
+ | * Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]] | ||
+ | <br> | ||
+ | * [https://www.microsoft.com/en-us/download/details.aspx?id=40784 Microsoft Visual C++ 2013 Redistributable Package (x86 / x64)] | ||
+ | :<span style="color:red">***</span> <tt>vcredist_x86.exe</tt> is required for <tt>modPlus-x86</tt> | ||
+ | :<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>modPlus-x64</tt> | ||
+ | <br> | ||
+ | == [[Script variables|Syntax and Parameters]] == | ||
+ | :{{Template:FuncDef| cl_expr (clip, string "expr", string "yExpr", string "uExpr, string "vExpr", int "Y", int "U", int "V", string "chroma", bool "lsb")}} | ||
+ | :{{Template:FuncDef| cl_exprxy (clip, clip, string "expr", string "yExpr", string "uExpr, string "vExpr", int "Y", int "U", int "V", string "chroma", bool "lsb")}} | ||
+ | :{{Template:FuncDef| cl_exprxyz (clip, clip, clip, string "expr", string "yExpr", string "uExpr, string "vExpr", int "Y", int "U", int "V", string "chroma", bool "lsb")}} | ||
+ | <br> | ||
+ | ::{{Par2| |clip| }} | ||
+ | :::Input clip. | ||
+ | <br> | ||
+ | ::{{Par2|yExpr|string|""}} | ||
+ | ::{{Par2|uExpr|string|""}} | ||
+ | ::{{Par2|vExpr|string|""}} | ||
+ | :::Expression; full set of MaskTools2 LUT operators and functions is supported. | ||
+ | <br> | ||
+ | ::{{Par2|Y|int|3}} | ||
+ | ::{{Par2|U|int|2}} | ||
+ | ::{{Par2|V|int|2}} | ||
+ | :::Plane processing: | ||
+ | :::* 1 : do nothing (garbage) | ||
+ | :::* 2 : copy | ||
+ | :::* 3 : process | ||
+ | :::* 4 : copy second | ||
+ | :::* 5 : copy third | ||
+ | <br> | ||
+ | <br> | ||
+ | ::{{Par2|chroma|string|""}} | ||
+ | :::Chroma processing: <code>"process" | "copy" | "copy second" | "copy third"</code> | ||
+ | <br> | ||
+ | ::{{Par2|lsb|bool|false}} | ||
+ | :::[[Stack16]] input and output, set to true to enable. | ||
+ | <br> | ||
+ | <br> | ||
+ | |||
+ | == Examples == | ||
+ | [[TODO]] | ||
+ | <br> | ||
+ | == Changelog == | ||
+ | Version Date Changes<br> | ||
+ | v0.91 2014/10/25 - Expressions with integer constants should now work more often. | ||
+ | v0.09 2014/09/21 - Initial release | ||
+ | |||
+ | <br> | ||
+ | == External Links == | ||
+ | *[https://github.com/tp7/CLExpr GitHub] - Source code repository. | ||
+ | <br> | ||
+ | <br> | ||
+ | ----------------------------------------------- | ||
+ | '''Back to [[External_filters#Averaging.2FLayering.2FMasking|External Filters]] ←''' |
Revision as of 20:23, 21 April 2020
Abstract | |
---|---|
Author | tp7 |
Version | v0.91 |
Download | [x86] CLExpr-x86.zip
[x64] CLExpr-x64.zip |
Category | Multipurpose |
License | |
Discussion |
Contents |
Description
AviSynth Expr filter implemented in OpenCL.
Provides three functions:
cl_expr
- analogue of mt_lutcl_exprxy
- analogue of mt_lutxycl_exprxyz
- analogue of mt_lutxyz
All expressions are calculated in runtime. 16-bit stacked clips are supported with the lsb parameter. Full set of masktools lut operators and functions is supported.
AviSynth+: self-registers as MT_MULTI_INSTANCE
Requirements
- *** vcredist_x86.exe is required for modPlus-x86
- *** vcredist_x64.exe is required for modPlus-x64
Syntax and Parameters
- cl_expr (clip, string "expr", string "yExpr", string "uExpr, string "vExpr", int "Y", int "U", int "V", string "chroma", bool "lsb")
- cl_exprxy (clip, clip, string "expr", string "yExpr", string "uExpr, string "vExpr", int "Y", int "U", int "V", string "chroma", bool "lsb")
- cl_exprxyz (clip, clip, clip, string "expr", string "yExpr", string "uExpr, string "vExpr", int "Y", int "U", int "V", string "chroma", bool "lsb")
- clip =
- Input clip.
- clip =
- string yExpr = ""
- string uExpr = ""
- string vExpr = ""
- Expression; full set of MaskTools2 LUT operators and functions is supported.
- string yExpr = ""
- int Y = 3
- int U = 2
- int V = 2
- Plane processing:
- 1 : do nothing (garbage)
- 2 : copy
- 3 : process
- 4 : copy second
- 5 : copy third
- Plane processing:
- int Y = 3
- string chroma = ""
- Chroma processing:
"process" | "copy" | "copy second" | "copy third"
- Chroma processing:
- string chroma = ""
- bool lsb = false
- Stack16 input and output, set to true to enable.
- bool lsb = false
Examples
Changelog
Version Date Changes
v0.91 2014/10/25 - Expressions with integer constants should now work more often. v0.09 2014/09/21 - Initial release
External Links
- GitHub - Source code repository.
Back to External Filters ←