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. |
8th April 2016, 03:11 | #81 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
VcMohan has a similar type plugin, FFTQuiver (or similar) and it also has 1D version (which I think this uses [fy=0 in all cases]),
dont know if can be directly converted, but if can then I am guessing that it could be quicker (even if the plugin 2D version is slower, dont know if so). I think it also has (from memory) the ability to supply some kind of mask which allows to select frequencies (2D version). Anyway, might be worth a look.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
8th April 2016, 03:19 | #82 | Link | |
Registered User
Join Date: Mar 2016
Location: Arkansas
Posts: 95
|
Quote:
Edit: Updated first post. Last edited by MWilson; 8th April 2016 at 03:25. Reason: Updated first post |
|
8th April 2016, 03:42 | #83 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Just had a look at Cmx5,
Whites are sometimes too white (glaring, ie 'burnt out'), we lost some colors that were previously correct, but cant help that (Dr Who green swamp grass). Center pink mostly gone. Green edges better. (perhaps due to high frequencies on frame edge), other green areas seem to mostly have disappeared. Overall, better, methinks (Shirley is still gold, and that is all that really matters ). Now mainly sepia recolor replacement alternative (BUT better, and consistent). Nice job. EDIT: Dr W, at 1:00 extra presence of greenish tinge, methinks maybe responsible for the 'burnt out' whites, perhaps slight reduction in green if possible. EDIT: Perhaps need some kind of legal YUV restrictor (some YUV combos do not convert to RGB, eg Y=$FF, U=$81, pure white + additional U). EDIT: Green edges are not a problem, thats what crop is for. EDIT: Pinkish Daleks seem to be a thing of the past EDIT: Green edges, perhaps add some Padding. Code:
function Padding(clip c, int left, int top, int right, int bottom) { # Didee: http://forum.doom9.org/showthread.php?p=1596804#post1596804 # eg, Padding(32,32,0,0).Padding(0,0,32,32) w = c.width() h = c.height() c.pointresize( w+left+right, h+top+bottom, -left, -top, w+left+right, h+top+bottom ) }
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 8th April 2016 at 06:57. Reason: change U=$01 to U=$81 |
8th April 2016, 04:54 | #84 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
No more green borders (at all).
Code:
Function Padding(clip c, int left, int top, int right, int bottom) { # Didee: http://forum.doom9.org/showthread.php?p=1596804#post1596804 # eg, Padding(32,32,0,0).Padding(0,0,32,32) w = c.width() h = c.height() c.pointresize( w+left+right, h+top+bottom, -left, -top, w+left+right, h+top+bottom ) } Function Cmx6Mod(clip c, Bool "Full",Bool "DownSz",Int "Pad") { # (c) MWilson, http://forum.doom9.org/showthread.php?t=173364 # Progressive Only : MUST be MOD 2 Width and Height, Otherwise will crop Mod 2 Full = Default(Full,True) DownSz=Default(DownSz,True) Pad=Default(Pad,2) # Multiples of 2 only c = c.Crop(0,0,c.Width/2*2,c.Height/2*2).ConvertToYV12.GrayScale.Padding(Pad,Pad,Pad,Pad) smallc = (DownSz) ? c.sincresize(c.Width/4*2,c.Height/4*2) : c r = smallc.defreq(fy=0,fx=39,sharp=100,dx=50,dy=50,cutx=0,cuty=0) r1 = smallc.defreq(fy=0,fx=47,sharp=100,dx=50,dy=50,cutx=0,cuty=0) g = smallc.defreq(fy=0,fx=37,sharp=100,dx=50,dy=50,cutx=0,cuty=0) g1 = smallc.defreq(fy=0,fx=85,sharp=100,dx=50,dy=50,cutx=0,cuty=0) b = smallc.defreq(fy=0,fx=65,sharp=100,dx=50,dy=50,cutx=0,cuty=0) b1 = smallc.defreq(fy=0,fx=59,sharp=100,dx=50,dy=50,cutx=0,cuty=0,fx2=100,fy2=0) x1 = merge(r,r1) y1 = merge(smallc.invert(),merge(g,g1)) z1 = merge(smallc.invert(),merge(b,b1)) y2 = overlay(smallc,y1,mode="multiply") z2 = overlay(smallc,z1,mode="multiply") x=mt_makediff(smallc,x1,Chroma="-128").converttorgb() # Full range RGB y=mt_makediff(smallc,y2,Chroma="-128").converttorgb() z=mt_makediff(smallc,z2,Chroma="-128").converttorgb() mergergb(x,y,z).ConvertToYV12 # RGB to YV12 TV Levels lanczos4resize(c.Width,c.Height) ColorYUV(autowhite=true) mergechroma(c,last,1.0) Last = (Full) ? Eval (""" u = utoy() v = vtoy() u3=repair(c.lanczosresize(c.width/2,c.height/2),u) v3=repair(c.lanczosresize(c.width/2,c.height/2),v) ytouv(u3,v3,c) tweak(sat=7.5,interp=32) mergechroma(c,last,0.33) coloryuv(autowhite=true) Return Last """) : Last return last.Crop(Pad,Pad,-Pad,-Pad) } EDIT: or maybe more high freq ?, is SincResize sharp ? EDIT: Added Pad Int. EDIT: Definite difference (ClipDelta) between DownSz True/False, but cant really see it. EDIT: Doc W, 2:30, change in fringing evident around the doctor with DownSz=False, not sure if better or worse, also seems to be change in skin color. EDIT: Some things seem a little more orange with DownSz=False, and more blue(looking white) with DownSz=True.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 8th April 2016 at 14:37. |
8th April 2016, 20:27 | #85 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Here Cmx7Mod, a lil bit faster.
Code:
Function Cmx7Mod(clip c, Float "Sat",Bool "DownSz",Int "Pad") { # (c) MWilson, http://forum.doom9.org/showthread.php?t=173364 # Progressive Only : MUST be MOD 2 Width and Height, Otherwise will crop Mod 2 Sat = Default(Sat,0.33) # Default 0.33, 0.0 -> 1.0 DownSz = Default(DownSz,True) # Default true, True=Qwiker, False Precise Pad = (Default(Pad,2)+1)/2*2 # Round up next multiple of 2, Avoid green border. c = c.Crop(0,0,c.Width/2*2,c.Height/2*2).ConvertToYV12.GrayScale # Mod 2 smallc = (DownSz) ? c.sincresize((c.Width+3)/4*2,(c.Height+3)/4*2) : c # At least half size, Mod 2 smallc = (Pad>0) ? smallc.pointresize(smallc.Width+Pad*2,smallc.Height+Pad*2,-Pad,-Pad,smallc.Width+Pad*2,smallc.Height+Pad*2) : smallc r = smallc.defreq(fy=0,fx=39,sharp=100,dx=50,dy=50,cutx=0,cuty=0) r1 = smallc.defreq(fy=0,fx=47,sharp=100,dx=50,dy=50,cutx=0,cuty=0) g = smallc.defreq(fy=0,fx=37,sharp=100,dx=50,dy=50,cutx=0,cuty=0) g1 = smallc.defreq(fy=0,fx=85,sharp=100,dx=50,dy=50,cutx=0,cuty=0) b = smallc.defreq(fy=0,fx=65,sharp=100,dx=50,dy=50,cutx=0,cuty=0) b1 = smallc.defreq(fy=0,fx=59,sharp=100,dx=50,dy=50,cutx=0,cuty=0,fx2=100,fy2=0) x1 = merge(r,r1) y1 = merge(smallc.invert(),merge(g,g1)) z1 = merge(smallc.invert(),merge(b,b1)) y2 = overlay(smallc,y1,mode="multiply") z2 = overlay(smallc,z1,mode="multiply") x=mt_makediff(smallc,x1,Chroma="-128").converttorgb() # Full range RGB y=mt_makediff(smallc,y2,Chroma="-128").converttorgb() z=mt_makediff(smallc,z2,Chroma="-128").converttorgb() mergergb(x,y,z).ConvertToYV12 # RGB to YV12 TV Levels Crop(Pad,Pad,-Pad,-Pad) # Crop padding lanczos4resize(c.Width,c.Height) ColorYUV(autowhite=true) mergechroma(c,last,1.0) Last = (Sat>0.0) ? Eval (""" # Removed Rubbish from here (did nothing). Repair was repairing temp downsized source Luma, not created chroma. # If reversed, everything purple. # Did not make sense anyway, luma rel 0, chroma rel 128. tweak(sat=7.5,interp=32) # Perhaps this needs lowering somewhat. mergechroma(c,last,Sat) # coloryuv(autowhite=true) # Dont really do much but waste time (only tweaked and MergeChroma) Return Last """) : Last return Last } Can anyone else verify same ? (They seem to just happen randomly, works ok one minute, next run exact same script crash) Here MPC-HC debug output (sometimes sends multiple error reports over the net). Code:
ntdll!RtlpCoalesceFreeBlocks+0x36e ntdll!RtlFreeHeap+0x2e9 msvcrt!free+0xc3 WARNING: Following frames may be wrong. fftw3!fftwf_printer_destroy+0x4cd3 defreq+0x1c27 avisynth!DllGetClassObject+0xee916 ntdll!RtlpDeCommitFreeBlock+0x2e3 ntdll!RtlFreeHeap+0x3a2 msvcrt!free+0xc3 WARNING: Following frames may be wrong. fftw3!fftwf_printer_destroy+0x71a3 defreq+0x1c34 avisynth!DllGetClassObject+0xee916 ntdll!RtlFreeHeap+0x354 msvcrt!free+0xc3 WARNING: Following frames may be wrong. fftw3!fftwf_assertion_failed+0x1c84 defreq+0x1c27 avisynth!DllGetClassObject+0xee916 ntdll!RtlFreeHeap+0x354 msvcrt!free+0xc3 WARNING: Following frames may be wrong. fftw3!fftwf_printer_destroy+0x71a3 defreq+0x1c27 avisynth!DllGetClassObject+0xee916 avisynth!avs_at_exit+0x7e027 avisynth!DllGetClassObject+0xee916 ntdll!RtlpCoalesceFreeBlocks+0x36e ntdll!RtlpDeCommitFreeBlock+0x371 ntdll!RtlFreeHeap+0x3a2 msvcrt!free+0xc3 WARNING: Following frames may be wrong. fftw3!fftwf_free+0x14 defreq+0x1c4e avisynth!DllGetClassObject+0xee916 WARNING: Following frames may be wrong. fftw3!fftwf_plan_awake+0x17 WARNING: Following frames may be wrong. fftw3!fftwf_assertion_failed+0x1128 defreq+0x1c27 avisynth!DllGetClassObject+0xee916 avisynth!avs_at_exit+0x7e027 avisynth!DllGetClassObject+0xee916 ntdll!RtlpCoalesceFreeBlocks+0x231 ntdll!RtlFreeHeap+0x2e9 msvcrt!free+0xc3 WARNING: Following frames may be wrong. fftw3!fftwf_free+0x14 defreq+0x1c4e avisynth!DllGetClassObject+0xee916
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 8th April 2016 at 21:11. |
8th April 2016, 21:49 | #86 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
|
|
8th April 2016, 22:11 | #87 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Thatks Groucho, but crash on 3rd run with this.
Code:
Avisource("Doctor.avi") crop(0,0,-2,-2) # Non mod 4 SAT=0.33 GrayScale Cmx7Mod Return Last
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? |
9th April 2016, 00:53 | #89 | Link |
Registered User
Join Date: Mar 2016
Location: Arkansas
Posts: 95
|
Code:
function cma (clip c) { c=c.greyscale().converttoyv12() v=c.converttoyv12().greyscale().sincresize(512,512) r=v.F2Quiver(2,2,39,47,0,3,3,100,188,0,rescale=false,frad=16) g=v.F2Quiver(2,3,118,128,0,3,2,74,128,0,rescale=false,frad=64) b=v.F2Quiver(2,2,96,128,0,2,3,128,130,0,3,3,74,128,0,rescale=false,frad=64) mergergb(r,g,b) autolevels() converttoyv12() coloryuv(autowhite=true) tweak(sat=4.5,interp=32) bilinearresize(width(c),height(c)) mergechroma(c,last,.5) } function cmx (clip c) { c=c.greyscale() merge(c.turnleft().cma().turnright(),c.cma()) return last } Edit: Updated to use new version of F2Quiver... Experimental, uses F2Quiver, I would suggest using HQDN3D at max on chroma. Needs more work... Last edited by MWilson; 10th April 2016 at 08:28. Reason: Updated Code |
9th April 2016, 03:18 | #90 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
MW, I will try that, but not this day.
This day is for rest and relaxation, (that and its now 03:15, need some sleep). Just the same, take a look at prev script, works quite well apart from the crashes. Ill get to cmx presently. Peace Bro. Also, did you try 1D FFTQuiver thing, no go ? G2004, I'll maybe come back, gorra get some shut eye. Come back already, G, does that look like Defreq bug to you (I was not sure enough and did not want to cry WOLF !!!) EDIT: It was actually doin it a bit a few days back but I dismissed it as an MPC peculiarity, without even looking at error report. (MPC sometime is a bit annoying). The Licensing hours in this country are so very very bad, but at least they dont shut at 22:30 hours any more. Everywhere else, seems to be so much more civilized (you can get drunk as a skunk, and for longer). 22:30 hrs, I once saw a guy drink 5 bottles of Newcastle Brown Ale (Brown Dog ) in 20 mins, just to fulfill his evenings quota before time was called. (Them woz the daze).
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 9th April 2016 at 03:46. |
9th April 2016, 15:53 | #93 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
MW, I shall be using the v2.6 version FFTQuiver from here:- http://www.avisynth.nl/users/vcmohan/
(current cmx does not work with it. EDIT: Cmx7Mod., Tried older FFTW.dll same problem. Current FFTW.dll, Using VDub current on Duel Core Core Duo 2.4Ghz, Plays about realtime speed for about 2 seconds, and freezes for about 1 second, repeatedly (although has not as yet crashed in VDub current).
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 10th April 2016 at 18:07. |
10th April 2016, 18:05 | #95 | Link |
Retried Guesser
Join Date: Jun 2012
Posts: 1,373
|
Huh, post #1 gets the blue(ish) sky and post #89 gets the rainbow (kinda). "even a broken clock is right twice a day" Last edited by raffriff42; 16th March 2017 at 23:19. Reason: (fixed image link) |
10th April 2016, 18:36 | #96 | Link |
random user
Join Date: May 2014
Location: #Neuland
Posts: 116
|
Hehe fun to play with...
Here with an X-Files episode (broadcasted in b/w)
__________________
BeHappy Audio Transcoder > <Doom9 forum> <Gleitz forum> <GitHub> MP4.tool GUI for MP4Box & L-SMASH muxer > https://www.mediafire.com/folder/3i6y6cbkyhblm/MP4.tool |
10th April 2016, 21:04 | #97 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
At least as it curently stands, think Cmx7Mod provides more hopeful future (if bug can be fixed, tried fftw.dll v3.0.1, as supplied by my original FFT3DFilter, same access violations).
Here cmx modified a bit. Code:
Function cmx(clip c, Float "Sat",Int "Pad") { # (c) MWilson, http://forum.doom9.org/showthread.php?t=173364 # Progressive Only : MUST be MOD 4 Width and Height, Otherwise will crop Mod 4 (F2Quiver limitation) Function cmx_Lo_Level(clip v,Int Pad) { # Parmameters in bunches of 5, # 1) Symmetry. [1, Circular, 2. Horizontal, 3, Vertical, 4. Linear Fan, 5. Point]. # 2) Type. [1. low cut, 2. High cut, 3. Band Pass, 4, Band stop, 5. Notch]. # 3) Notch freq, [low freq of band, or X freq of point or angle1 for linear fan]. # 4) High freq of band, or angle2 for linear fan, or y freq of point. # 5) Degree of Shaprness. 0 to 24. If 0 Gaussian filter otherwise Butterworth filter is designed. r=v.F2Quiver(2,2, 39, 47,0, 3,3,100,188,0, rescale=false,frad=16) g=v.F2Quiver(2,3,118,128,0, 3,2, 74,128,0, rescale=false,frad=64) b=v.F2Quiver(2,2, 96,128,0, 2,3,128,130,0, 3,3,74,128,0, rescale=false,frad=64) mergergb(r,g,b) # Result is TV Levels RGB, 16 -> 235 (Pad > 0) ? crop(pad,pad,-pad,-pad) : NOP # Must remove padding before autolevels autolevels() # Stretch 0 -> 255 ConvertToYV12 # TV Levels YV12 coloryuv(autowhite=true) # Center chroma tweak(sat=3.5,interp=32) # pump up sat } Sat = Default(Sat,0.33) # Default 0.33, 0.0 -> 1.0 Pad = (Default(Pad,4)+1)/2*2 # Round up next multiple of 2, Avoid green border. c = c.Crop(0,0,c.Width/4*4,c.Height/4*4).ConvertToYV12.GrayScale smallc = c.sincresize(512,512) smallc = (Pad>0) ? smallc.pointresize(smallc.Width+Pad*2,smallc.Height+Pad*2,-Pad,-Pad,smallc.Width+Pad*2,smallc.Height+Pad*2) : smallc chroma_1 = smallc.cmx_Lo_Level(Pad) chroma_2 = smallc.turnleft().cmx_Lo_Level(Pad).turnright() merge(chroma_1,chroma_2) lanczos4resize(c.width,c.height) c.mergechroma(last,Sat) return last } Avisource("Doctor.avi") cmx(Pad=8) EDIT: Made a couple of small changes. EDIT: RaffRiff42, Cmx7Mod is quite a bit better than Cmx5Mod (if you dont count Access Violations in Defreq).
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 11th April 2016 at 01:31. |
11th April 2016, 05:27 | #98 | Link |
Registered User
Join Date: Jul 2003
Location: India
Posts: 890
|
Gaussian filters which you are using in F2Quiver are supposed to deliver outputs with no or least ringing. Butterworth as sharpness increases results in more ringing.
I read in one of the posts of freezing of frames. This may be because of multiple calls to FFTW3 dll in 2.6 version. Instead of avisynth 2.6 if you use avisynth+, either 32 bit or 64 bit versions and FFTQuiver is designed to work in multi thread mode under it. Most likely freezes may not occur. The following lines of code may be added to script after loading plugins SetFilterMTMode("F1Qiver",2) SetFilterMTMode("F2Qiver",2) SetFilterMTMode("F2QTest",3) SetFilterMTMode("F1QTest", MT_SERIALIZED) |
11th April 2016, 05:39 | #99 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
OK, then someone else should take over script cleanups/mods, I use neither Avisynth+ nor MT.
Freezing is much more evident in Defreq Cmx7Mod script (along with the access violations). EDIT: Although when not freezing Cmx7Mod plays at almost realtime speed on my sedate running Core Duo 2.4GHz m/c. FFTQuiver cmx runs a lot more slowly. [EDIT: May be due to use of AutoLevels] EDIT: MWilson, you seem to be using vertical symmetry (mode 3) along with TurnLeft/TurnRight, is this really as intended ?
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 11th April 2016 at 07:30. |
11th April 2016, 06:50 | #100 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Just tried compile Defreq using VS 6.0.
Replaced Avisynth header VERSION 2, with VERSION 3 (v2.58), and also replaced old Info.h with IanB refactored version of Oct 2010. Still have Access Violations in Release dll, but not in Debug dll (Debug dll almost as fast as release for Cmx7Mod). I'll see if v2.6 Avisynth VERSION 6 header makes any difference. EDIT: Nope, still crashes on exit from v2.6 compiled DeFreq (release mode). EDIT: In v2.6 Debug dll, get and awful lot of these identical messages to debug window Code:
First-chance exception in VirtualDubMod.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception. EDIT: Darn it, getting the odd crash (on close) in Debug dll.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 11th April 2016 at 08:54. |
Tags |
automated, color, colorization |
Thread Tools | Search this Thread |
Display Modes | |
|
|