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