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. |
27th June 2019, 20:26 | #1 | Link |
Registered User
Join Date: Feb 2017
Posts: 134
|
AVISynth minideen() x64 request
In order to use my preferred derainbowing method, using DFMDerainbow, I need an x64 version of deen(). A version of deen that only involves the "a2d" method used in DFMDerainbow was ported to VapourSynth and called minideen.
https://github.com/dubhater/vapoursynth-minideen Is it too much to ask that this minideen be ported to AVISynth as a 64-bit filter? I'm sure it would be appreciated by others as well. |
8th July 2019, 02:55 | #2 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Please try and let me know.
MiniDeen(radius=1, thrY=10, thrUV=12, y=3 or 2 or 1, u=3 or 2 or 1, v=3 or 2 or 1) Source code: https://github.com/HomeOfAviSynthPlusEvolution/MiniDeen
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 12th September 2019 at 01:34. Reason: remove dead links |
9th July 2019, 03:28 | #3 | Link |
Registered User
Join Date: Feb 2017
Posts: 134
|
This works great! Thanks so much for going through the trouble. It seems to work just slightly better than DFMDerainbow with the original deen() if that makes sense.
I plugged minideen into the DFMDerainbow script by replacing the deen calls with minideen like so: Code:
fixed_u=org_u.FluxSmoothST(17,14).FluxSmoothT(17).Deen("a2d",4,14,14).Blur(1.0) fixed_v=org_v.FluxSmoothST(17,14).FluxSmoothT(17).Deen("a2d",4,14,14).Blur(1.0) Code:
fixed_u=org_u.FluxSmoothST(17,14).FluxSmoothT(17).minideen(4,14,14).Blur(1.0) fixed_v=org_v.FluxSmoothST(17,14).FluxSmoothT(17).minideen(4,14,14).Blur(1.0) Code:
prerb = last derbmask = last.tedgemask(threshY=7).mt_deflate() prefiltered = last.FFT3Dfilter(sigma=1.5,bw=16,bh=16,bt=3,ow=8,oh=8,plane=0) derbsuperfilt = MSuper(prefiltered) # all levels for MAnalyse derbsuper = MSuper(levels=1) # one level is enough for MCompensate derbbackward_vectors = MAnalyse(derbsuperfilt, truemotion = true, isb = true, chroma=false) derbforward_vectors = MAnalyse(derbsuperfilt, truemotion = true, isb = false, chroma=false) # use not-prefiltered (super) clip for motion compensation derbforward_compensation = MCompensate(derbsuper, derbforward_vectors) derbbackward_compensation = MCompensate(derbsuper, derbbackward_vectors) # create interleaved 3 frames sequences interleave(derbforward_compensation,last,derbbackward_compensation) dfmderainbow(maskthresh=8) selectevery(3,1) # return filtered central (not-compensated) frames only mt_merge(prerb,last, derbmask,luma=true) Routine without DFMDeRainbow and instead using old Derainbow(), notice the hand. Rotuine with DFMDerainbow and x86 deen() Routine with DFMDerainbow and new x64 minideen(). The same! And here's another comparison with a closeup: Original raw x86 deen() x64 minideen() Last edited by SaurusX; 9th July 2019 at 15:20. |
10th July 2019, 19:46 | #6 | Link |
Registered User
Join Date: Feb 2017
Posts: 134
|
I'm looking at this from the position of derainbowing. Don't we need to process chroma to handle the chroma cross-talk of the rainbows? And I don't know what you mean in your second statement. But anything to make DFMDerainbow more efficient or more effective would be welcome.
|
10th July 2019, 20:48 | #7 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
fixed_u=org_u.FluxSmoothST(17,14).FluxSmoothT(17).minideen(4,14,14).Blur(1.0)
fixed_v=org_v.FluxSmoothST(17,14).FluxSmoothT(17).minideen(4,14,14).Blur(1.0) You see, u and v were extracted from origin, so they only have Y channel valid. By saying minideen(4,14,14) which implies processing all planes (including valid Y, garbage U, garbage V), you are wasting your precious time. What I was saying, is either adding u=1, v=1 to skip processing the garbage UV plane, or, maybe check if you can modify the whole DFMDerainbow script to process 3 channels in one shot. I didn't look deep into it, so just my 2 cents. |
12th July 2019, 08:35 | #9 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
@MeteorRain will you also make a release on https://github.com/HomeOfAviSynthPlusEvolution/MiniDeen ?
Delogohd and lsmash can now be installes via avsrepo. Would like to add MiniDeen as well ;-)
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
12th July 2019, 16:31 | #10 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
You got it.
Also your signature links are wrong.
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 12th July 2019 at 16:33. |
16th July 2019, 19:56 | #11 | Link |
Registered User
Join Date: Jul 2018
Posts: 447
|
There is error "only 8..16 bit integer clips with constant format are supported." when color space is I420.
Edit: For example: Code:
ffvideosource(8-bit.video) minideen() Last edited by StvG; 17th July 2019 at 19:46. Reason: Edit: |
27th August 2019, 06:55 | #12 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
*Dead link removed*
Support I420 and also RGBPxx color format. Let me know how it works, and I'll make a tagged release if you are happy.
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 12th September 2019 at 01:35. Reason: remove dead links |
27th August 2019, 18:25 | #13 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
original deen can work with 0-255 why minideen can't?
edit: and in avs 2.6 (test with SEt mt one) minideen(2, 5 , 2, 3, 1, 1) it's important since I add it in DeHaloHmod https://forum.doom9.org/showthread.p...88#post1883288
__________________
See My Avisynth Stuff Last edited by real.finder; 5th September 2019 at 10:28. |
5th September 2019, 15:22 | #14 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
ok, Found this and know why, https://forum.doom9.org/showthread.p...98#post1846298 (but don't know why it's say 2 not 1 maybe because the video is yv12?)
maybe you can make it silently change u and v from 3 to 2 if it 0 (and ignore the Threshold if u and v not 3) and still we have the avs 2.6 problem https://i.imgur.com/xXtw5f0.png
__________________
See My Avisynth Stuff Last edited by real.finder; 5th September 2019 at 16:56. |
8th September 2019, 12:54 | #15 | Link | |
unsigned int
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
|
Quote:
__________________
Buy me a "coffee" and/or hire me to write code! |
|
8th September 2019, 23:56 | #16 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
Code:
# 5 = Avisynth 2.6.0 (SEt's multi-threaded build) loadplugin("Release_r2\x86\minideen.dll") colorbars() converttoyv12 minideen(2, 5, 2, 3, 1, 1) info |
9th September 2019, 00:18 | #17 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
Code:
# 5 = Avisynth 2.6.0 (SEt's multi-threaded build) loadplugin("Release_r2\x86\minideen.dll") colorbars() converttoyv12 Spline36Resize(880,496) #or any resizer minideen(2, 5, 2, 3, 1, 1) info
__________________
See My Avisynth Stuff Last edited by real.finder; 9th September 2019 at 00:21. |
|
9th September 2019, 00:27 | #18 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
then in this case isn't better to silently change u and v or even Y from 3 to 2 if the threshold is 0 or 1? and ignore the Threshold if u and v or even Y is not 3
__________________
See My Avisynth Stuff |
|
9th September 2019, 02:02 | #19 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
As I expected, memory alignment issue.
I can do threshold 0 1.
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 9th September 2019 at 02:09. |
9th September 2019, 02:57 | #20 | Link |
結城有紀
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 894
|
*Dead link removed* Please test and let me know.
Also r4 that changes SIMD logic a little bit.
__________________
Projects x265 - Yuuki-Asuna-mod Download / GitHub TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median Last edited by MeteorRain; 12th September 2019 at 01:35. Reason: remove dead links |
Thread Tools | Search this Thread |
Display Modes | |
|
|