Log in

View Full Version : SpotLess - Temporal denoise


Pages : 1 2 [3] 4 5 6 7 8

coolgit
30th July 2021, 15:33
You are trying to return "last" when not doing anything in your script.

Maybe this you want:
output=SpotLess(source)
return output


I tried that but the left viewer and right viewer of vdub is the same. Is it possible to have
return source output etc or does return only has 1 expression.

StainlessS
30th July 2021, 15:43
Vdub2 is not part of nor related to avisynth, it is a stand alone editor, with its own input and output viewing windows.
You can turn off VD2 windows, either input or output [it calls them panes I think], in the view menu, [again I think, I'm not on windows].
Avs users may use VD2 as a viewer for avs files, but you can view the output of AVS via eg PotPlayer, or MPC-HC, or in the AVS
dedicated GUI AvsPMod, your choice.

EDIT: VD2 does have an AVS script editor, added because I asked for it, by that nice guy "Shekh The Magnificent",.

EDIT: Unless you've done some filtering in VD2 of input Avisynth script or other video input,
both input and output panes will be exactly the same.
If avisynth outputs a stacked clip, then the stacked output will show in both VD2 panes.
As I said earlier, I usually make the output pane in VD2 as small as possible and only view a single pane. [or you can turn it off].

EDIT: Kinda nifty name, CoolGit, I'm sorta wishin' I'de gone with Ol'Fart, or I knida gotta hankering for BogBlocker too :)

coolgit
30th July 2021, 18:31
I do get the above but avisynth doesn't make it easy to work with.

So i can compare using StackHorizontal then when i am happy put a # before StackHorizontal then refresh then save new file. Next time i've got to remember to remove the #. Back and forth.

Surely avisynth can do better at outputting.

Is there not a save command for script? Use StackHorizontal for comparison then type save(newfilename) in script.

It's all working now. Is there a way of increasing threshold or whatever in spotless to increase effectiveness. Sometime the spot replacing pixels are a bit too light. ThSAD,10000 what does this do? I tried playing around with the numbers but couldn't see any effects.

StainlessS
30th July 2021, 19:44
Avisynth is video editing frameserver, it takes in some video clip, edits in some way and then produces an output video clip.
Thats all it does, thats all its meant to ever do.
I think that you originally used it with MeGUI, if avisynth were as you suggest, it would not be usable with MeGUI.
The purpose behind its use was to be able to eg feed into an encoder without saving the edited file to disk,
and the massive amount of disk space required to do that. [originated in about 2002 when hard drives were much smaller].

[EDIT: my 1st hard drive was 20MB and cost aboout £400.00, in late 80's, early 90's]

Maybe you would be happier with a more traditional video editor, you dont sound like you feel cut out for it.

Current beta of Spotless, with docs.
http://forum.doom9.org/showpost.php?p=1939724&postcount=69

If you need further background, you could read MvTools2 docs too.

EDIT: VirtualDub can [or older versons of it used to, probably still can] act as a FrameServer,
but with large fast disks that ability becomes maybe obsolete.
Avisynth has a pretty big bank of plugins and scripts, that can and are being used by many open source
projects, nobody wants to throw that in the bin. If you need an avs specific gui, try AvsPmod, thats what its for.

[some people use a text editor (me included) and some viewer eg MPC-HC player, that is their choice, you also have yours]

coolgit
30th July 2021, 20:22
[EDIT: my 1st hard drive was 20MB and cost aboout £400.00, in late 80's, early 90's]

Maybe you would be happier with a more traditional video editor, you dont sound like you feel cut out for it.

105mb approx £200 1991. A friend and I spent days deliberating between 105 and 115mb - costing £40 more.

Nowadays looking back it sound pathetic.

I do use video editor, a fair few according to tasks. But dust, scratches, spots, scene changes, all are pretty poor. Even pro software costing zillions are crap.

StainlessS
30th July 2021, 21:01
Not sure, maybe mine was more expensive than for typical PC, was for Atari-ST, and more specific interface, ACSI rather SCSI, I think,
but I guess coulda been as early as about 86. [EDIT: Actually, I still got it]
My [first] Sinclair QL 'Floppy' drive was about £150.00 - £200.00, [with some special interface, about 256KB (perhaps 128KB) RAM and maybe some toolkit], and I bought from the firm I worked for at the time [bit cheaper].

