![]() |
Quote:
Quote:
|
1 Attachment(s)
Quote:
Intro_Script1.log Intro_AVISource_x10.log First_Script.log Second_Script.log I just remembered, the only background app running was the usual antivirus (Kaspersky Antivirus 2016) , and CPU was checked at 0% at the start of each run. |
1 Attachment(s)
Not entirely sure what you were after with power saving - I already had both of those settings set to 'never', but I was on the 'balanced' profile. Set it to 'high performance' and ran all four scripts.
Quote:
Quote:
Quote:
If I drag the input high down, things get lighter and the wave form moves up. If I drag the input high up, things get darker and the wave form moves down. If I drag the output high down, things get darker and the wave form moves down. If I drag the output high up, things get lighter and the wave form moves up. I'm just not sure what the difference is. Doing it in VDub, everything has a max of 255 and a min of 0, so in cases where things need to be higher or lower than those on the input I use the output in the opposite direction. In AviSynth, there doesn't appear to be a minimum or maximum, so I can set input_low to -30 and input_high to 280 and it's all fine...although I'm not sure how much I'm changing that I shouldn't just be doing with gamma anyway. The 'how do I figure out how to use it?' was in reference to RemoveSpots. Quote:
|
Thanks for the logs, both.
Quote:
|
Min and Max Processor State are already 100% (minimum was 5 when I had it under 'balanced'), I don't see a cooling policy option.
|
Ah, okay. I did a quick search and it seemed as though Min was always 5 on default plans. :o
I did see one post in a WoW thread that said a Hyper-Threaded quad-core would show 12% CPU usage for single-threaded apps (100% / 8 logical cores = 12.5%). But that was really the only search result I could find referring to this. Changing it to 13% does find a few more, such as this. Meanwhile, the number of results discussing why quad-cores get "stuck" at 25% CPU usage is innumerable. I would have expected it to be easy to find results talking about the 12% cap if it's common to 8-core systems. But let's go back and compare your AVSMeter results to your VirtualDub tests. Quote:
Code:
FPS (min | max | average): 0.844 | 9674 | 6.211Code:
FPS (min | max | average): 0.863 | 7632 | 6.255But the real point here: 50 seconds is a lot shorter than 90-94. You can double-check that VDub can also do ~50 sec by using File -> Run video analysis pass. You'll have to actually watch the window the entire time, as it closes once completed. I believe your ~90-sec result is bottlenecked by HDD I/O. If you're reading to the same drive as you're writing to, it needs to thrash back and forth the entire time when both the input & output are a lossless file. Have you tried reading from internal and writing to external? sanlyn's results: Quote:
Code:
FPS (min | max | average): 1.925 | 12516 | 16.19 |
Quote:
|
Screenshots of Perf and Log tabs of that VDub window may indicate something.
|
BTW, I think you all won. I had to install Lagarith.
See the messy ordeal post here: http://www.digitalfaq.com/forum/vide...ed-messed.html Huffyuv 32-bit in 64-bit ffdshow is borked for PAL. I need to run some speed tests. I may switch from Huffyuv to Lagarith for all encoding. Not sure yet. So, Lagarith test files are now fine for me. :o |
1 Attachment(s)
This might be relevant, but it just ran in 47 seconds.
|
Quote:
Well, there's a slowdown in koberulz' system somewhere. For some info on what I'm using most of the time, the PC I'm on right now has 4 SATA hard drives in IDE mode. The C: drive is a 250GB that has only the OS and installed program files, except for Avisynth, VirtualDub, and freebie standalone utilities that are on the 320GB Drive D: (which is also used for storage, pictures, documents, saved forum posts, plugin downloads, Wiki pages, web articles, PDF's etc., periodically backed up on an external USB drive). Drives E: and F: are 500GB each for intermediate working files, scripts for SD and HD work, and processing. I ran AVSmeter on Drive E:. A DVD reader and a BluRay/DVD burner are mapped as Drives G: and H:. USB and a.c. powered external drives are for additional storage and backups only, no processing. All original lossless captures underway and archived are on external USB's -- I pull off portions of them as needed for processing. Kaspersky Antivirus is a resource hog that slows things down tortuously when it does auto hard drive scans, so I turned scanning off and do it manually overnight. Windows Automatic updates has been turned off for years (big deal, there are no XP updates anyway). Any other software that uses auto update is disabled when possible. As an estimate of my old XP/AMD cheapo Biostar mobo machine used for capture, it would take about twice as long to run any script. I have a newer small Win7 Pro x64 refurb PC but noticed no outstanding speed increase running Avisynth -- I just don't have to reboot as often as with XP when working heavy processing for long periods. I've done a little work with high definition on the win7 PC, but I guess I'm just a holdout. I do almost everything on XP, being a bah-humbug renegade who thinks mostly that what Microsoft did to everything post-XP is near criminal. HD hasn't yet given me the buzz I expected from it, even on my big plasma TV. Maybe others can explain the slowdown, I'm running out of ideas. |
In the meantime, I still had some AviSynth questions in this post:
Quote:
|
...now I can't even get a standard AVI - no AviSynth or VirtualDub processing at all - to run at more than 2fps.
EDIT: Closed VDub, reopened it, tried to open the video file: --------------------------- ffdshow error --------------------------- AVISource autodetect: couldn't open file 'Captures\Capture 1st AVT.avi' Error code: 3 (ffdshow_dec_avisynth_script, line 3) --------------------------- OK --------------------------- I don't get it. It's just an AVI file? |
Quote:
Quote:
Yes, "Smooth" in TweakColor and "interp" in Tweak are similar. TweakColor has no "dither" function. Minsat and Maxsat are also similar. The complaint about the older Tweak versions was that the effect of adjusting color ranges was not as precise as it is these days or in TweakColor. Tweakcolor was a 2004 modification of the older Tweak. If you like, you can use Tweak in the same way that TweakColor was used. Bit if you use Tweak, set "coring" to false. Quote:
No, numerically there's no min or max value specified that I know of, but you can use a "Levels" control to either adjust for valid levels or to completely crush darks and blow out highlights, as you wish. Quote:
function RemoveSpotsMC(clip, int "limit", bool "_grey") function RemoveSpotsMC2X(clip, int "limit", bool "_grey") function RemoveSpots(clip, int "limit", bool "_grey") For each of those functions you can use code that calls them using default values: RemoveSpotsMC() or RemoveSpotsMC2X() or RemoveSpots() If you look at the script you'll see that the default values for "limit" are defined in the script, It wouldn't be as good idea to change the default, since the script itself changes them. "Limit" is a threshold or strength/mode value. The three functions are arranged in such a way that you can call any of them separately. - If you specify RemoveSpots() alone, there is no motion vector search to help determne more precisely what is a spot and what isn't. The spot remover action is perfomed only once, on one image. - If you use RemoveSpotsMC() a motion vector search is performed -- basically meaning that image motion is examined to help determine whether something that looks like a spot exists in more than one image. This version then calls the spot remover activity only once. - If you use RemoveSpotsMC2X(), the same motion vector search is performed but cleaners are performed twice. The only syntax value people change is "_grey", which refers to grayscale images. "_grey" default is false for color video), set it to true for monochrome. For monochrome _grey to be truly effective, however, insure that your image is truly greyscale by using Avisynth's grayscale() filter before calling these functions. The motion vector operations in the script are from MVTools, while other operators are in the original RmoveDirt() plugin. MVTools and RemoveDirt are required for Remove Spots, but if you have something like QTGMC you already have those support plugins. Quote:
Quote:
Quote:
|
3 Attachment(s)
Quote:
Quote:
Quote:
Attachment 6647 Which I adjusted with Levels(-30,0.7,280,16,235). Attachment 6646 But I'm not sure if I'm doing that right, or if I should be keeping input and output within the 0-255 range and just playing with the gamma, or what. I mean, I seem to be getting more detail than I started with. Certainly more than my previous effort where I didn't adjust the levels until the VDub stage. Quote:
Quote:
Quote:
I also had that file open via an AVS in AvsPmod and another instance of VirtualDub, after closing everything it now works fine, including playback speed. Bizarre. EDIT: I also keep getting this when I open AvsPmod: Attachment 6648 |
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
I run projects using AVisynth 2.6 most of the time, but I have older projects that require v2.5 and 2.5 plugins. I can switch versions of Avisynth.dll in the System folder, but I have to explicitly import some 2.5 dll's in the script from another folder. That's not as often as it seems, as most 2.5 plugins also work in v2.6. But a few oldies don't. Most people don't download a zip'd or compressed plugin package into the plugins folder. They download zips into a separate folder somewhere, unzip it there, look over the specs, and move only the needed dll's or avsi into the plugins folder. Otherwise you have a plugins folder full of cpp's, htm's, readme's, and other junk that shouldn't be there. |
Quote:
Quote:
What I posted also isn't finished, it was just the AviSynth step (and possibly not all of that, I don't exactly recall). Further color work is occurring in VirtualDub, although it's still complicated by the fact that there's really not much in the original anyway. Irritatingly, it's an overcompensation made at half time as a response to the first half being underlit, but that didn't clip any details so I've been able to actually get that one looking okay. I'm running the first part of that script through VDub as we speak, so no samples until tomorrow. Quote:
Quote:
Quote:
Quote:
|
2 Attachment(s)
Samples of that other game.
|
1 Attachment(s)
Quote:
These were made with defective cameras? Or something just as disatrous, whatever it was. 1stHalf isn't just underexposed, it's worse than that. Both captures have crippled output in the blue, magenta, and red range. The best you can do is to try and stertch those valus into something visiblem but the results will look prtty bad. This "levels" statemnet needs a mention: Quote:
http://www.digitalfaq.com/forum/atta...1&d=1476539821 Basically what that levels statement does is to drag some of the brightst values into the y=235 range and make some burned-out brights a little darker. The other color work raised what little red and magenta was available, but because so many color values are missing in the lower half of the vectorsope it affected the court colors adversely (the markings on the floor aren't white, for one thing, and shadows elsewhere are green). But you're correct in that the best you can do is to stretch the avaialbe data to look like something else, even if few of the colors look correct. Another problem is that the capture itself apparently tried to include values that are outside of the video's capabilities. 1stHalf,avi is simply a dark capture where levels and color values hover around the dark-to-midtone range, and most color values approach gray. The originals are simply too corrupt for anyone to expect very much. Even if you made 1stHalf a grayscale image, it has no values beyond the midrange. You can make the darks and mids brighter, but there's no color detail to be retrieved. What remains of the video is mostly noise. |
2 Attachment(s)
Not sure if it's just my imagination, but there does seem to be more detail when I have -30 and 280 there than when I have 0 and 255.
And yeah, I wasn't expecting much from either of them. Although I've got the first half looking pretty decent, actually. Good enough that it's overtaken the first half in terms of watchability, at least. And yeah, I have no idea what was going on with the camera or its settings. Attachment 6663Attachment 6664 |
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.