AWarpSharp2

From Avisynth wiki
Revision as of 20:09, 15 October 2013 by Reel.Deal (Talk | contribs)

Jump to: navigation, search
Abstract
Author SEt
Version 2012.03.28
Download aWarpSharp2
Category Sharpeners
Requirements
  • YV12
License
Discussion

Contents

Introduction

This filter implements the same WarpSharpening algorithm as aWarpSharp by Marc FD, but with several bugfixes and optimizations.
In addition to the complete aWarpSharp2 algorithm, parts of the algorithm are also available as aSobel, aBlur, aWarp. This allows for more advanced processing.

Requirements

  • YV12
  • MMXExt capable CPU, blur will be more precise around frame borders if SSSE3 is available.


Parameters

thresh int = 128

range: 0 to 255
Saturation limit for edge detection. Reduce for less aggressive sharpening.


blur int = 2 for type 0, 3 for type 1

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.
You can use values higher than 100, but probably won't see any difference.
Chroma is processed with (blur+1)/2 passes.


type int = 0 for aWarpSharp2, 1 for aBlur

Type of blur:
  • 0 : radius 6 blur.
  • 1 : radius 2 blur, requires around 8x more passes than type 0 for the same effect (will be just 2.5x slower), but produce better quality.


depth int = 16 for aWarpSharp2, 3 for aWarp and aWarp4

range: -128 to 127
Strength of the final warping. Negative values result in warping in oppositedirection.


chroma int =

Processing mode for chroma planes (U and V):
  • 0 : fill with zeroes
  • 1 : don't care, default for aSobel and aBlur
  • 2 : copy
  • 3 : process
  • 4 : guide by luma - default for aWarpSharp, aWarp, and aWarp4 only
  • 5 : same as 3, but don't process luma
  • 6 : same as 4, but don't process luma

Filters

Filter Description Color format
aBlur

A blurring filter.

YV12
aSobel

En edge dectecion filter.

YV12
aWarp

A warp-sharpening filter.

YV12
aWarp4

Unlike aWarp, this uses a 4x larger source clip than the edgemask. This is useful for improving subpixel interpolation quality of the final step.

YV12
aWarpSharp

Special fuction that keeps compatibility with ancient scripts that use the original aWarpSharp.

YV12
aWarpSharp2

The same as aWarp(aSobel().aBlur()) but a bit faster.

YV12

Examples

AviSource("Blah.avi")
aWarpSharp2()

Changelog

Changes 2012-03-28:
 - Added new final part aWarp4 that takes 4x upsampled source for better final subpixel interpolation.
 - aWarpSharp2 can now be also called by aWarpSharp() with internal parameters conversion for compatibility with ancient scripts. Direct aWarpSharp2 call is encouraged though.
 - New chroma values: 5 and 6: the same as 3 and 4, but luma isn't processed and just copied. Useful for filtering sources with certain chroma problems.
 - Changed some defaults.
Changes 2009-06-19: - renamed main filter from aWarpSharp to aWarpSharp2 for less confusion with original aWarpSharp - fixed wrong offsets in Warp - added new blur type - produce better quality, but around 2.5x slower - blur will be more precise around frame borders if SSSE3 is available - some optimizations, mostly noticeable on Core2 - removed support for undocumented parameters of original aWarpSharp
Changes 2009-05-24: - Initial release

Links

- Doom9 Forum - Discussion about aWarpSharp2.

Personal tools