AWarpSharp2/aWarpSharp2: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
m →Examples: wording |
small documentation update |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{FilterCat4|External_filters|Plugin_functions|Adjustment_filters|Sharpeners}} | {{FilterCat4|External_filters|Plugin_functions|Adjustment_filters|Sharpeners}} | ||
<tt>aWarpSharp2</tt> performs edge detection, blurring, and warping, all in one. | |||
< | |||
<br> | <br> | ||
<br> | <br> | ||
| Line 14: | Line 10: | ||
<br> | <br> | ||
::{{Par2|thresh|int|128}} | ::{{Par2|thresh|int|128}} | ||
:::Saturation limit for edge detection. Reduce for less aggressive sharpening. | :::Saturation limit for edge detection; no pixel in the edge mask will have a value greater than {{Template:FuncDef3|thresh}}. Reduce for less aggressive sharpening. | ||
:::Range: 0 to 255 | :::Range: 0 to 255 | ||
<br> | <br> | ||
::{{Par2|blur|int|2}} | ::{{Par2|blur|int|2}} | ||
:::Number of blur passes over edge mask. Less passes increase sharpening effect, but can produce major artifacts with high {{Template: | :::Number of blur passes over edge mask. Less passes increase sharpening effect, but can produce major artifacts with high {{Template:FuncDef3|depth}} and {{Template:FuncDef3|thresh}} values.<br> | ||
:::You can use values higher than 100, but probably won't see any difference. Chroma is processed with (blur+1)/2 passes.<br> | :::You can use values higher than 100, but probably won't see any difference. Chroma is processed with <code>({{Template:FuncDef3|blur}}+1)/2</code> passes.<br> | ||
:::Range: 0 to 100 | :::Range: 0 to 100 | ||
:::<span style="color:red">'''Note:'''</span> Unless {{Template: | :::<span style="color:red">'''Note:'''</span> Unless {{Template:FuncDef3|blur}} is specifically set, it will default to 3 if {{Template:FuncDef3|type}}=1. | ||
<br> | <br> | ||
::{{Par2|type|int|0}} | ::{{Par2|type|int|0}} | ||
:::Type of blur: | :::Type of blur: | ||
:::* 0 : radius 6 blur (some kind of 13x13 average). | |||
:::* 1 : radius 2 blur (some kind of 5x5 average), requires around 8x more passes than {{Template:FuncDef3|type}}=0 for the same effect (will be 2.5x slower), but will produce better quality. | |||
<br> | <br> | ||
::{{Par2|depth|int|16}} | ::{{Par2|depth|int|16}} | ||
:::Strength of the final warping. Negative values result in warping in opposite direction. | :::Strength of the final warping. Negative values result in warping in opposite direction, i.e. will blur the image instead of sharpening. | ||
:::Range: -128 to 127 | :::Range: -128 to 127 | ||
:::<span style="color:red">'''Note:'''</span> Chroma channels are internally processed with <code>{{Template:FuncDef|depth}}/2</code>. | |||
<br> | <br> | ||
::{{Par2|chroma|int|4}} | ::{{Par2|chroma|int|4}} | ||
:::Processing mode for chroma | :::Processing mode for the chroma channels (U and V): | ||
:::* 0 : fill with 0x80(128), output is grayscale. | |||
:::* 1 : don't care - chroma will be trashed. | |||
:::* 2 : copy chroma channels from the input clip. | |||
:::* 3 : process chroma; create an edge mask from each chroma channel and use those to warp each chroma channel individually. | |||
:::* 4 : process chroma; use the edge mask from the luma to warp the chroma channels. | |||
:::* 5 : same as 3, but don't process luma. | |||
:::* 6 : same as 4, but don't process luma. | |||
:::Luma plane (Y) is always processed, except for mode 5 and 6 which simply copy the luma channel from the input clip. | |||
<br> | <br> | ||
== Examples == | == Examples == | ||
aWarpSharp2 with default values: | aWarpSharp2 with default values: | ||
[[AviSource]]("Blah.avi") | [[AviSource]]("Blah.avi") | ||
aWarpSharp2(thresh=128, blur=2, type=0, depth=16, chroma=4) | aWarpSharp2(thresh=128, blur=2, type=0, depth=16, chroma=4)<br> | ||
#The same as aWarp(aSobel().aBlur(blur=2, type=0), depth=16) but a bit faster. | |||
<br> | <br> | ||
Guide chroma channels with luma edge mask but only process chroma (luma channel will be copied from the input clip). | Guide chroma channels with luma edge mask but only process chroma (luma channel will be copied from the input clip). | ||
Latest revision as of 00:01, 10 November 2015
aWarpSharp2 performs edge detection, blurring, and warping, all in one.
- aWarpSharp2 (clip, int "thresh", int "blur", int "type", int "depth", int "chroma")
- clip =
- Input clip.
- clip =
- int thresh = 128
- Saturation limit for edge detection; no pixel in the edge mask will have a value greater than thresh. Reduce for less aggressive sharpening.
- Range: 0 to 255
- int thresh = 128
- int blur = 2
- Number of blur passes over edge mask. Less passes increase sharpening effect, but can produce major artifacts with high depth and thresh values.
- You can use values higher than 100, but probably won't see any difference. Chroma is processed with
(blur+1)/2passes. - Range: 0 to 100
- Number of blur passes over edge mask. Less passes increase sharpening effect, but can produce major artifacts with high depth and thresh values.
- int blur = 2
- Note: Unless blur is specifically set, it will default to 3 if type=1.
- int type = 0
- Type of blur:
- 0 : radius 6 blur (some kind of 13x13 average).
- 1 : radius 2 blur (some kind of 5x5 average), requires around 8x more passes than type=0 for the same effect (will be 2.5x slower), but will produce better quality.
- Type of blur:
- int type = 0
- int depth = 16
- Strength of the final warping. Negative values result in warping in opposite direction, i.e. will blur the image instead of sharpening.
- Range: -128 to 127
- Note: Chroma channels are internally processed with
depth/2.
- int depth = 16
- int chroma = 4
- Processing mode for the chroma channels (U and V):
- 0 : fill with 0x80(128), output is grayscale.
- 1 : don't care - chroma will be trashed.
- 2 : copy chroma channels from the input clip.
- 3 : process chroma; create an edge mask from each chroma channel and use those to warp each chroma channel individually.
- 4 : process chroma; use the edge mask from the luma to warp the chroma channels.
- 5 : same as 3, but don't process luma.
- 6 : same as 4, but don't process luma.
- Luma plane (Y) is always processed, except for mode 5 and 6 which simply copy the luma channel from the input clip.
- Processing mode for the chroma channels (U and V):
- int chroma = 4
Examples
aWarpSharp2 with default values:
AviSource("Blah.avi") aWarpSharp2(thresh=128, blur=2, type=0, depth=16, chroma=4)
#The same as aWarp(aSobel().aBlur(blur=2, type=0), depth=16) but a bit faster.
Guide chroma channels with luma edge mask but only process chroma (luma channel will be copied from the input clip).
aWarpSharp2(thresh=128, blur=2, type=0, depth=16, chroma=6)
#Identical to MergeChroma(last, aWarpSharp2()) but faster and more memory efficient.
Process chroma channels with their own independent edge mask and copy luma channel from the input clip.
aWarpSharp2(thresh=128, blur=2, type=0, depth=16, chroma=5)
#Identical to MergeChroma(last, aWarpSharp2(chroma=3)) but faster and more memory efficient.
Only process the luma channel and copy chroma channels from the input clip.
aWarpSharp2(thresh=128, blur=2, type=0, depth=16, chroma=2)
#Identical to MergeLuma(last, aWarpSharp2()) but faster and more memory efficient.
Back to aWarpSharp2 ←