F2QBlur


Author V. C. Mohan
11 May 2021

F2QBlur function operates in frequency domain and requires for 32 bit avisynth+ FFTw3 32 bit dll or for 64 bit avisynth+ FFTw3 64 bit dll. As these dll s are not thread safe this function operates in MT_SERIALIZED state.

FQBlur function blurs image in circular(as in out of focus) or linear (as due to motion) fashion or as per user specified PSF (given in a text file).

In case of motion blur the line is assumed to be symmetric about origin, the end coordinates of blur line x and y specified will be extended to -x, -y to get full line. In case of out of focus blur the x coordinate is the radius of blur.

All 3 colors of RGB formats are processed, in case of YUY2 only Luma (Y) is blurred. In case of YUV formats Y and for YUV444 if opted U and V will also be blurred.

Alternatively user can input his own psf in text format conforming strictly to following :
1.Must have number 1 in first line.
2. Second line first integer is number of values present in each row. The second value on this line is number of rows. A maximum of 16 X 16 rows and columns can only be specified,
Third line onwards PSF values in rows and columns. The values are separated by space. Entries are in floating point.



Details of parameters
Description Name Type Limits Default
Input clip clip must have the fields separated none
Whether blur is linear as in motion blur or out of focus type or PSF given in a text file psf string "line" for linear, "focus" for out of focus or "file" for user special "line"
blur line right end x coordinate or radius of focus blur. Line assumed symmetric about origin x integer 2 to 1/8 frame width 6
blur line right end y coordinate. Line assumed symmetric about origin y integer - 1/8th to 1/8th frame height 2
value of spike to be added spike float not implemented yet 2
Full path and name of text file in which PSF is given. txt string a valid file name must be specified for psf = "file" option none

#Usage examples:-
F2qb = F2QBlur(psf = "file",  txt = "C:\avi_plugins\FQPlus\blurr.txt")


fqb1 = F2QBlur( psf = "line", x=4)
fqb2 = F2QBlur( psf = "focus", x=8)
fqb3 = F2QBlur( psf = "line", x=8,y = 2)
fqb4 = F2QBlur(psf = "line", x=12,y = -4)
fqb5 = F2QBlur(psf = "file", txt = "----")
Example text file:
1
6 6
0 0 0 0 0.15 1.0
0 0 0 0.15 1.0 0.15
0 0 0.15 1.0 0.15 0
0 0.15 1.0 0.15 0 0
0.15 1.0 0.15 0 0 0
1.0 0.15 0 0 0 0
To my index page down load plugin To Avisynth