VoodooFX
30th July 2021, 22:42
I tried that but the left viewer and right viewer of vdub is the same. Is it possible to have
return source output etc or does return only has 1 expression.

AvS is not vdub's filter, output of AvS is input for vdub, you can run two instances of vdub and do compare switching between them.

coolgit
1st August 2021, 20:58
StainlessS

Tm = Default(tm,True) # TrueMotion, Some folk swear MAnalyse(truemotion=false) is better.

True works better. It took a nice longish scratchy defect and replaced it 99%. I tried false and the replacement was 60%.

StainlessS
1st August 2021, 21:56
True works better.
And there was me considering making false the default, guess I maybe leave as it is.

coolgit
2nd August 2021, 00:51
Rendering spotless is 20 fps. Any way to make it faster?

Default(ThSAD,10000) - what does the number do? Tried playing with and couldn't see any effects.

johnmeyer
2nd August 2021, 16:03
Are you using multi-threading? Set Prefetch() to use multiple cores.

coolgit
2nd August 2021, 19:33
Are you using multi-threading? Set Prefetch() to use multiple cores.

Using vdub2 script for spotless. Is set prefetch suppose to go in the script?

coolgit
4th August 2021, 14:51
Had some fun yesterday/today using spotless on some Laurel and Hardy films. Those great B&W films had too many (5 to 20 per frame) flickering. Claims by various film restoration companies are outrageous. How they claim to have restore the film and not remove one flicker is beyond me. It takes no more than 10 minutes or less per film.

I improved the quality by 1000% simply by removing all the flickering. Some were the size of 2 pence coin. In some case I ran spotless twice on the same film.

All is great. Film Dirt Cleaner consigned to the recycle bin and eradicated forever.

StainlessS
4th August 2021, 15:10
I'm guessin' that some love the flicker. [There's nowt so queer as folk. https://en.wiktionary.org/wiki/there%27s_nowt_so_queer_as_folk ]

StainlessS
5th August 2021, 02:39
CoolGit,

Maybe try this out, could be useful in B&W restoration. [selective processing]


ColorBars(pixel_type="YV12").ShowFramenumber.KillAudio

# Need the latest Beta Spotless for DC clip.
DC_Radius=7 # Frames to average
DC_SC=25 # Scene change detect
DC=TemporalSoften(DC_Radius,255,255,DC_SC,2).Blur(0.6,0.6) # Detect clip for Spotless, hopefully less prone to be fooled by flickering [untested, tweak DC_Radius]

#DC = Blur(0.6,0.6) # Alternative prefiltered analysis clip, without TemporalSoften, or Roll-Your-Own DC.

V1 = SelectEvery(1,-1) # CopyFromPreviousFrame [replace current frame with its predecessor]
V2 = SelectEvery(1, 1) # CopyFromNextFrame [replace current frame with its successor]
V3 = Spotless(RadT=1,BlkSz=16,TM=False,Glob=true,dc=DC) # Un-spot Single frame spots. DC prefiltered clip for motion analysis.
V4 = Spotless(RadT=2,BlkSz=16,TM=False,Glob=true,dc=DC) # Un-spot Double frame spots. DC prefiltered clip for motion analysis.
V5 = Spotless(RadT=3,BlkSz=16,TM=False,Glob=true,dc=DC) # Un-spot Triple frame spots. DC prefiltered clip for motion analysis.
V6 = FlipVertical
V7 = Invert
# Etc

Nicks = """ # NickNames (pseudonyms) for use in SCMD or CMD file.
CP = 1 # CopyFromPreviousFrame ::: 1st replacement Clip V1 in clipclop args
CN = 2 # CopyFromNextFrame ::: 2nd replacement Clip V2
DS1 = 3 # DeSpot single spots ::: 3rd replacement Clip V3
DS2 = 4 # DeSpot double spots ::: etc
DS3 = 5 # DeSpot triple spots
FV = 6 # FlipVertical
INV = 7 # Invert
"""

SCMD = """ # ClipClop Commands given in SCMD string [can supply in CMD file too], can use Nickname or replacement clip index to specify clip.
CP 10 # Replace bad frame at 10 with frame before it [Maybe bad End Of Scene frame - glue @ Splice]
CN 20 # Replace bad frame at 20 with frame after it [Maybe bad Start Of Scene frame]
DS1 30 # Spot at 30
DS2 40,-2 # Double Spot at 40 [-2 = 2 frames replaced]
DS3 50,52 # Triple Spot at 50 [range 50->52 replaced]
1 60 # CopyFromPreviousFrame frame 60, we used clip replacment index 1 [ie V1] instead of nickname CP.
FV 70,75 # FlipVertical 70->75
INV 80,0 # Invert 80 -> End Of Clip
"""

CMD = "" # Not Used, Maybe eg CMD=".\ClipClopCommand.txt"

SHOW=True # Show ClipClop metrics

ClipClop(Last, V1,V2,V3,V4,V5,V6,V7, scmd=SCMD, cmd=CMD, NickName=Nicks, show=SHOW)


You can define up to 255 replacement clips in ClipClop.

EDIT: There is a Donald Graft plugin called DeFlick, I think, maybe use before Spotless for B&W.
EDIT: Maybe forget DeFlick before spotless, it would likely spread spots over multiple frames making them harder to remove. [could try after spotless though]

External Filters:- http://avisynth.nl/index.php/External_filters
and Internal filters:- http://avisynth.nl/index.php/Internal_filters

coolgit
5th August 2021, 21:16
Regarding your pal hybrid script, I am getting no function McDeGrainSharp. I got it and created a McDeGrainSharp.avs file and put it in avisynth 32/64 and vdub 32 and not working.

StainlessS
5th August 2021, 21:27
I is guessin you is usin v2.6, avs 2.6 requires .avsi extension, avs+ requires *.avs or *.avsi
mobile in public house :)

