I was using the following script for TTempSmooth:
The only reason I'm using it is to remove flicker although obviously it denoises as well. It takes an hour longer than I want so I was looking at using TTempSmoothF which is supposed to be faster.Code:ttempsmooth(maxr=3, lthresh=8, cthresh=5, strength=4, interlaced=true)
I was wondering if someone could please tell me in English what the differences are between the 2. I looked at the documentation but it wasn't much help.
Apparently TTempSmoothF doens't need the strength setting so how does it know what strength to use?
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 30 of 44
Thread
-
-
The only difference is that TTempSmoothF doesn't have the lmdiff/cmdiff parameters (it is equivalent to TTempSmooth with lmdiff/cmdiff set equal to or greater than lthresh-1/cthresh-1). So it does have the 'strength' parameter (unless you're using an old version - latest is 0.9.4).
I would try just calling TTempSmoothF with the same parameters you used for TTempSmooth. -
I'm using 0.9.4. I don't understand from what you said where the strength parameter comes from?
I looked at the documentation and it doens't mention the strength parameter. This is what I used for TTempSmooth:
Code:ttempsmooth(maxr=3, lthresh=8, cthresh=5, strength=4, interlaced=true)
-
What I said about the parameters was almost a direct quote from the 0.9.4 help file.
Here is what it gives as the parameters for TTempSmoothF:
Code:TTempSmoothF(int maxr, int lthresh, int cthresh, int strength, float scthresh, bool fp, int vis_blur, bool debug, bool interlaced, PClip pfclip)
-
OK thanks. It's weird how it doesn't mention that on the website! You said this:
The only difference is that TTempSmoothF doesn't have the lmdiff/cmdiff parameters (it is equivalent to TTempSmooth with lmdiff/cmdiff set equal to or greater than lthresh-1/cthresh-1) -
Basically, it means that when merging corresponding pixels from surrounding frames, they will all be given equal weight in TTempSmoothF.
In TTempSmooth, pixels with differences between mdiff and thresh get progressively smaller weights as the difference increases.
This will give somewhat stronger smoothing in TTempSmoothF, but I'm not sure how much difference this makes in practice. -
A temporal smoother won't be able to remove flicker without badly damaging the picture otherwise.
-
Does this flashing exist on normal playback without the capture setup? That doesn't look like flicker, it's too localized inside the frame. I had a very similar problem when copying a video to an external drive. Turned out to be drive write errors. I got rid of the bad external enclosure, replaced it with a different maker -- no more problems. Had the same problem when capturing to that external enclosure, not just copying.
Just a suggestion. But it looks like i/o errors.Last edited by sanlyn; 21st Mar 2014 at 06:00.
-
The video has two problems. It has noise (especially visible in the background, largely caused by quantization errors) and it has a flicker of the entire frame (I don't have it here anymore, but it's very obvious in a scope trace). I wasn't sure which holygamer was complaining about.
I'm talking about the video in this post:
https://forum.videohelp.com/threads/341188-Still-have-flicker-after-Denoising-with-AviS...=1#post2123866Last edited by jagabo; 4th Dec 2011 at 07:46.
-
Well then do you know of a filter I could use to remove the flicker without causing artefacts? Or do you know of a good DeBlocking filter I could use to fix the artefacts caused by TTempSmooth?
I've tried VirtualDub's Deflicker filter in AviSynth but it causes motion trails.
I've tried TTempSmooth but it leaves blocking artefacts.
I've tried DeGrainMedian but it just denoises - it doesn't remove the flicker:
I could use DeBlock() after ttempsmooth but it doesn't get rid of the blocking artefacts caused by ttempsmooth. DeBlock is supposed to get rid of blocking using the deblocking filter of h264 yet it doesn't get rid of the minor blocking caused by TTempsmooth. DeBlock doesn't seem to be anything like the deblocking filter of H264 because I saved the video as M2TS H264 and it got rid of all the blocking.
I use this to remove the blocking but it doesn't get rid of the blocking artefacts caused by ttempsmooth: Mpeg2Source("I:\New\file.d2v", CPU=6). I don't suppose there's anyway to run the CPU=6 command last is there? -
The blocking is from mpeg2 encoding at low bitrates. Even if your script gets rid of it, when you use MPEG2 such low bitrates (I think the example of the export you uploaded was 2Mb/s), you're going to get blocking again
I could use DeBlock() after ttempsmooth but it doesn't get rid of the blocking artefacts caused by ttempsmooth.
If you re-read the suggestions made, TTempsmooth was to be applied in addition to other denoisers, but you have to change the settings and strength of the other filters to accommodate, because TTempsmooth also denoises
IMO, you're overdenoising and eroding the details away. It's a blurry mess. CPU=6 is way to strong for your source.
Also, you never fixed the levels in your most recent export. All your videos have black level elevated (low contrast, looks washed out)
And then you want all this in realtime. You're expectations are unrealistic. If you want good results, the high quality filters are SLOW. -
At some point you're going to have to face the fact that you can't make DVD quality video out of 3rd generation VHS copies.
Deblocking filters are designed to remove 8x8 blocks, aligned on mod8 boundaries.Last edited by jagabo; 4th Dec 2011 at 10:38.
-
-
I know you're talking about that video. The question is what flicker are you talking about? The whole frame flickers slightly. That can be fixed with DeFlicker as we discussed before. After noise reduction you get posterization artifacts and residual noise that flickers -- especially in the background at the left of the frame. Those will only be fixed with a huge temporal filter. But that will screw up the rest of the picture. For example:
ttempsmooth(maxr=7, lthresh=50, cthresh=100, strength=8, interlaced=true)Last edited by jagabo; 4th Dec 2011 at 11:05.
-
-
Jagabo, if that doesn't work could I not just use the following which does work and doesn't screw up the picture and then use a deblocking filter that works?
Code:ttempsmooth(maxr=3, lthresh=8, cthresh=5, strength=4, interlaced=true)
-
No it doesn't cause blocking artifacts.
The blocks are already in the source, so it propogates those blocking errors because it is essentially averaging out frames temporally
If you prefilter the source, you will see it doesn't "cause" blocking artifacts
AGAIN, you're supposed to use it in conjunction with other filters
TTempSmooth isn't a deblocking filter. It's a temporal averager that works primarily on the background , not foreground -
I don't see many blocks after that.
Maybe you'd be happier with something like:
Mpeg2Source("Original file Test.d2v", CPU=2)
AssumeTFF()
ColorYUV(gain_y=30, off_y=-36)
Yadif(mode=1, order=1)
ttempsmooth(maxr=5, lthresh=15, cthresh=40, strength=4)
SeparateFields()
SelectEvery(4,0,3)
Weave()Last edited by jagabo; 4th Dec 2011 at 12:06.
-
If you test the following script on this video you'll see blocking (or whatever you want to call it) when the guy throws the other guy from the turnbuckle (caused by TTempSmooth):
Mpeg2Source("704 x 480 =June 30 1997 before avisynth.d2v", CPU=6)
DeGrainMedian(limitY=2, limitUV=3, mode=1, interlaced=true)
DeGrainMedian(limitY=2, limitUV=3, mode=1, interlaced=true)
ttempsmooth(maxr=3, lthresh=8, cthresh=5, strength=4, interlaced=true)
AddBorders(8, 0, 8, 0)
This is the video after I use the above script on my original video.
Just wondering, should cthresh always be double the value of ltthresh? It seems to be those 2 values that when increased, get rid of the blocking.Last edited by VideoFanatic; 4th Dec 2011 at 17:33.
-
I've been asking the same question. Maybe the OP refers to this sort of thing, which isn't flicker:
frames 596 (left) and 598 (right): star pattern flare from flash at upper left. In frame 598 at the upper left border you see the guy holding the camera.
[Attachment 9938 - Click to enlarge]
frames 306 (left) and 307 (right): shape of the flash just beyond the wrestler's pink left knee. In frame 598, there's the guy holding the camera.
[Attachment 9939 - Click to enlarge]
frame 179: image brightened by broadcast camera lens flare from flash. Look at the lighting on the people in the audience: there's strong sidelight from the upper left, seen on the sides of their faces. You can see the lighter path of the flash on the floor of the ring.
[Attachment 9940 - Click to enlarge]
Three more samples of star or flare patterns from camera flash all around the auditorium, frames 249,257,458:
[Attachment 9941 - Click to enlarge]
The only other "flicker" I see is fluctuating tape noise in the black background.Last edited by sanlyn; 21st Mar 2014 at 06:01.
-
Oh. Those bright flashes aren't tape noise, they're mostly camera lens flare from electronic flahes. Strictly speaking, that's not "flicker". A lot of that tape noise is low-bitrate artifact; much of it is below-zero-black -- meaning that it's "zero" data as far as luma or chroma is concerned. FFT3D is usually pretty good at smoothing out the grain and streaky part, and jagabo and others have shown that Deflicker does well at smoothing brightness fluctuations there. The more filters you add, and the stronger they are, the more you'll affect everything in the image (and the slower the filters will run). With VHS that is less-than-pristine like this, you have to find a middle ground between noise reduction and detail retention. What you think is "detail" in VHS is often mostly noise anyway, especially with darker colors in the spectrum. That's just the nature of anything on tape. Trying to remove 100% of tape noise is like trying to remove 100% of the grain in film: the grain is where the detail is.
Last edited by sanlyn; 21st Mar 2014 at 06:01.
-
Last edited by jagabo; 4th Dec 2011 at 17:37.
-
Sorry I gave you the wrong ttempsmooth code before. This is what I used on my original video:
Code:Mpeg2Source("704 x 480 =June 30 1997 before avisynth.d2v", CPU=6) DeGrainMedian(limitY=2, limitUV=3, mode=1, interlaced=true) DeGrainMedian(limitY=2, limitUV=3, mode=1, interlaced=true) ttempsmooth(maxr=3, lthresh=8, cthresh=5, strength=4, interlaced=true) AddBorders(8, 0, 8, 0)
Last edited by VideoFanatic; 4th Dec 2011 at 17:55.
-
The more noise and motion (the more pixels change from frame to frame) you have in a video the more macroblock artifacts you will get in MPEG encoding.
Even with your updated script I see very little blocking after filtering, before encoding. Post a sample PNG frame that shows the blocking (before encoding) you are talking about. At least give a frame number. -
Yes.
Open your AVS script with VirtualDubMod. Seek to a frame that shows blocking. Select Video -> Snapshot Source Frame, then save as PNG.
Or open your AVS script with VirtualDub, seek to the frame you want, select Video -> Copy Source Frame to Clipboard. Open a image editing program, paste the clipboard to a new image. Save as PNG.
I don't see any significant blocking after the script.
Similar Threads
-
YAAI help needed
By snafubaby in forum Newbie / General discussionsReplies: 3Last Post: 24th Apr 2011, 05:18 -
AviSynth much needed help!
By dbanimal in forum EditingReplies: 18Last Post: 28th Jan 2011, 10:33 -
HELP!! New Camera Needed
By hhouser in forum Newbie / General discussionsReplies: 1Last Post: 8th Nov 2010, 05:05 -
[ HELP NEEDED ] BD-ROM to BD-R 25 with BDRebuilder: how much CPU is needed?
By Tyrexionibus in forum Blu-ray RippingReplies: 1Last Post: 28th Oct 2009, 12:27 -
Memory upgrade needed for TMPGENC DVD Author 3, advice needed
By Caned_and_Able in forum ComputerReplies: 8Last Post: 31st Jul 2007, 18:30