CLExpr: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
Raffriff42 (talk | contribs) redirect for convenient searching |
mNo edit summary |
||
| (4 intermediate revisions by the same 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 05: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 |
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 CLExpr-x86
- *** vcredist_x64.exe is required for CLExpr-x64
- 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 ←