coolgit
5th August 2021, 23:10
using avs+ 3.7

kedautinh12
5th August 2021, 23:37
using avs+ 3.7

You need use AVSMeter or Avisynth Info Tool to check your AVS plugins and scripts. After you share your log here
https://forum.doom9.org/showthread.php?t=173259

coolgit
6th August 2021, 15:12
Log file created with: AVSMeter 3.0.9.0 (x64)
Command line switches: -avsinfo

[OS/Hardware info]
Operating system: Windows 7 (x64) Service Pack 1.0 (Build 7601)

CPU: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz / Coffee Lake (Core i7)
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, FMA3, RDSEED, ADX, AVX, AVX2
6 physical cores / 12 logical cores


[Avisynth info]
VersionString: AviSynth+ 3.7.0 (r3382, 3.7, x86_64)
VersionNumber: 2.60
File / Product version: 3.7.0.0 / 3.7.0.0
Interface Version: 8
Multi-threading support: Yes
Avisynth.dll location: C:\Windows\System32\avisynth.dll
Avisynth.dll time stamp: 2021-01-11, 15:47:06 (UTC)
PluginDir2_5 (HKLM, x64): C:\Program Files (x86)\AviSynth\plugins64
PluginDir+ (HKLM, x64): C:\Program Files (x86)\AviSynth\plugins64+


