Letterbox
Raffriff42 (Talk | contribs) m (one more touch-up) |
(add link to avs+ documentation) |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<div style="max-width:54em" > | <div style="max-width:54em" > | ||
+ | <div {{BlueBox2|40|0|3px solid purple}} > | ||
+ | {{AvsPlusFullname}}<br> | ||
+ | Up-to-date documentation: [https://avisynthplus.readthedocs.io/en/latest/avisynthdoc/corefilters/letterbox.html https://avisynthplus.readthedocs.io] | ||
+ | </div> | ||
+ | |||
+ | |||
Fills the top and bottom ''rows'' of each frame, and optionally the left and right ''columns'', with black or color. This has several common uses: | Fills the top and bottom ''rows'' of each frame, and optionally the left and right ''columns'', with black or color. This has several common uses: | ||
− | |||
* Black out video noise from the existing black bands in an image that's already letterboxed | * Black out video noise from the existing black bands in an image that's already letterboxed | ||
* Black out the video noise at the bottom of the frame in [[Wikipedia:VHS|VHS]] tape sources. | * Black out the video noise at the bottom of the frame in [[Wikipedia:VHS|VHS]] tape sources. | ||
* Black out [[Wikipedia:Overscan#Overscan_amounts|overscan]] areas in [[Wikipedia:Video_CD|VCD]] or [[Wikipedia:Super_Video_CD|SVCD]] sources. | * Black out [[Wikipedia:Overscan#Overscan_amounts|overscan]] areas in [[Wikipedia:Video_CD|VCD]] or [[Wikipedia:Super_Video_CD|SVCD]] sources. | ||
* Create a quick rectangular [[Mask|mask]] for other filters – a so-called "[[Wikipedia:Matte_(filmmaking)#Garbage_matte|garbage matte]]" | * Create a quick rectangular [[Mask|mask]] for other filters – a so-called "[[Wikipedia:Matte_(filmmaking)#Garbage_matte|garbage matte]]" | ||
+ | See also: [[AddBorders]], which increases frame size. '''Letterbox''' does not change frame size. | ||
The functionality of '''Letterbox''' can be duplicated with a combination of [[Crop]] and [[AddBorders]], but '''Letterbox''' is faster and easier. | The functionality of '''Letterbox''' can be duplicated with a combination of [[Crop]] and [[AddBorders]], but '''Letterbox''' is faster and easier. | ||
Generally, it's better to '''Crop''' video noise off than to black it out; many older lossy compression algorithms don't deal well with solid-color borders, unless the border happens to fall on a [[Wikipedia:Macroblock|macroblock]] boundary (16 pixels for MPEG). However, in some cases, particularly for certain hardware players, it's better to use '''Letterbox''' because it lets you keep a standard frame size. | Generally, it's better to '''Crop''' video noise off than to black it out; many older lossy compression algorithms don't deal well with solid-color borders, unless the border happens to fall on a [[Wikipedia:Macroblock|macroblock]] boundary (16 pixels for MPEG). However, in some cases, particularly for certain hardware players, it's better to use '''Letterbox''' because it lets you keep a standard frame size. | ||
+ | |||
+ | {{AvsPluscon}} also supports [[RGB64]], [[PlanarRGBA]] and [[YUVA]]. | ||
</div> | </div> | ||
Line 15: | Line 23: | ||
== Syntax and Parameters == | == Syntax and Parameters == | ||
{{FuncDef | {{FuncDef | ||
− | |Letterbox(clip ''clip'', int ''top'', int ''bottom'' [, int ''x1'' , int ''x2'' , int ''color'' ] ) | + | |Letterbox(clip ''clip'', int ''top'', int ''bottom'' [, int ''x1'' , int ''x2'' , int ''color'' ] [, int ''color_yuv'' {{AvsPluscon}}]) |
}} | }} | ||
:{{Par2|top, bottom|int|(required)}} | :{{Par2|top, bottom|int|(required)}} | ||
::Number of {{FuncArg|top}} and {{FuncArg|bottom}} rows to blank out. | ::Number of {{FuncArg|top}} and {{FuncArg|bottom}} rows to blank out. | ||
+ | ::*For [[YV12]] sources, {{FuncArg|top}} and {{FuncArg|bottom}} must be [[Modulo|mod2]] (divisible by 2). | ||
:{{Par2|x1, x2|int|0}} | :{{Par2|x1, x2|int|0}} | ||
::Number of ''left'' ({{FuncArg|x1}}) and ''right'' ({{FuncArg|x2}}) columns to blank out. | ::Number of ''left'' ({{FuncArg|x1}}) and ''right'' ({{FuncArg|x2}}) columns to blank out. | ||
+ | ::*For [[YUY2]], [[YV16]] and [[YV12]] sources, {{FuncArg|left}} and {{FuncArg|right}} must be [[Modulo|mod2]] (divisible by 2). | ||
+ | ::*For [[YV411]] sources, {{FuncArg|left}} and {{FuncArg|right}} must be [[Modulo|mod4]] (divisible by 4). | ||
:{{Par2|color|int|(black)}} | :{{Par2|color|int|(black)}} | ||
::Fill color; specified as an RGB value. See [[Colors|this page]] for more information on specifying colors. | ::Fill color; specified as an RGB value. See [[Colors|this page]] for more information on specifying colors. | ||
− | ::*For YUV clips, colors are converted from full-range (0 | + | ::*For YUV clips, colors are converted from full-range (0{{D}}-255{{D}}) to TV-range (16{{D}}-235{{D}}). |
+ | :{{Par2|color_yuv|int|}} {{AvsPluscon}} | ||
+ | ::Specifies the color of the border using YUV values. It requires setting pixel_type to one of the YUV formats; otherwise it doesn't do anything. | ||
+ | ::Similar to {{FuncArg|color_yuv}} in BlankClip | ||
== Changes == | == Changes == | ||
{| border="1" | {| border="1" | ||
+ | |- | ||
+ | | v3.4.1 AVS+ | ||
+ | | Added color_yuv option. | ||
|- | |- | ||
| v2.07 | | v2.07 |
Latest revision as of 06:24, 18 September 2022
AviSynth+
Up-to-date documentation: https://avisynthplus.readthedocs.io
Fills the top and bottom rows of each frame, and optionally the left and right columns, with black or color. This has several common uses:
- Black out video noise from the existing black bands in an image that's already letterboxed
- Black out the video noise at the bottom of the frame in VHS tape sources.
- Black out overscan areas in VCD or SVCD sources.
- Create a quick rectangular mask for other filters – a so-called "garbage matte"
See also: AddBorders, which increases frame size. Letterbox does not change frame size.
The functionality of Letterbox can be duplicated with a combination of Crop and AddBorders, but Letterbox is faster and easier.
Generally, it's better to Crop video noise off than to black it out; many older lossy compression algorithms don't deal well with solid-color borders, unless the border happens to fall on a macroblock boundary (16 pixels for MPEG). However, in some cases, particularly for certain hardware players, it's better to use Letterbox because it lets you keep a standard frame size.
AVS+ also supports RGB64, PlanarRGBA and YUVA.
[edit] Syntax and Parameters
Letterbox(clip clip, int top, int bottom [, int x1 , int x2 , int color ] [, int color_yuv AVS+])
- int top, bottom = (required)
- int x1, x2 = 0
- int color = (black)
- int color_yuv =
AVS+- Specifies the color of the border using YUV values. It requires setting pixel_type to one of the YUV formats; otherwise it doesn't do anything.
- Similar to color_yuv in BlankClip
[edit] Changes
v3.4.1 AVS+ | Added color_yuv option. |
v2.07 | Added color option. |
v2.06 | Added optional left and right parameters (x1 and x2). |