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. |
![]() |
#701 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,169
|
Hi, sorry for question isn't relate post. I want prefilter convertoyuv444 but meet error: "both clip should same colorspace". I want to know what code can auto convert comeback original colorspace input clip?? Dogway
|
![]() |
![]() |
![]() |
#702 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
What filter? SMDegrain? I tested and didn't get an issue. Post your call.
EDIT: By the way, happy not-so-happy day. Finally managed to craft a proper "optimized" sorting network for median7!! 6 months in the making finally. Well, actually it only saved 2 'max', 2 'dup1' and little else. Smart positioning of the lines has a greater impact on performance/multithreading. In any case speed is same as before since I have been feeling a slight slowdown of AVS+ from test20s.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread Last edited by Dogway; 24th December 2021 at 11:00. |
![]() |
![]() |
![]() |
#703 | Link |
Registered User
Join Date: Jan 2018
Posts: 2,169
|
Oh, i asked a question for a code can convert comeback original colorspace based your prefilter but i know how to do that, thanks. Btw, i used to want give you a private message but your inbox full and i decide comment in here
![]() |
![]() |
![]() |
![]() |
#704 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
Yes, it's full many years 'round here. I have very "interesting" PM so I don't want to delete them ^^
I made MatchClip() to match format from clip 'a' to 'b'. In fast mode (default) it should work fine, my goal is to finish ConvertFormat() and default to it at some point. You also have MatchColorFormat() from Raffriff42, and yesterday discovered HistogramRGB.avsi where it includes ConvertToMatch().
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
#705 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 11,093
|
Quote:
[And just think of the very interesting PM's that you never got]
__________________
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 ??? |
|
![]() |
![]() |
![]() |
#706 | Link | |
Registered User
Join Date: Jan 2018
Posts: 2,169
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#707 | Link | |
Guest
Posts: n/a
|
Quote:
Yes, you can indeed save your PM's (all at once), to either a .csv, .xml or .txt Go to your PM page, select your PM's (top right hand corner, check box), then bottom right hand corner "Selected Messages", drop down to show option menu. Then you can start again, with new "interesting" PM, as StainlessS mentioned. |
|
![]() |
![]() |
#708 | Link | ||
Registered User
Join Date: Jan 2018
Posts: 2,169
|
I met error with match clip:
Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#709 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
Thx, yes PMs when Doom9 was an hostile place. I like to keep a record of internet beefs as fun facts ^^
I will do backup then to start anew for the new year. @kedautinh12: Are you testing with 411 clip? AVS+ doesn't support HBD 411, and BM3D doesn't support anything less than 32-bit. You can fix the function with ConvertBits(BitsPerComponent(a)) before MatchClip(a), I need to implement range and bitdepth matching into MatchClip() (already done), will update soon.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
#710 | Link | |
Registered User
Join Date: Jan 2018
Posts: 2,169
|
Quote:
edit: i added ConvertBits(BitsPerComponent(a)) but error still exist. I don't know why my testing clip is 420 but when use with MatchClip(a), it's become 411 Last edited by kedautinh12; 25th December 2021 at 06:01. |
|
![]() |
![]() |
![]() |
#711 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
Can you show a small script showing the problem?
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
#712 | Link | ||
Registered User
Join Date: Jan 2018
Posts: 2,169
|
script showing problem
Quote:
Quote:
Last edited by kedautinh12; 26th December 2021 at 00:41. |
||
![]() |
![]() |
![]() |
#713 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
That's not a script but a function declaration. Anyway I updated TransformsPack so check if it fixes your problem.
I'm going to rest for a month or so now, I will still be uploading updates but less frequently.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
#714 | Link | |
Registered User
Join Date: Jan 2018
Posts: 2,169
|
i updated and still error. my script:
Quote:
https://drive.google.com/file/d/1V3x...ew?usp=sharing |
|
![]() |
![]() |
![]() |
#715 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
It wasn't consistent with bitdepth. You converted to 32-bit before DT_BM3D, so afterwards DT_ContraSharpening was handling one clip in 16-bit and another in 32-bit.
Code:
#--------------------------------------- # post FFT fullClip = dgNR2 fullSuper = (postTR > 0) ? fullClip.MSuper( pel=subpel, levels=1, chroma=ChromaNoise ) : NOP() noiseWindow = (postTR == 0) ? fullClip : \ fullClip.MCompensate( fullSuper, vmulti.SelectRangeEvery(maxTR*2,postTR*2), tr=postTR, center=true, thSAD=thSAD2, thSCD1=thSCD1, thSCD2=thSCD2 ) dftDither = (postDither < 0) ? postDither*(-1) : 0 postDither = (postFFT == 5 && postDither < 1) ? 1 : postDither # ensure to ConvertBits down after BM3D dnWindow = (postFFT == 0) ? RemoveGrain( postDither > 1 ? noiseWindow.ConvertBits(16) : noiseWindow, mode=1) : \ (postFFT == 1) ? neo_fft3d ( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, y=LumaNoise?3:2, u=ChromaNoise?3:2, v=ChromaNoise?3:2, sigma=postSigma, bt=postTD, ncpu=fftThreads ) : \ (postFFT == 11)? FFT3DFilter( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, plane=degrainPlane, sigma=postSigma, bt=postTD, ncpu=fftThreads ) : \ (postFFT == 2) ? FFT3DGPU( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, plane=degrainPlane, sigma=postSigma*2/3, bt=postTD, precision=2, mode=1 ) : \ (postFFT == 3) ? neo_dfttest( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, y=LumaNoise?3:2, u=ChromaNoise?3:2, v=ChromaNoise?3:2, sigma=postSigma*4, tbsize=postTD, dither=dftDither, threads=fftThreads ) : \ (postFFT == 13)? dfttest( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, Y=LumaNoise, U=ChromaNoise, V=ChromaNoise, sigma=postSigma*4, tbsize=postTD, threads=fftThreads, dither=dftDither ) : \ (postFFT == 4) ? DT_KNLMeansCL( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, a=2, d=postTR, h=postSigma, Luma = LumaNoise, Chroma = ChromaNoise, device_type="GPU", device_id=devId) : \ (postFFT == 5) ? DT_BM3D( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, radius=postTR, sigma=postSigma, CUDA=cuda, chroma=ChromaNoise, device_id=devId ) : \ (postFFT == -1)? HQDn3D( postDither > 0 ? noiseWindow.ConvertBits(16) : noiseWindow, 0,0,4,1, u=ChromaNoise?3:2, v=ChromaNoise?3:2) : NOP() dnWindow = dnWindow.SelectEvery( postTD, postTR ) denoised = (postDither == 1) ? dnWindow.ConvertBits(outputBits,dither=1) : dnWindow csOrg = (postDither == 2) ? dgO.ConvertBits(16) : dgO sharpened = DT_ContraSharpening(denoised, csOrg, extraSharp) sharpened = (postDither == 2) ? sharpened.ConvertBits(outputBits,dither=1) : sharpened # mix with original to leave the posibility to decrease the denoising strength sharpened = postMix > 0 ? mt_lutxy(dgO,sharpened,"x "+String(postMix)+" * y "+String(int(100-postMix))+" * + 100 /") : sharpened # Crop off temporary vertical padding cropped = sharpened output = debug ? Select(outputStage, dgNR1x, dgNR2, cropped, repair0, spatialBlur, srchClip, dgLimit, denoised) : Select(outputStage, dgNR1x, dgNR2, cropped) return output } function DT_BM3D(clip a, float "sigma", int "radius", bool "CUDA", bool "chroma", int "device_id") { bi = BitsPerComponent(a) s = Default(sigma, 3) r = Default(radius, 1) cd = Default(CUDA, true) chr = Default(chroma, false) devID = Default(device_id, 0) r = min(r,3) # Buggy when r > 3 a ch = ((chr == true) && !Is444(a)) ch ? ConverttoYUV444(chromaresample="spline16").ConvertBits(32) : ConvertBits(32) cd ? BM3D_CUDA(sigma=s, radius=r, chroma=chr, fast=true, extractor_exp=6, device_id=devID) : \ BM3D_CPU (sigma=s, radius=r, chroma=chr) BM3D_VAggregate(radius=r) ConvertBits(bi, dither=1) ch ? MatchClip(a) : mergechroma(a) }
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
#716 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
By the way, last night I had an enlightenment and today I refactored ex_vibrance(). Fast, HBD support and straight to the point. 'Recover' mode also works now to recover lost saturation by filtering, derainbows, etc. I plan to revisit SkinQualifier soon.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
#718 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
Yes, I remember when you needed something similar a few months back. Recover mode never was implemented so this is some achievement, actually it was very easy, just divide the masks but I wasn't so math savvy then.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
#719 | Link |
Registered User
Join Date: Dec 2005
Location: Denmark
Posts: 52
|
typo TransformsPack v1.0RC30 line 2822 ?
Fantastic collection of functions with references!
Just browsing your code - noted a string with trailing space "CAM16 " at line 2822 in function Format_fuzzy_search(...) ... cm= ... \ : (FindStr(model, "CAM16" )>0) ? ["CAM16 ", "YUV",34] I assume the trailing space is unintentional. |
![]() |
![]() |
![]() |
#720 | Link |
Registered User
Join Date: Nov 2009
Posts: 2,372
|
Yes, thanks! Anyway many models aren't implemented yet, CAM16 is said to be complex while not being so uniform as recent ones. TransformsPack (namely ConvertFormat()) is a long term project, the rest are pretty mature.
I updated GradePack with some optimizations for ex_vibrance() and a new filter, Skin_Qualifier() to create skin masks. It works like raffriff42's SmoothHueMask() with different false positives, but generally less amount of them. It's also slower since it's processed in HBD internally and a conversion to OkLab is performed for perceptually uniform HUE. Runs at about 60fps on my CPU -Prefetch(8)- I'm going now to implement HSVxHSV, that is; HUExHUE, HUExSAT, SATxLUM, etc.
__________________
i7-4790K@Stock::GTX 1070] AviSynth+ filters and mods on GitHub + Discussion thread |
![]() |
![]() |
![]() |
Tags |
avisynth, dogway, filters, hbd, packs |
Thread Tools | Search this Thread |
Display Modes | |
|
|