![]() |
2 Attachment(s)
Quote:
http://www.digitalfaq.com/forum/atta...1&d=1476573000 Even if lower and higher values did exist, the coded statement "Levels(-30,0.7,280,16,235)" wouldn't brighten anything. All it would do is compress existing values into a more narrow low midrange: http://www.digitalfaq.com/forum/atta...1&d=1476573270 You might have used that Levels statement on the far brighter 2ndHalf.avi, but you would just be making tough work for yourself if you used it on the darker video. |
3 Attachment(s)
The coection image you posted earlier from 1stHalf.avi is a decent workable effort, even if it doesn't look as if it resulted from the Levels code posted earlier:
Quote:
I had similar results straight from Avisynth, but I used this code: Code:
ColorYUV(gain_y=120,cont_y=30,gamma_y=20,off_v=3)The code resulted in a rd haze in the darks and reddish blacks. So after some Virtualdub tweaks with two gradation curve, the darker bleachers look more detailed (even though they aren't) by throwing a little more contrast into black levels with the curves filters, which I exaggerated slightly here to show the effect.: http://www.digitalfaq.com/forum/atta...1&d=1476590532 Any way you look at it, it's still pretty awful but you're correct to do what you can with what you have. I don't think recapturing this video would help -- color is wiped out in the original, so a brighter capture won't help. Attached is my own YV12 Lagarith correction. Some of the noise is tamed, but underexposure will get you little more than noise and ghosting when brightened. |
The levels I mentioned earlier was for the second half, not the first half.
That capture for the first half was done through an AVT-8710 with brightness all the way up. A capture through the TBC-1000 was even darker. For the first half: Code:
ColorYUV(cont_v=300,cont_u=800,gain_y=70,off_v=3,off_u=-3)EDIT: Going back over your second "Studio" script, you've got "RemoveSpotsMC().RemoveSpotsMC3()". I'm getting an error citing no function named RemoveSpotsMC3. I still don't really understand the difference between RemoveSpots, RemoveSpotsMC, RemoveSpotsMC2x either, in terms of what happens visually or what visual issues each is best for or whatever. EDIT 2: I like the color of the court better on my version, but you've got the jerseys to stand out a bit more. Yours also looks quite a bit noisier to me. I'm not really too fussed about the crowd as long as what's on-court looks...I was going to say 'good', but that's probably not the right word under the circumstances. In VDub, I ran hue/saturation/intensity with hue -14, sat 0.84, intensity 1.09, then ran it again for cyan and blue with saturation 0.63. Gradation curves moving the bottom left corner up a bit, and Camcorder Color Denoise at 30. |
1 Attachment(s)
Quote:
Quote:
Quote:
In the image below from post #44, there are two horizontal dropouts: a horizontal "rip" across the man's jacket and another short, thin black line in the upper right that passeds thru the edges of the logo. There are many such dropouts in that capture and others. http://www.digitalfaq.com/forum/atta...riginal-640jpg If you don't know what these bad guys look like or if they don't matter, don't use RemoveSpots, RemoveSpotsMC, DeSpot, DeVCR, or any such plugin, they will just be confusing. Quote:
|
Quote:
Quote:
Motion compensation (MC to you, or motion analysis) is used to make RemoveSpots more effective during shots with motion involved. The visual issues it's designed for are spots, comets, horizontal rips and tears, and many forms of scratches -- all of which are classed as defects known as dropouts or loss of signal in areas of the frame. Quote:
I still don't really understand which to use when. If I've got footage with those sorts of issues...I assume there's more to it than just randomly picking one of those plugins. EDIT: VDub crashed again. "out-of-bounds memory access (access violation) occurred in module 'ntdll'...writing address [bunch of zeroes]...while stopping filter "Color Tools [1.4]" (FilterInstance.cpp:1214)." |
Quote:
Quote:
Quote:
quote=koberulz;46069]What are you actually doing with it, though? Gamma's still 1, input and output are the same...and why is it now 16-255 instead of 16-235? I'm still not entirely sure I understand the 'protect' thing either.[/quote]The two versions as posted above. and they are not identical, as a I've shown. You're definitely unsure about them, as evidenced by using both of them together in succession in your own script for no apparent reason. The logic behind the "protect" parameter is in the documentation below, where I placed the explanation for "protect" in bold and quote a general description of the SMoothadjust plugin package. This documentation was attached to the SmoothAdjust plugin that was posted. Code:
I. DESCRIPTION :Quote:
Quote:
Quote:
|
Great scot, I just re-read the previous post and was shocked at all my typo's. So why don'[t I see that junk before I hit Submit after reading it 5 or 6 times?
@koberules, everybody learns this stuff piecemeal. Years back a member started a thread on video restoration and repair but lasted barely four posts before everyone realized that a 6-volume book was the only way anyone would be able to cover the subject. Remember, some of us have been at this madness for quite a spell. They say you can tell by the weird look in our eyes. LOL! |
2 Attachment(s)
Quote:
Quote:
Quote:
Code:
AVISource("..\Process\Studio_Intermediate.avi")Attachment 6673 Whereas in AvsPmod, I actually get some spot removal (with the same color issue): Attachment 6674 Using MC2x gets me the VirtualDub result in both VDub and AvsPmod. It's the second of two scripts, so I ran QTGMC in the first script and left it deinterlaced, with the re-interlacing done in the second script after RemoveSpots(). Commented that line out so the frames would match for the StackVertical(). Quote:
|
Quote:
Quote:
Quote:
Quote:
I still don't understand what's going on with the slow Vista machine. Your i7 CPU was benchmarked as only about 20% slower overall than my Intel i5 Ivy Bridge, so something else is wrong somewhere. |
Code:
AVISource("..\Captures\Capture Panasonic.avi") |
4 Attachment(s)
Quote:
Code:
AviSource(path......+"Studio.avi")I used the script below which I copied from your own Script#2, but I used StackHorizontal to place the fames side by side for playback. Original on the right ("y"), RemoveSpotsMC version on the left6 ("X"). The comparison clip is attached as Studio_Intermediate2.mp4. Left and right look pretty similar to me. Although RemoveSpotsMC cleaned a little of it, that version of RemoveSpots isn't as strong as RemoveSpots2X and doesn't accomplish much here, but it doesn't do anything to the colors. The script: Code:
AviSource(path.....+"Studio_Intermediate.avi")Code:
AviSource(vidpath+"Studio_Intermediate.avi")Code:
Import("D:\Avisynth 2.5\plugins\RemoveSpotsMC4.avs")I've also attached the avs script for RemoveSpots4, which contains five functions that called be called separately: RemoveSpots RemoveSpotsMC RemoveSpotsMC2 RemoveSpotsMC3 RemoveSpotsMC4 It took all morning to clean up that original avs file so that all functions worked properly. RemoveSpotsMC4.avs is far more complicated than the versions in RemoveSpotsMC.avsi. Caution: RemoveSpotsMC3 is very slow and RemoveSpotsMC4 is even slower. Also, you can write the code above: Code:
SeparateFields().SelectEvery(4,0,3).Weave()Code:
SeparateFields().SelectEvery(4,0,3).Weave() |
What's the difference between running RemoveSpots() before reinterlacing and running it after reinterlacing and separating fields?
Do I need to do anything special with the two version of RemoveSpots(), or can they both sit in the plugins folder? |
1 Attachment(s)
Must be one of those days. Multitasking: not my thing. Quoting myself, from earlier:
Quote:
Attached herewith. |
Not sure if you missed this post while sorting that out:
Quote:
|
Quote:
Quote:
Also many of these filters work faster on half-sized fields (SeparateFields) than on full-sized frames (full-frame deinterlaced). Some filters work best with real deinterlace (such as dfttest and chroma cleaners), others work just as well using SeparateFields. It take some experimentation while learning what certain filters do and don't do. MCTemporalDenoise, when used for chroma cleaning to reduce flicker from oversaturation, seems to me to be more effective with deinterlaced frames. I suppose people who can read the filter's source code could tell us why in greater detail. Users tend to build up a small battery of frequently used filters and soon learn their quirks with different kinds of problems. You don't have to know about every filter in the world -- none of would live long enough for that, anyway. Quote:
Code:
RemoveSpotsmC.avsi RemoveSpotsMC4.avsiNote that any RemoveSpots function can sometimes obscure very fine lines or remove spots that aren't really spots (using them in a rainy or water sports scene can have strange results, with lots of water removed! I hate that). Sometimes you have to try another filter such as dfttest or RemoveDirt, or just live with some noise. |
Right, but what does SeparateFields() do that QTGMC() isn't doing? They seem like the same thing. Obviously I'm missing something.
|
You should ask the question in reverse: what QTGMC does that SeparateFields doesn't do. By now you know the difference between deinterlacing (reforming two separated half-field scanlines into two full-sized frames) and SeparateFields (using alternating scanlines as half-height video images with no interpolation or resizing into full-sized frames). If you'd rather use the same slow RemoveSpots filter on 1152 horizontal scanlines in 2 full-sized reinterpolated frames instead of 576 horizontal scanlines in two separated but unaltered image fields, it's up to you. You can run any of the scripts shown so far, including your own, using QTGMC or using SeparateFields, and check the results. Cleanup will look similar, but not quite the same.
With SeparateFields, the even lines begin at scanline 0, odd lines begin at scanline 1 (one line lower). Each new half-sized "frame" of even lines begins scanline 0. But the odd fields, in order to populate 288 lines in the new separated "frame", have one black line of pixels added at the top, so that the odd-line image has data beginning at line 2. A speck of noise in even-lined fields will be 1 scanline higher than in the odd-lined fields -- thus, the noise in the even fields is in a different position than in the odd fields. Further, a line of noise in even fields may be 1/4 line shorter in the odd fields or might not even appear in some alternate fields. Remember that an interlaced frame has two images. When you see a line of black or white dropout pixels in an interlaced frame, that line of dropout might only be in one of the fields, with the other field clean. Or the line of dropout might be 3 pixels high with only one line of dropout pixels in the even field and the other two dropout lines in the odd field. And again, a line of dropout in the odd field of one frame might be different in the even field of the next frame. And yet again, when a time and motion based intepolator like QTGMC starts rearranging data to make separate half-height fields into full frames, some noise such as dropouts can be carried over into subsequent frames, so that dropout won't look the same in all frames. Some advanced users who get really picky will perform some "prep" noise reduction before using QTGMC to prevent this carryover of artifacts. It's not always safe to do so, but you can try it using SeparateFields, then reweave the fields into interlaced frames before using QTGMC for other problems such as smoothing line shimmer and aliasing. As an experiment I looked at the original studio,avi and the same clip processed as Studio_intermediate.avi, which is what you get after running QTGMC on Studio.avi. I noted that the thick horizontal dropout in frames 23 and 24 (or 4 interlaced fields) of Studio.avi appeared in 5 fields of the intermediate avi after QTGMC, and when reinterlaced that dropout and a remnant appeared in frames 23, 24, and 25 of the reintelaced video. So it becomes obvious that motion compensated filters like QTGMC, MCTD, etc., etc., can indeed create their own problems (you decide what's more important in any particular video, some subtle interpolation errors and less than perfect cleanup, or no cleanup at all). These interpolations don't occur with SeparateFields. So, with my experiment I first ran RemoveSpotsMC3 on Studio.avi using SeparateFields, then reweaved the clip and ran the rest of the script on it including the QTGMC line. It took 15 minutes at less than 0.3 fps on my machine, so be prepared to sit for a good spell waiting for it on yours. The results look like those of previous running methods but took far longer, mainly because RemoveSpotsMC3 had a lot more original noise to contend with, which took forever. |
Oops, here there I go again. Quoting myself:
Quote:
:o |
I'll go through that in more detail later, but quick question: can I split out the MergeChroma(MCTemporalDenoise(settings="very high") line? ie have a script that goes up to the line before that, create the AVI, then run the MCTemporalDenoise on that AVI to create a third AVI, then use MergeChroma("thirdavi.avi")? Would that have the same effect? That line seems to be the point at which my computer decides flailing its arms in the air and storming off is its only option; I'm thinking separating it out like that might help.
|
Of course you can split your processing. That's been discussed since post #71 and earlier.
|
Site design, images and content © 2002-2026 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2026 Jelsoft Enterprises Ltd.