FillBorders

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (add Deep_color_tools category)
(v1.1.0 update)
Line 1: Line 1:
 
{{FilterCat6|External_filters|Plugins|Plugins_x64|Adjustment_filters|Borders and Cropping|Deep_color_tools}}
 
{{FilterCat6|External_filters|Plugins|Plugins_x64|Adjustment_filters|Borders and Cropping|Deep_color_tools}}
 
{{Filter3
 
{{Filter3
|[http://github.com/dubhater dubhater] / [https://github.com/Asd-g asd-g]
+
|[http://github.com/dubhater dubhater] / {{Author/Asd-g}}
|v1.0.0
+
|v1.1.0
|3=[https://github.com/Asd-g/AviSynth-FillBorders/releases AviSynth-FillBorders-v1.0.0.7z]
+
|3=[https://github.com/Asd-g/AviSynth-FillBorders/releases FillBorders-1.1.0.7z]
 
|4=Borders and Cropping
 
|4=Borders and Cropping
 
|5=[http://www.wtfpl.net/ WTFPL]
 
|5=[http://www.wtfpl.net/ WTFPL]
Line 17: Line 17:
 
* [x64]: [[AviSynth+]]
 
* [x64]: [[AviSynth+]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]]
**AviSynth+: all [[planar]] YUV/RGB (with or without alpha) color formats are supported, 8-16bits
+
**AviSynth+: all [[planar]] formats (8/10/12/14/16/32-bit, Y, YUV(A), and RGB(A) with or without alpha) are supported.
 
<br>
 
<br>
 
* [https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads Microsoft Visual C++ 2019 Redistributable Package (x86 / x64)]
 
* [https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads Microsoft Visual C++ 2019 Redistributable Package (x86 / x64)]
Line 25: Line 25:
  
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
:{{Template:FuncDef|FillBorders (clip, int "left", int "top", int "right", int "bottom", int "mode")}}
+
:{{Template:FuncDef|FillBorders (clip, int "left", int "top", int "right", int "bottom", int "mode", int "y", int "u", int "v")}}
:{{Template:FuncDef|FillMargins (clip, int "left", int "top", int "right", int "bottom", int "mode")}}
+
:{{Template:FuncDef|FillMargins (clip, int "left", int "top", int "right", int "bottom", int "mode", int "y", int "u", int "v")}}
 
<br>
 
<br>
 
::{{Par2| |clip| }}
 
::{{Par2| |clip| }}
:::Input clip. It must have constant format and dimensions and it must be 8..16 bit.
+
:::A clip to process. All [[planar]] formats are supported.
 
+
<br>
 
::{{Par2|left|int|0}}
 
::{{Par2|left|int|0}}
 
::{{Par2|top|int|0}}
 
::{{Par2|top|int|0}}
Line 36: Line 36:
 
::{{Par2|bottom|int|0}}
 
::{{Par2|bottom|int|0}}
 
:::Number of pixels to fill on each side. These can be any non-negative numbers, within reason. If they are all 0, the input clip is simply passed through.
 
:::Number of pixels to fill on each side. These can be any non-negative numbers, within reason. If they are all 0, the input clip is simply passed through.
 
+
<br>
 
::{{Par2|mode|int|0}}
 
::{{Par2|mode|int|0}}
 
:::*0 : Fills the borders exactly like the AviSynth filter [[FillMargins]], version 1.0.2.0. This mode is similar to mode 1, except that each pixel at the top and bottom borders is filled with a weighted average of its three neighbours from the previous line.
 
:::*0 : Fills the borders exactly like the AviSynth filter [[FillMargins]], version 1.0.2.0. This mode is similar to mode 1, except that each pixel at the top and bottom borders is filled with a weighted average of its three neighbours from the previous line.
 
:::*1 : Fills the borders using the outermost line or column (aka "repeat").
 
:::*1 : Fills the borders using the outermost line or column (aka "repeat").
 
:::*2 : Fills the borders by mirroring.
 
:::*2 : Fills the borders by mirroring.
 +
<br>
 +
::{{Par2|y|int|3}}
 +
::{{Par2|u|int|3}}
 +
::{{Par2|v|int|3}}
 +
:::Planes to process.
 +
:::*1 : Return garbage.
 +
:::*2 : Copy plane.
 +
:::*3 : Process plane. Always process planes when the clip is RGB.
 
<br>
 
<br>
 
:'''Note:''' <code>FillMargins()</code> is an alias for <code>FillBorders(mode=0)</code>
 
:'''Note:''' <code>FillMargins()</code> is an alias for <code>FillBorders(mode=0)</code>
Line 47: Line 55:
 
== Examples ==
 
== Examples ==
 
  [[AviSource]]("Blah.avi")
 
  [[AviSource]]("Blah.avi")
  FillBorders(left=5,top=7, right=2, bottom=0, mode=0)<br>
+
  FillBorders(left=5,top=7, right=2, bottom=0, mode=0, y=3, u=3, v=3)<br>
 
  #identical to: FillMargins(left=5,top=7, right=2, bottom=0)
 
  #identical to: FillMargins(left=5,top=7, right=2, bottom=0)
 
<br>
 
<br>
 
== Changelog ==
 
== Changelog ==
 
  Version      Date            Changes<br>
 
  Version      Date            Changes<br>
 +
v1.1.0        2020/08/11      - Added support for float.
 +
                              - Added y, u, v, parameters.
 +
                              - AviSynth+: self-registers as [[MT_NICE_FILTER]].<br>
 
  v1.0.0        2020/05/17      - Move project to GitHub
 
  v1.0.0        2020/05/17      - Move project to GitHub
                               - Add FillMargins function
+
                               - Add FillMargins function<br>
 
  20190410      2019/04/10      - First release
 
  20190410      2019/04/10      - First release
 
                               - Port from VapourSynth plugin by Dubhater
 
                               - Port from VapourSynth plugin by Dubhater

Revision as of 19:14, 11 August 2020

Abstract
Author dubhater / Asd-g
Version v1.1.0
Download FillBorders-1.1.0.7z
Category Borders and Cropping
License WTFPL
Discussion

Contents

Description

This is a simple filter that fills the borders of a clip, without changing the clip's dimensions. It has 3 border filling modes.

Requirements


*** vcredist_x86.exe required for FillBorders-x86
*** vcredist_x64.exe required for FillBorders-x64


Syntax and Parameters

FillBorders (clip, int "left", int "top", int "right", int "bottom", int "mode", int "y", int "u", int "v")
FillMargins (clip, int "left", int "top", int "right", int "bottom", int "mode", int "y", int "u", int "v")


clip   =
A clip to process. All planar formats are supported.


int  left = 0
int  top = 0
int  right = 0
int  bottom = 0
Number of pixels to fill on each side. These can be any non-negative numbers, within reason. If they are all 0, the input clip is simply passed through.


int  mode = 0
  • 0 : Fills the borders exactly like the AviSynth filter FillMargins, version 1.0.2.0. This mode is similar to mode 1, except that each pixel at the top and bottom borders is filled with a weighted average of its three neighbours from the previous line.
  • 1 : Fills the borders using the outermost line or column (aka "repeat").
  • 2 : Fills the borders by mirroring.


int  y = 3
int  u = 3
int  v = 3
Planes to process.
  • 1 : Return garbage.
  • 2 : Copy plane.
  • 3 : Process plane. Always process planes when the clip is RGB.


Note: FillMargins() is an alias for FillBorders(mode=0)


Examples

AviSource("Blah.avi")
FillBorders(left=5,top=7, right=2, bottom=0, mode=0, y=3, u=3, v=3)
#identical to: FillMargins(left=5,top=7, right=2, bottom=0)


Changelog

Version       Date            Changes
v1.1.0 2020/08/11 - Added support for float. - Added y, u, v, parameters. - AviSynth+: self-registers as MT_NICE_FILTER.
v1.0.0 2020/05/17 - Move project to GitHub - Add FillMargins function
20190410 2019/04/10 - First release - Port from VapourSynth plugin by Dubhater - Author: Asd


External Links

  • GitHub - Source code repository
  • GitHub - Source code repository (VapourSynth version)




Back to External Filters

Personal tools