Plug-in for Avisynth

GPU 0.01 (alpha version)

GPU_BilinearResize?

GPU_LanczosResize?

GPU_Convolution3d

GPU_TemporalSmoother?

GPU_ColorYUY?2

It is a plug-in that uses the rendering function of the graphic board.

Use conditions

DirectX? 9.0

Pixel Shader 2.0 or more(accuracy of 24bit or more)

- If it is Radeon, it is 9500np or more.

- GeForceFX? : uselessness in 16bit accuracy according to the driver.

Test environment

AthlonXP? 1700+ / Radeon9500np(CATALYST 3.4) / WindowsXP? SP1 / Avisynth2.08

Installation

Please copy GPU.dll and extension hlsl files onto the plugin directory.

Explanation

It sets it with the avs file as follows.

LoadPlugin("~\GPU.dll")

Reading of source etc.

Other filters etc.

GPU_Start()

GPU_???(???)

GPU_???(???)

GPU_???(???)

GPU_End()

Other filters etc.

It is YUY2 exclusive use.

Please enclose the filter used with GPU_Start() and GPU_End().

Filters other than GPU_??? cannot be used during GPU_Start() and the GPU_End().

GPU_Start()

GPU_TemporalSmoother?(1,2)

GPU_Convolution3D("movieLQ")

LanczosResize?(640,480) <--- ?

GPU_End()

GPU_Start() and the GPU_End() block can be used only once.

GPU_Start()

GPU_TemporalSmoother?(1,2)

GPU_End()

LanczosResize?(640,480)

GPU_Start() <---


?

GPU_TemporalSmoother?(1,2)

GPU_End()

Format

--------------

GPU_BilinearResize?(width, height)

It is a resize that uses the interpolation function of the renderer as it is.

--------------

GPU_LanczosResize?(width, height)

It is Lanczos resize. There is a limitation at the reduction rate.

--------------

GPU_Convolution3d (matrix=0, ythresh=3, cthresh=4, t_ythresh=3, t_cthresh=4, influence=3)

GPU_Convolution3d (preset="movieHQ") // Movie Hi Quality (good DVD source)

is an alias for Convolution3D (0, 3, 4, 3, 4, 2.8, 0)

GPU_Convolution3d (preset="movieLQ") // Movie Low Quality (noisy DVD source)

is an alias for Convolution3D (0, 6, 10, 6, 8, 2.8, 0)

GPU_Convolution3d (preset="animeHQ") // Anime Hi Quality (good DVD source)

is an alias for Convolution3D (0, 6, 12, 6, 8, 2.8, 0)

GPU_Convolution3d (preset="animeLQ") // Anime Low Quality (noisy DVD source)

is an alias for Convolution3D (1, 8, 16, 8, 8, 2.8, 0)

GPU_Convolution3d (preset="animeBQ") // Anime Bad Quality (???)

is an alias for Convolution3D (1, 12, 22, 8, 8, 2.8, 0)

GPU_Convolution3d (preset="vhsBQ") // VHS capture Bad Quality (???)

is an alias for Convolution3D (0, 32, 128, 16, 64, 10, 0)

The meaning of the parameter is the same. (It is 2.0x version. )

A right and left method of processing two edge pixels differs from the original by one upper and lower edge pixel.

Because it is four passing rendering, it is violent and is heavy.

--------------

GPU_TemporalSmoother?(strength, radius)

The meaning of the parameter is the same.

Radius : up to two.

The processing of the number of first and last frames is different from the original.

--------------

GPU_ColorYUY?2(

gain_y, off_y, gamma_y, cont_y,

gain_u, off_u, gamma_u, cont_u,

gain_v, off_v, gamma_v, cont_v,

levels

)

The meaning of the parameter is the same.

Interpolation and various displays are unsupported.

..speed.. variously

- Data transfer and rendering between system memory and video memory

There is an overhead of the setup etc.

Therefore, it is likely to slow rather when the replaced filter is light.

- It is a rate controlling (Are and Hencandekinai) that processing is heavy in GPU and CPU.

The processing waiting is caused and CPU use rate falls when the GPU processing is heavier.

(GPU: Graphics processing unit Graphics Processing Unit)

..others.. variously

- All GPU_??? filters are processed on the video memory. When becoming insufficient

Goodness seems to happen.

- It checks it only with Radeon. How what is GeForce??

At the end

The author of an original filter is following people.

It snarfes it without permission. I'm sorry.

Wahiroshi Lanczos3(AUF) Mogi

Mr. Convolution3d:Vlad59

Mr. TemporalSmoother?:Dividee

Mr. ColorYUY?2:Kiraru2002