CLExpr
From Avisynth wiki
(Difference between revisions)
Raffriff42 (Talk | contribs) (redirect for convenient searching) |
m |
||
(4 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{FilterCat6|External_filters|Plugins|Plugins_x64|Other_filters|multipurpose_Filters|Deep_color_tools}} | |
− | {{ | + | {{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=[https://forum.doom9.org/showthread.php?p=1672638#post1672638 Doom9 Forum]}} | ||
+ | |||
+ | == 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 [https://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>CLExpr-x86</tt> | ||
+ | :<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>CLExpr-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> | ||
+ | == Examples == | ||
+ | [[TODO]] | ||
+ | <br> | ||
+ | <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#Multipurpose_Filters|External Filters]] ←''' | ||
+ | ----------------------------------------------- |
Latest revision as of 04:20, 21 February 2023
Abstract | |
---|---|
Author | tp7 |
Version | v0.91 |
Download | [x86] CLExpr-x86.zip
[x64] CLExpr-x64.zip |
Category | Multipurpose |
License | |
Discussion | Doom9 Forum |
Contents |
[edit] 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
[edit] Requirements
- *** vcredist_x86.exe is required for CLExpr-x86
- *** vcredist_x64.exe is required for CLExpr-x64
[edit] 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
[edit] Examples
[edit] 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
[edit] External Links
- GitHub - Source code repository.
Back to External Filters ←