[C++ 2.5 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth\plugins64+\Decomb.dll [n/a, 2013-12-01]

[C++ 2.6 Plugins (64 Bit)] [Version, Time stamp]
C:\Program Files (x86)\AviSynth\plugins64+\AutoAdjust.dll [2.6.0.0, 2016-01-05]
C:\Program Files (x86)\AviSynth\plugins64+\ClipClop_x64.dll [1.27.0.0, 2021-07-27]
C:\Program Files (x86)\AviSynth\plugins64+\ConvertStacked.dll [n/a, 2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\DelogoHD.dll [1.0.0.0, 2019-12-09]
C:\Program Files (x86)\AviSynth\plugins64+\DePan.dll [2.13.1.6, 2020-05-22]
C:\Program Files (x86)\AviSynth\plugins64+\DePanEstimate.dll [2.10.0.4, 2020-05-22]
C:\Program Files (x86)\AviSynth\plugins64+\DeScratch64.dll [1.1.0.0, 2018-09-07]
C:\Program Files (x86)\AviSynth\plugins64+\DirectShowSource.dll [n/a, 2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\ffms2.dll [n/a, 2020-08-22]
C:\Program Files (x86)\AviSynth\plugins64+\FrameSel_x64.dll [2.21.0.0, 2021-07-27]
C:\Program Files (x86)\AviSynth\plugins64+\ImageSeq.dll [n/a, 2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\KNLMeansCL.dll [n/a, 2020-11-12]
C:\Program Files (x86)\AviSynth\plugins64+\LSMASHSource.dll [n/a, 2021-07-28]
C:\Program Files (x86)\AviSynth\plugins64+\MedianBlur2.dll [1.1.0.0, 2021-01-30]
C:\Program Files (x86)\AviSynth\plugins64+\mvtools2.dll [2.7.45.0, 2021-06-08]
C:\Program Files (x86)\AviSynth\plugins64+\neo-f3kdb.dll [1.0.0.0, 2021-07-05]
C:\Program Files (x86)\AviSynth\plugins64+\nnedi3.dll [0.9.4.59, 2021-07-19]
C:\Program Files (x86)\AviSynth\plugins64+\RemoveDirt.dll [0.9.3.0, 2021-02-23]
C:\Program Files (x86)\AviSynth\plugins64+\RoboCrop_x64.dll [1.13.0.0, 2020-02-07]
C:\Program Files (x86)\AviSynth\plugins64+\RT_Stats_x64.dll [2.0.13.0, 2020-12-29]
C:\Program Files (x86)\AviSynth\plugins64+\Shibatch.dll [n/a, 2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\TDeint.dll [1.8.0.0, 2020-12-14]
C:\Program Files (x86)\AviSynth\plugins64+\TimeStretch.dll [n/a, 2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\TIVTC.dll [1.0.26.0, 2021-02-22]
C:\Program Files (x86)\AviSynth\plugins64+\VDubFilter.dll [n/a, 2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\yadifmod2.dll [0.2.7.0, 2021-02-07]

[Scripts (AVSI)] [Time stamp]
C:\Program Files (x86)\AviSynth\plugins64+\colors_rgb.avsi [2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\FFMS2.avsi [2015-05-22]

[Uncategorized files] [Time stamp]
C:\Program Files (x86)\AviSynth\plugins64+\colors_rgb.txt [2021-01-11]
C:\Program Files (x86)\AviSynth\plugins64+\ffmsindex.exe [2020-08-22]
C:\Program Files (x86)\AviSynth\plugins64+\McDegrain.avs [2021-08-05]
C:\Program Files (x86)\AviSynth\plugins64+\McDegrainSharp.avs [2021-08-05]

poisondeathray
6th August 2021, 15:26
I am getting no function McDeGrainSharp. I got it and created a McDeGrainSharp.avs file and put it in avisynth 32/64 and vdub 32 and not working.


Rename it "McDeGrainSharp.avsi" (avsi) to autoload



Or import .avs script functions manually using

Import("PATH\McDeGrainSharp.avs")

kedautinh12
6th August 2021, 15:27
Change McDegrain.avs and McDegrainSharp.avs to .avsi after test again

coolgit
6th August 2021, 20:04
Ok thanks. Done it and now working. I was told avisynthplus doesn't care whether it is avs or avsi?

coolgit
6th August 2021, 20:45
OH well... that pal hybrid didn't work on deinterlacing properly.

I guess I have run out of tools.

StainlessS
6th August 2021, 22:58
This bit is config for deinterlace, I have the one in RED deliberately set high. Maybe try with lower. [blue is default]


# IsCombedTIVTC args, Defaults, 1st after comment hash.
CTHRESH = 12 # 10), Area combing threshold.
# Valid settings are from -1 (every pixel will be detected as combed) to 255 (no pixel will be detected as combed).
# This is basically a pixel difference value. A good range is between 8 to 12.
MI = 80 # 80), Number of combed pixels inside any of the blocky by blockx size blocks on the frame for the frame to be detected as combed.
CHROMA = True # True), Whether or not chroma is considered in the combed frame decision. [We want chroma as interlaced parts in color]
BLOCKX = 16 # 16), X-axis size of the window used during combed frame detection.
BLOCKY = 16 # 16), Y-axis size of the window used during combed frame detection.
# So in any single block, if 85[MI] out of 256[BLOCKX x BLOCKY] pixels pass CThresh as combed, then is Interlaced.
METRIC = 1 # 0) Detecto method: 0=Old, 1=New

# Deinterlace mode
BOBMOD=1 # 0=BOB, 1=YadifMod2, 2=QTGMC : QTGMC here is way memory/CPU intensive, req x64. Suggest YadifMod2

BOB_FUNC_0 = """Bob()""" # Cheap & cheerful Doublerate simple Bob.
BOB_FUNC_1 = """YadifMod2(Order=-1,Mode=1,edeint=NNedi3(Field=-2, nns=2))""" # Doublerate Yadifmod2 filter.
# # Field-2=double rate, internal parity value to start : Order-1=Internal Parity. Mode 1=double rate do spactial check (3=no spatial check).

BOB_FUNC_2 = """QTGMC(Preset="fast",NoisePreset="Fast",SourceMatch=2,Lossless=2,EZKeepGrain=0.4,Sharpness=0.1, tr2=0)""" # Doublerate QTGMC filter.

FUNC = Select(BOBMOD, BOB_FUNC_0, BOB_FUNC_1, BOB_FUNC_2)
FNAME = Select(BOBMOD,"BOB", "YADIF", "QTGMC")


Make FINAL=False to view which are detected as interlaced.

coolgit
7th August 2021, 00:40
Have you ever deinterlace the first 14 seconds scene of midnight in the firing line?

This guy did something but haven't a clue what. https://www.modeemi.fi/~leopold/Babylon5/DVD/DVDTransfer.html#8

I was using TFM i think with debug true to see the info. Progressive and interlace looked mixed up.

coolgit
7th August 2021, 00:54
When the scene goes upwards there is jumping back and forth.

frame by frame u-up; ju- jump up; d-down

uuuujudud uuuujudud uuuujudud pattern. Sometimes a bit different.

poisondeathray
7th August 2021, 04:00
Have you ever deinterlace the first 14 seconds scene of midnight in the firing line?

This guy did something but haven't a clue what. https://www.modeemi.fi/~leopold/Babylon5/DVD/DVDTransfer.html#8

I was using TFM i think with debug true to see the info. Progressive and interlace looked mixed up.

When the scene goes upwards there is jumping back and forth.

frame by frame u-up; ju- jump up; d-down

uuuujudud uuuujudud uuuujudud pattern. Sometimes a bit different.



Post your script

Post source video sample

Consider posting in separate thread, as it does not necessarily pertain to the thread topic "SpotLess"

coolgit
7th August 2021, 13:06
Here the 14 seconds file.

https://mega.nz/file/by4GABxY#0mb4B8kPfmqmbJwFsU35DY1BLhAOo1T5ke1VOIveVn8

StainlessS
7th August 2021, 16:07
@Moderator,
Can you please move all posts from post #74, into new thread with user Coolgit [EDIT: post #74 owner] the main man in charge of thread.

post #74:- https://forum.doom9.org/showthread.php?p=1948448#post1948448

thanks very much :)

EDIT: Maybe thread title "Babylon5", CoolGit can change thread name once created.

[@CoolGit, edit 1st post, "Go Advanced", and change title]

manono
8th August 2021, 22:57
@Moderator,
Can you please move all posts from post #74, into new thread with user Coolgit the main man in charge of thread.
I, for one, have no idea how to do that. Maybe someone else does. Sorry.

coolgit, open a new thread with your latest question(s) as at this point you are hijacking this StainlessS thread about his very useful filter.

coolgit
9th August 2021, 00:03
hijacking this StainlessS thread about his very useful filter.

Hijacking:confused::confused: Nope, my posts is about spotless and pal/hybrid script. A couple about B5 but only because Stainlesss mentioned he was doing it too.

However, it is no skin off my nose if someone were to do what Stainlesss requested.

StainlessS
9th August 2021, 12:08
I, for one, have no idea how to do that. Maybe someone else does. Sorry.
I believe that tebasuna has done that in the past, [and of course DG many times when was moderator (EDIT: and of course Wilbert, but he aint been around lately)].
Dont matter I suppose, thanks anyway.

LouieChuckyMerry
29th August 2021, 19:55
Hi Bender, er, StainlessS, I hope you're well :) . Searching for help to improve my Blu-ray video of The Bad News Bears{1976}--it looks no better than my HDTV rip, which I find rather pathetic; seriously, if a relative noob such as myself can improve the video quality within a few days via a forum... anyway, you get the idea--I turned to videohelp.com (How To Better "The Bad News Bears{1976}" Blu-ray Video (https://forum.videohelp.com/threads/402938-How-To-Better-The-Bad-News-Bears%7B1976%7D-Blu-ray-Video)), whence jagabo The Magnificent turned me on to SpotLess. Wow, it really worked wonders with default settings. :thanks: . Now I'm here seeking information, information, from the new number two, er, StainlessS The Great. My denoiser of choice is SMDegrain, and that's all I've ever really used to improve my progressive sources: some denoising, some sharpening, and I'm generally quite pleased. SpotLess, however, has added a (very positive) step to my older sources, so I'm trying to figure out how much, if any, denoising it does on it's own. I read the .avsi file but a majority of the words entered my mind then left without sticking, as I understand quite well the concept of AviSynth but not all of the technical terms. Thanks for any clarity.

Edit: I also wondered if you ever gained any positive-negative feedback on using SpotLess as a prefilter in SMDegrain (beyond the quote near the beginning of this thread).

StainlessS
29th August 2021, 22:13
Sorry, I did my best to describe it already.
Suggest you see original Didee post [I think I linked it somewhere].
Other than that, see MvTools docs.

Again sorry, I just too pushed for time, and already did my best.
Perhaps someone else can do some kind of tutorial.

LouieChuckyMerry
29th August 2021, 23:28
Apologies, I think I wasn't clear. I don't require a tutorial, I'm just curious how much general denoising you think SpotLess does on it's own, independent of any other filters, and whether you'd received any other feedback, beyond the quote from ChaosKing, from people using it as a prefilter in SMDegrain.

No worries, though. I'll run some trim tests and see what I find. Thanks again for a really nice tool, be well :) .

FranceBB
30th August 2021, 11:02
Hi Bender, er, StainlessS

Whenever someone says "Bender" I don't think at the Futurama's robot but rather at Jimmy Carr saying "Mommy's little bender" xD

https://youtuberead.com/photos/hq/jimmy-carr-comedian-2007-full-82N5z_7M7Cw-1.jpg



my Blu-ray video of The Bad News Bears{1976}--it looks no better than my HDTV rip, which I find rather pathetic; seriously, if a relative noob such as myself can improve the video quality within a few days via a forum...

It's probably the same master which has been sent out for the BD... The problem with those kind of projects is that most of the time the people working on it know how to do and are also very skilled, but can't do anything because of rights management.
For instance, although I was able to Remaster several old movies, there are some exceptions (and they're not so uncommon unfortunately). For instance, when we've got the 4K Remaster of a certain batch of very old movies from a certain company (I won't reveal the name for the sake of avoiding a PR Incident) they were like: "You better not denoise those!" so I couldn't do anything to the masterfile other than color space conversion and dithering and they aired with tons of grain which made the 25 Mbit/s live encoder struggle which in turn resulted in the whole picture being blurred by the H.265 live encoder.

Anyway, when I was actually able to work on movies, I did use SpotLess() and I gotta agree with you, it saved my butt several times by getting rid of all the nasty dots and also of some stripes sometimes. Unfortunately I wasn't able to use it for sports 'cause it's very hard to tweak for ice hockey games 'cause there literally a black disk on a white surface which very much looks like a spot (black dot), so SpotLess() makes it disappear, leading to some hilarious results xD

But aside from that, it's great.

LouieChuckyMerry
30th August 2021, 14:45
Ciao, FranceBB, and thanks for the inside information. It's a shame that the people signing-off on the Blu-rays don't seem like they've even viewed the videos. Seriously, a couple posts at videohelp.com and I learned to add

ColorYUV(Levels="TV->PC")
ColorYUV(Gain_Y=8,Off_Y=-6,Gamma_Y=100)
ColorYUV(Levels="PC->TV")

to my script. The improvement is night and day (truly, the original video looks as if it were filmed through a sunglasses lens). Anyway, at least there's improvement to be made on a personal level ;) .

Any advice for using SpotLess in conjunction with SMDegrain? Would the end result be different using it before SMDegrain versus as a prefilter in SMDegrain?

zorr
30th August 2021, 20:52
Unfortunately I wasn't able to use it for sports 'cause it's very hard to tweak for ice hockey games 'cause there literally a black disk on a white surface which very much looks like a spot (black dot), so SpotLess() makes it disappear, leading to some hilarious results xD

Delta Restore could fix that kind of problems. If Spotless is the bread, Delta Restore is the knife and now we can have sliced bread. :)

https://forum.doom9.org/showthread.php?t=182831

StainlessS
30th August 2021, 20:56
If Spotless is the bread, Delta Restore is the knife, then zorr is the butter.
:)

EDIT: And I'll be the Marmite, real tasty treat, but an acquired taste.

FranceBB
31st August 2021, 10:16
Thanks for the insight, I'm gonna try Delta Restore. :)

If Spotless is the bread, Delta Restore is the knife, zorr is the butter and Stainless is Marmite


https://cdn-a.william-reed.com/var/wrbm_gb_food_pharma/storage/images/publications/food-beverage-nutrition/beveragedaily.com/article/2020/06/12/brewing-slowdown-hits-marmite-production/11477063-1-eng-GB/Brewing-slowdown-hits-Marmite-production.jpg

StainlessS
31st August 2021, 12:08
Zorr,
I note that in a number of posts in spotless related thread
eg here:- https://forum.doom9.org/showthread.php?p=1944487#post1944487


function RemoveSmallSpots(clip mask, int spotSize) {
mask_orig = mask

# remove too small spots ----------------------------------------------------
for (i = 1, spotSize) {
mask = mask.mt_inpand()
}
mask = mt_hysteresis(mask, mask_orig, chroma="-127")
return mask
}

think maybe above chroma="-127" should be chroma="-128",
Appears quite a few times in the linked thread.

From Masktools 2 original docs.

When defined, the value contained in this string will overwrite the u & v processing modes. This is a nice addition proposed by mg262 that makes the filter more user friendly. Allowed values for chroma are :

"process" : set u = v = 3.
"copy" or "copy first" : set u = v = 2.
"copy second" : set u = v = 4.
"copy third" : set u = v = 5.
"xxx", where xxx is a number : set u = v = -xxx.


EDIT: I recently found a script posted some time ago that now throws an error in recent Pinterf MaskTools, I had wrongly used
chroma="128" [instead of chroma="-128"]
and it now throws a wobbly, says should be setting chroma to -ve ie -128 [although original script did seem to work OK in older masktools].

EDIT: To below: Thankyou kind sir :) [you've gotta develop thick skin on the D9]

zorr
4th September 2021, 22:39
Zorr,
I note that in a number of posts in spotless related thread
...
think maybe above chroma="-127" should be chroma="-128",


Yes you're right. I'll fix it when I release the "official" Delta Restore version. It doesn't have any effect on the final result so it's nothing to worry about. :)

coolgit
17th September 2021, 14:48
Many times I had spots around the edges of the frames and always put back in by delta restore.

Check the coding and zpadding seems to be responsible for it. Don't know why it was there but I had changed it to zeros.

Spots now removed. Yippeeeee.

zorr
17th September 2021, 23:17
Many times I had spots around the edges of the frames and always put back in by delta restore.

Check the coding and zpadding seems to be responsible for it. Don't know why it was there but I had changed it to zeros.

Spots now removed. Yippeeeee.

Zpadding was used in the original case to restrict the edge detector from detecting the frame borders (the source was scanned film). For most material Zpadding is not needed.

coolgit
6th October 2021, 19:41
Hey StainlessS, what does olap do?

Had a big defect and was experimenting. Nothing worked 100% even when BlkSz,32. For a laugh I changed olap to BlkSz/3 and boooom, it work 100%.

johnmeyer
6th October 2021, 20:13
Hey StainlessS, what does olap do?It is the overlap parameter used by the MAnalyze function of MVTools2, which is the motion estimation plugin that is at the heart of Spotless. In MVTools2 you can specify the size of the block used to "track" objects in the video. Typical sizes are 4, 8, and 16. To improve the quality of certain operations the algorithm can overlap adjacent blocks. This sometimes improves noise reduction or synthesis of intermediate frames, but you don't know until you try, as you did in fact do.

StainlessS
6th October 2021, 20:20
OLap is the block [Blksz] Overlap.
Popular choices are sometimes BlkSz/2 or 2.

MysteryX
6th October 2021, 20:21
lol I'm trying Spotless on a clip while driving, and it's doing a slightly better job than VS mClean at removing noise (at higher speed!). And -- trees while driving are disappearing. Can I call it Tree-less?

StainlessS
6th October 2021, 20:23
lol I'm trying Spotless on a clip while driving, and it's doing a slightly better job than VS mClean at removing noise (at higher speed!). And -- trees while driving are disappearing. Can I call it Tree-less?
You can indeed call it TreeLessS,
However I have to point out that it is very dangerous to try out Spotless whilst you are driving.

EDIT: Especially at higher speed!

EDIT: Zorr added some recovery stuff for disappearing trees, arms, legs, balls, etc, here:- https://forum.doom9.org/showthread.php?t=182831