PlanarTools

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(redirect for convenient searching)
 
(PlanarTools: add documentation)
Line 1: Line 1:
#REDIRECT [[External_filters#Colourspace_Conversion]]
+
{{FilterCat5|External_filters|Plugins|Plugins_x64|Adjustment_filters|Colourspace_Conversion}}
{{FilterCat|External_filters|Adjustment_filters|Colourspace_Conversion}}
+
{{Filter3
 +
|{{Author/Chikuzen}}
 +
|v0.3.0
 +
|[https://github.com/chikuzen/PlanarTools/releases PlanarTools-0.3.0.zip]
 +
|Colourspace Conversion
 +
|[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 +
|6=}}
 +
== Description ==
 +
This plugin is a set of filters that offers converting packed(interleaved) formats to planar formats and vice versa.
 +
 
 +
AviSynth has these already as internal filters, but those are a little difficult to use, and optimization is insufficient.
 +
<br>
 +
<br>
 +
== Requirements ==
 +
* [x86]: [[AviSynth+]] or [http://sourceforge.net/projects/avisynth2/ AviSynth 2.6]
 +
* [x64]: [[AviSynth+]]
 +
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]
 +
* SSE2 Capable CPU
 +
<br>
 +
* [https://www.microsoft.com/en-us/download/details.aspx?id=53587 Microsoft Visual C++ 2015 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]] ==
 +
===PackedToPlanar===
 +
Convert packed format to planar format without changing the pixel values.
 +
 
 +
:{{Template:FuncDef|PackedToPlanar (clip clip)}}
 +
 
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Input clip must be RGB24, RGB32, or YUY2. Output format is YV24(RGB24, RGB32) or YV16(YUY2).
 +
<br>
 +
===ExtractPlane===
 +
Extract a color channel from packed format, and output as a Y8 clip.
 +
<br>
 +
 
 +
:{{Template:FuncDef|PackedToPlanar (clip clip, int "plane")}}
 +
 
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Input clip must be RGB24, RGB32, or YUY2.
 +
<br>
 +
::{{Par2|plane|int| }}
 +
:::Color channel to extract. Default is 0 for (RGB24/YUY2) or 3 for (RGB32).
 +
:::*0 : Blue(RGB24/RGB32) or Y(YUY2)
 +
:::*1 : Green(RGB24/RGB32) or U(YUY2) 
 +
:::*2 : Red(RGB24/RGB32) or V(YUY2). 3: Alpha(RGB32)
 +
:::This is same as ShowGreen/ShowBlue/ShowRed/ShowAlpha(on RGB) or ConvertToY8/UToY8/VToY8(on YUY2), but faster.
 +
<br>
 +
===PlanarToRGB32===
 +
Make a RGB32 clip from multiple planar format clips without changing the pixel values.
 +
 
 +
:{{Template:FuncDef|PlanarToRGB32(clip base, clip alpha)}}
 +
:{{Template:FuncDef|PlanarToRGB32(clip green, clip blue, clip red, clip alpha)}}
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Base clip: YV24 only. Each planes are mapped as follows: <code>Y : Green | U : Blue | V : Red</code>
 +
<br>
 +
::{{Par2| |clip| }}
 +
::{{Par2| |clip| }}
 +
::{{Par2| |clip| }}
 +
:::Green, blue, red - planar formats clips. Only Y-planes are used.
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Alpha - planar format. Only Y-plane is used. must be the same resolution of others.
 +
<br>
 +
===RGBToRGB===
 +
Convert RGB24 clip to RGB32, and vice versa.
 +
 
 +
:{{Template:FuncDef|RGBToRGB (clip clip)}}
 +
 
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Input clip must be RGB24 or RGB32.
 +
<br>
 +
 
 +
== Examples ==
 +
[[TODO]]
 +
<br>
 +
<br>
 +
==Notes==
 +
* All filters are SSE2 optimized. Thus these will cause crash on No SSE2 machine.
 +
* RGBToRGB requires SSSE3. If SSSE3 is not available on your machine, it invoke internal ConvertToRGB24/ConvertToRGB32 filter instead.
 +
<br>
 +
==External Links ==
 +
*[https://github.com/chikuzen/PlanarTools GitHub] - Source code repository.
 +
<br>
 +
<br>
 +
-----------------------------------------------
 +
'''Back to [[External_filters#Effects|External Filters]] &larr;'''

Revision as of 20:02, 22 April 2020

Abstract
Author Chikuzen
Version v0.3.0
Download PlanarTools-0.3.0.zip
Category Colourspace Conversion
License GPLv2
Discussion

Contents

Description

This plugin is a set of filters that offers converting packed(interleaved) formats to planar formats and vice versa.

AviSynth has these already as internal filters, but those are a little difficult to use, and optimization is insufficient.

Requirements


*** vcredist_x86.exe is required for modPlus-x86
*** vcredist_x64.exe is required for modPlus-x64


Syntax and Parameters

PackedToPlanar

Convert packed format to planar format without changing the pixel values.

PackedToPlanar (clip clip)


clip   =
Input clip must be RGB24, RGB32, or YUY2. Output format is YV24(RGB24, RGB32) or YV16(YUY2).


ExtractPlane

Extract a color channel from packed format, and output as a Y8 clip.

PackedToPlanar (clip clip, int "plane")


clip   =
Input clip must be RGB24, RGB32, or YUY2.


int  plane =
Color channel to extract. Default is 0 for (RGB24/YUY2) or 3 for (RGB32).
  • 0 : Blue(RGB24/RGB32) or Y(YUY2)
  • 1 : Green(RGB24/RGB32) or U(YUY2)
  • 2 : Red(RGB24/RGB32) or V(YUY2). 3: Alpha(RGB32)
This is same as ShowGreen/ShowBlue/ShowRed/ShowAlpha(on RGB) or ConvertToY8/UToY8/VToY8(on YUY2), but faster.


PlanarToRGB32

Make a RGB32 clip from multiple planar format clips without changing the pixel values.

PlanarToRGB32(clip base, clip alpha)
PlanarToRGB32(clip green, clip blue, clip red, clip alpha)


clip   =
Base clip: YV24 only. Each planes are mapped as follows: Y : Green | U : Blue | V : Red


clip   =
clip   =
clip   =
Green, blue, red - planar formats clips. Only Y-planes are used.


clip   =
Alpha - planar format. Only Y-plane is used. must be the same resolution of others.


RGBToRGB

Convert RGB24 clip to RGB32, and vice versa.

RGBToRGB (clip clip)


clip   =
Input clip must be RGB24 or RGB32.


Examples

TODO

Notes

  • All filters are SSE2 optimized. Thus these will cause crash on No SSE2 machine.
  • RGBToRGB requires SSSE3. If SSSE3 is not available on your machine, it invoke internal ConvertToRGB24/ConvertToRGB32 filter instead.


External Links

  • GitHub - Source code repository.




Back to External Filters

Personal tools