PlanarTools: Difference between revisions

From Avisynth wiki
Jump to navigationJump to search
Raffriff42 (talk | contribs)
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 21:02, 22 April 2020

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

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


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.


  • GitHub - Source code repository.




Back to External Filters