From Avisynth wiki
Jump to: navigation, search
Author wonkey_monkey, Efenstor
Version v1.1

Multithreaded version (x86/x64):

Category Transformation
License GPLv2
Discussion Doom9 Thread (original), Doom9 Thread (update)


[edit] Description

This filter can be used to correct (or induce) barrel and pincushion distortion.

[edit] Requirements

[edit] Syntax and Parameters

defish (clip, float "fov", float "scale", float "aspect", string "direction", string "scaling", float "a", float "b", float "c", bool "pin", int "threads")
	Input clip. Must be RGB32 and have even width/height.

	useful range: -180.0 - 180.0
	default: 0
	The horizontal field of view, in degrees. Positive values will
	correct barrel distortion (induce pincushioning). Negative values
	should correct pincushion distortion (induce barreling), but note
	that this may currently be implemented incorrectly.

        range: 0.0 - infinity
	default: 1.0
	An adjustment parameter which scales the image after correction.

	range: 0.0 - infinity
	default: 1.0
	The pixel aspect ratio of the input clip.

	values: "x", "y"
	This parameter restricts the correction to either horizontal or
	vertical only.

	values: "fitx", "fity", "fitxy"
	This parameter automatically scales the image to fill the image
	horizontally, vertically, or both. The "scale" parameter above is
	still effective.

	The default behaviour when using fov is to scale the image such
	that the central area stays at the original scale.

	This parameter is not effective when using the polynomial values
        sensible range: 0.0 - 1.0
        Parameters for correcting distortion polynomially. These are only
        effective when fov=0 (which is the default value).

        a+b+c must be less than or equal to 1.0 when pin=true.

	Set this to true to correct pincushion distortion, and false to
	correct	barrel distortion - this may seem the wrong way around but
	it was chosen to match the behaviour of the similar parameter of
	V.C. Mohan's DeBarrel filter.

        range: 0 - infinity
        0 (default) sets the number of processing threads to the number of
        autodetected CPU's/cores.
        NOTE: this parameter is only for the MT version.

[edit] Examples

defish with default settings:

defish(fov=0.0, scale=1.0, aspect=1.0, direction="xy", scaling="", a=0.0, b=0.0, c=0.0, pin=false, threads=0)

[edit] Changelog

Version      Date            Changes
v1.1mt 2018/08/25 - modified by Groucho2004 - 32 bit and 64 bit versions of defish using Efenstor's multi-threaded code. - slightly modified code using AVS+ headers and 2.6 interface.
v1.1mt 2011/04/28 - multithreaded version by Efenstor - includes additional "threads" parameter
v1.1 2010/02/21 - latest release

[edit] Archived Downloads

Version Download Mirror
v1.1mt (x86/x64) defish_mt_x86_x64.7z

[edit] External Links

  • GitHub - defish (x86/x64) source code repository.

Back to External Filters

Personal tools