CLExpr

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(redirect for convenient searching)
 
(CLExpr: add documentation)
Line 1: Line 1:
#REDIRECT [[High_bit-depth_Support_with_Avisynth#Processing_High_Bit-depth_Video_with_AviSynth]]
+
{{FilterCat5|External_filters|Plugins|Plugins_x64|Other_filters|multipurpose_Filters}}
{{FilterCat|External_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=}}
 +
 
 +
== 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]] &larr;'''

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_lut
  • cl_exprxy - analogue of mt_lutxy
  • cl_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.


string  yExpr = ""
string  uExpr = ""
string  vExpr = ""
Expression; full set of MaskTools2 LUT operators and functions is supported.


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



string  chroma = ""
Chroma processing: "process" | "copy" | "copy second" | "copy third"


bool  lsb = false
Stack16 input and output, set to true to enable.



Examples

TODO

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

Personal tools