Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
Thread Tools | Search this Thread | Display Modes |
5th December 2008, 18:11 | #61 | Link |
also known as GrassHoppeR
Join Date: Mar 2006
Location: Poland
Posts: 30
|
i fixed some problems, made a few optimalizations and improvements so it should work now (see code below).
please test it and give me feedback and/or any ideas for speed increase. @Fizick, thanks. i used aproximation method and it's faster but it decreases quality (see "trash" folder for that version of plugin). Code:
for (i=0; i < src_height; i++) { for (w=0; w<src_width; w+=4) { v = *(srcp + w + 3); a = (v & 15); b = (v & 240)>>2; b1 = max(w-b,0); b2 = min(w+b+4,src_width); lb=lg=lr = 0; for (j=b1; j<b2; j+=4){ lb+=*(srcp + j); lg+=*(srcp + j+1); lr+=*(srcp + j+2); } d=(b2-b1)*4+((b1!=0)?a:0)+((b2!=src_width)?a:0); //(16 + v+v); *(dstp+w )=(lb*16+((a!=0)?a*(((b1!=0)?*(srcp+b1-4):0)+((b2!=src_width)?*(srcp+b2 ):0)):0)/d); *(dstp+w+1)=(lg*16+((a!=0)?a*(((b1!=0)?*(srcp+b1-3):0)+((b2!=src_width)?*(srcp+b2+1):0)):0)/d); *(dstp+w+2)=(lr*16+((a!=0)?a*(((b1!=0)?*(srcp+b1-2):0)+((b2!=src_width)?*(srcp+b2+2):0)):0)/d); *(dstp + w+3) = v; } http://members.lycos.co.uk/grasshopper/dof/dof_CHB1.jpg http://members.lycos.co.uk/grasshopper/dof/dof_CHB2.jpg |
5th December 2008, 19:07 | #62 | Link |
AviSynth plugger
Join Date: Nov 2003
Location: Russia
Posts: 2,183
|
it was only hint, you may increase 16 to 20 and make some rounding fix
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick I usually do not provide a technical support in private messages. |
23rd March 2009, 00:43 | #64 | Link |
RipBot264 author
Join Date: May 2006
Location: Poland
Posts: 7,806
|
Guys! How do you load this variable plugin???? I tried LoadPlugin and i always get Unable to load.... error.
__________________
Windows 7 Image Updater - SkyLake\KabyLake\CoffeLake\Ryzen Threadripper |
19th February 2010, 22:06 | #69 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,389
|
Do you have the fftw3.dll in your \system32 folder?
Do you have a 64bit Vista or Windows7? If so, fftw3.dll should be in the \SYSWOW64 folder.
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) |
19th February 2010, 23:22 | #71 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,389
|
1) Read 1st post of this thread
2) follow link 3) extract fftw3.dll into \syswow64
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) |
20th February 2010, 01:43 | #73 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,389
|
Then I'm out of ideas. I personally know what works on 32bit WinXP: have fftw3.dll in \system32, and have it *not* in Avisynth\plugins. Then I know *from hearsay* that on 64bit Windows, you've to put it in syswow64 instead of system32. In detail, I've only little clue about Avisynth on Vista, no clue at all about Avisynth on Windows7, and even less clue about Avisynth on 64bit OS'es.
Sorry i can't help any further. Perhaps somebody else knows something useful here.
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) |
21st February 2010, 09:00 | #78 | Link |
viterra
Join Date: Feb 2003
Location: St. Peterburg, Russia
Posts: 142
|
No need copy fftw3.dll in \system32 dir!!!
copy it in plugins dir and in in your avs file write: SetWorkingDir("C:\[your path]\AviSynthPlugins\") load plugin syntax will be: import("Killer.avsi") LoadPlugin("checkmate.dll") and so on... |
14th March 2011, 21:33 | #79 | Link |
Registered User
Join Date: Dec 2003
Location: MO, US
Posts: 999
|
I created a version of variableblur where gaussianblur can optionally undo gamma-correction before processing and then reapply it afterward. Specifically, gaussianblur and unsharp (which is just a special case of gaussianblur internally) have two new parameters:
Code:
gfunc,gfuncc: set the gamma function to use for Y and U/V planes. Default (-1,-1). Possible values: -1 = do not correct gamma (same processing as version 0.4) - Default 0 = sRGB 1 = BT.709, SMPTE 170M 2 = SMPTE 240M 3 = BT.470-2 System M (straight 2.2 gamma, no linear segment) 4 = BT.470-2 System B,G (straight 2.8 gamma, no linear segment) 5 = (straight 2.22222 gamma, no linear segment) 6 = (straight 1.8 gamma, no linear segment) 7 = linear, no gamma compensation Gamma-correction will be undone (forward gamma transfer function) prior to filtering, and then reapplied (inverse gamma transfer function) after filtering. pcr/pcrc: set the pixel value range for Y and U/V planes. Only used if gfunc or gfuncc >= 0. Default(0,0). Possible values: 0 = [0,255] 1 = [16,235] 2 = [16,240] Last edited by tritical; 14th March 2011 at 21:48. |
19th March 2011, 20:02 | #80 | Link |
Registered User
Join Date: Jan 2006
Posts: 1,867
|
http://avisynth.org/mediawiki/External_filters#Blurrers
http://avisynth.org/mediawiki/Variableblur One thing I haven't documented, is how this would work with MT. Does it need any mtmode? Where is the docs for mtmode? |
Thread Tools | Search this Thread |
Display Modes | |
|
|