![]() |
Quote:
One way to avoid YV12 filters (which is how most of heavy-duty guys work) is to avoid poorly made video that requires all those filters and cleanup. QTGMC also requires YV12. Avisynth functions have been exhaustively tested to make interpolations cleanly, where many NLE's make a mess. Note that ConvertToYV12() and similar functions require certain information (like interlaced true/false). It's advised to capture 4:2:2 analog as 4:2:2 rather than lose color data at the outset and rather than let sloppier capture systems and apps screw the works. Many encoders don't do it so well, either. DVD and BluRay/AVCHD standard formats are YV12. Does this mean that the super-super digital BluRay you bought at the store has less chroma information per pixel group than the VHS tape you bought 20 years ago? Yes. I'm surprised you didn't mention conversion to RGB, which is more tricky and is where some apps get even more sloppy. Going from YUY2 to YV12 isn't a problem done properly. If you think it's the same as analog YUY2-to-DV's YV12 for capture, it isn't. More tricky is YV12 to RGB and back again to YV12. There's more precise interpolation with 16-bit processing. The dither plugin upgrades 8-bit video to 16-bit and back again. In the example below, I keep dither plugin files in folders separate from Avisynth's usual filters for loading when needed, depending on whether I'm using Avisynth 2.6 or the older 2.5 with old scripts: Code:
dppath="D:\Avisynth 2.5\plugins\AVS26\dither\"Code:
Dither_convert_8_to_16()As I usually do, I used YUY2 filters together, then YV12, then RGB, then got lazy and let VirtualDub do the final RGB->YV12 output. For picky projects I make yet another script to get RGB output from VDub and AfterEffects to YV12 for encoding. Too much jockeying back and forth isn't recommended. Work in one, then the next, and so on. I've worked on many captures that didn't need extensive cleanup. But often you have no choice. For more info, 53 web pages of discussion about the dither plugin and why it exists begin in post #1 at Color banding and noise removal. Links to the plugin and details for use begin in post #3 in that thread at http://forum.doom9.org/showpost.php?...59&postcount=3. -- merged -- @bilbofett, you're correct in that ChomaShift and nnedi3 work in YUY2, but RemoveDirt variants and warpsharp won't. So I could have used two of those plugins in YUY2, but would still need YV12 for the others. Later, however, nnedi3 reduces the frame size back to 720x480, when the video is still YV12 after QTGMC. Preference is to upscale/downscale in the same colorspace (I'll have to look up on that one day and see if anyone explains why). ChromaShift must be used in progressive frames or separated-fields. Progressive is more stable, separate fields can be unperedictable. |
Quote:
In fact, I enjoy seeing conversations. I read everything, even if I don't reply to everything immediately (or at all). Although I know a lot, I'm always on the prowl for tips, new techniques, new scripts, etc. And sometimes that comes from this very site! Quote:
But running sites costs a lot. The backup alone costs $35/monthly. The entire site costs about $300 monthly. And that doesn't include any one-time software or scripts needs for upgrades. Once you hit a certain size, dedicated servers are needed. And these days, DDoS protection as well. I cook anyway. I've always hated fast food, even as a kid. :P |
1 Attachment(s)
Sanlyn, here's round 2 (attached)
sharpness turned down, color seems "better"? None of your filters applied yet. Does this initially look like a better capture? -- merged -- Well, I feel stupid. :( I'm not an avisynth expert by any means. 1) To use sanlyn's avs script, I had to install the following plugins from scratch that I didn't have/didn't come with Avisynth: -TIVTC -LimitedSharpenFaster (which required: MaskTools2, RgTools, WarpSharp -RemoveDirtMC (I could only find RemoveDirtMC_SE!, which required: MVTools, RemoveGrainT (confusing installation), RemoveDirt, AvsRecursion (install to \System32 or \Wow64\ only!, FluxSmooth, FFT3DFilter (site offline, couldn't find a copy of the plugin!) -QTGMC 3.32 AVS(i) script (which required: MVTools, nnedi3, (which required redistribuable package for Visual Studio 2015 Update 2 and/or and Intel Parallel Studio 2016 redistributables), RemoveGrain -ChromaShift -FixVHSOversharp -GradFun2DBmod.v1.5 (could not find one v1.5!) A note about your *.avs script: It tries to load/calls for "RemoveDirtMC", I could only find "RemoveDirtMC_SE", should I change all the entries to *_SE"? Also, your script calls for *.avs scripts, but they were all installed as *.avsi, should I rename the files to *.avs, or change the entries inside the script to *.avs? And do I need to modify those called scripts internally too, ie. LimitedSharpenFaster, QTGMC-3.32, removedirtmc_se, and GradFun2DBmod.v1.5? 2) I was also confused as to what I install to the root folder of avisynth, what I install to the plugins folder, and what I install to c:\windows\system32 or \syswow64 (dlls vs avs/avsi) 3) So far the two errors I'm left with are: "Import: couldn't open "C:\Program Files (x86)\AviSynth\plugins\avsfilter.vdf.avs" and then it waits a bit and says "Avisynth open failure: Script error: Invalid arguments to function "RemoveDirtMC_se" (c:\testavs.avs, line 15), which reads: "RemoveDirtMC_se(20,false)" 4) Sorry for the amateur response. I know its poor. I've been trying. I've been plugging away at this all day. It's a mess. |
- .vdf is a VirtualDub filter.
- .avs files are almost never in the plugins directory -- just dll and avsi. - You can't just rename a filter's filename. - I don't know what script you're trying to load. Post it here in 'code' bbcode blocks. |
Quote:
His script calls for *.avs files, not *.avsi example: Import("D:\Avisynth 2.5\plugins\RemoveDirtMC.avs") Import("D:\Avisynth 2.5\plugins\QTGMC-3.32.avs") Import("D:\Avisynth 2.5\plugins\LimitedSharpenFaster.avs") |
I'm actually curious why sanlyn is still using the old "loadplugin" scripting. That's not been needed in years.
|
Quote:
|
Updated = not use it at all, as Avisynth senses existent avsi and dll files. :wink2:
|
Quote:
|
"import" isn't "loadplugin".
An avsi is a scriptlet, and not a full script. |
Quote:
How can I remedy this please? So I should or should not use "import" as opposed to "load" ? I said to sanlyn: "A note about your *.avs script: It tries to load/calls for "RemoveDirtMC", I could only find "RemoveDirtMC_SE", should I change all the entries to *_SE"? Also, your script calls for *.avs scripts, but they were all installed as *.avsi, should I rename the files to *.avs, or change the entries inside the script to *.avs? And do I need to modify those called scripts internally too, ie. LimitedSharpenFaster, QTGMC-3.32, removedirtmc_se, and GradFun2DBmod.v1.5?" |
sanlyn and lordsmurf, after about 13+ hours on this, I got it working. Not even sure what I did.
I'm exhausted. Please disregard, thank you. |
Nice going, glad you worked it out. It would be better if I fix up the posted script -- which I see had a couple of lines of code from my own copy that I should have deleted from the post. And didn't realize you don't have any of the plugins.
When there are a dozen versions of filters like RemoveDirtMC, with similarly named internal functions, and you have multiple versions in your plugins folder, you can name them .avs files instead of living with oddball behavior if they're all named avsi. RemoveDirt itself, the basis of RemoveDirtMC, RemoveDirtMC_SE2, RemoveDirtMC_2X, et al, comes in several incarnations. There's another version called RemoveSpotsMC that internally uses similar function names and yet another version of the base RemoveDirt function. To add to the confusion, RemoveDirt itself requires a version of RemoveDirt dll. The basic problem is that RemoveDirt was designed as both a scripted function and a dll with the same name. Users couldn't change the .dll, but they came out with all kinds of scripted "RemoveDirt" text versions. MAny of the RemoveDirtMC versions internally call a function named "TemporalDeGrain" -- which sad to say is the same name as a popular avsi plugin about 200 lines long. The original "MC" version was renamed "MC-SE2" with renamed internal functions to prevent conflicts. And so on, with multiple versions of other stuff. Plus old archived scripts that won't run in Avisynth 2.6. Etc., etc., etc. Will update later today. |
1 Attachment(s)
Quote:
Quote:
Quote:
Quote:
The rule about how Avisynth loads plugins from its plugins folder: - dll's load automatically as needed. - avsi's load automatically as needed. - avs plugins must be imported explicitly with the Import() function. So let's make some changes....... This is from the earlier STEP TWO script: Code:
#### STEP TWO #### If you called for RemoveDirtMC_SE instead of RemoveDirtMC, that's why you saw an error message. The parameter values for RemoveDirtMC don't work with the SE version. I never saw anybody use RemoveDirtMC_SE. If you try older cleanup scripts and routines such as from John Meyer or Didee or authors that use RemoveDirtMC, you'll have to change all their scripts because they don't call the SE version. I'm attaching a .zip file with the original RemoveDirtMC.avsi. You can have both of the following files files in your plugins: - RemoveDirtMC.avsi - RemoveDirtMC_SE.avsi Each has different internal function and routine names, so both can exist in the same folder. If your script calls for "RemovedirtMC" Avisynth will pick the one it needs. In my case I have so many versions of RemoveDirt that I keep them as .avs files and use "import" explicitly. Your folder is probably newer without all the old-timers that I have and still use. GradFun2dbMOD is in my system as avsi because it doesn't conflict with anything older (*yes, there are older versions of it). It's called by other big plugins -- notably, it's required for MCTemporalDenoise ("MCTD"). Like QTGMC, MCTD uses a bunch of support files, some of which are also used by QTGMC. I have three versions of QTGMC, old and new: 3.31, 3.32, and 3.33. So I keep them as .avs files and Import the one I need. Usually it's 3.32. The new STEP TWO replaces the slow nnedi3 resize routine with DeHalo_Alpha, which I included in the .zip along with LimitedSharpenFaster.avsi. DeHalo_Alpha can also be used with MCTD using a special parameter. New STEP TWO (the nnedi3 resize has been removed): Code:
#### STEP TWO #### - DeHalo_Alpha_MT2.avsi - LimitedSharpenFaster.avsi - RemoveDirtMC.avsi The name of the actual function in DeHalo_Alpha_MT2.avsi is DeHalo_Alpha, so just call it spelled "DeHalo_Alpha" as in the posted script. The "MT2" of the file name is just a version name. |
1 Attachment(s)
Thanks sanlyn.. to start out:
1) Why did you change the settings for "ChromaShift(L=-4,C=-4)" from "(C=-2)" and merge two lines entries into 1 line? 2) I see you also changed the line "LimitedSharpenFaster(edgemode=2)" and removed the "(strength=75," parameter? 4) and moved the "mergechroma" line? 5) And changed the QTGMC settings from "medium" to "slow" and the sharpness from "0.7" to "0.8"? 6) Also, the first line: "AssumeTFF().TFM().TDecimate()", what do you think about doing a bob/weave, where we process separate fields, and then later weave it back into one at the end,.. better/same/worse quality as a de-interlace? 7) Any chance we can add those lines from your dither script earlier? Maybe convert to 16-bit near the beginning, and then dither back down to 8 near the end? 8) Also, did you check out my newly uploaded new-capture in post #44 above? sharpness turned down, color seems "better"? Does this initially look like a better capture? Do you think the same chroma corrections still apply now? "The left-hand original shows shows such junk as the halos, but also fine grungy stuff in skin tones, green color bleed into skin tones (the guy's hairline and hand on the right), downward red shift on his shirt color, and both people have what looks like clinical cases of sunburn. Not sun tan, sun burn. Suntan is tannish, sunburn is pink. Black-green hair is annoying, too.I couldn't stand it -- had to work on color a bit. The woman has brown eyes." -I did make a change to the 'HSV Adjust' portion of your VDub filter setting, the hue was too green for this cap (but it worked well on the previous cap) 9) I've installed/fixed and made the script changes you recommended, so we went from 1fps to 7fps! :) Thanks for the additions/corrections/explanations man! P.S. here's a screen cap from another scene.. I don't know what the heck that is.. chroma ghosting on the chin?! :) http://i.imgur.com/71R8eGs.jpg |
@sanlyn,
Notice that I added .avsi to the forum attachments MIME settings. So you can attach avs and avsi both independently, zip not required. That's often what I do. .dll is too dangerous to be allowed on the server, so that one is still zip only. |
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
The dither toolset includes 2 avsi's, 2 dll's, 16-bit mods of dfttest and masktools2, and a few more optional modded plugins. The download package has a big html Help file. A web version of the help file with function listing and examples is here: http://avisynth.nl/index.php/Dither_tools. The doom9 thread and latest download news are here: http://forum.doom9.org/showpost.php?...59&postcount=3. I have the new video and image, and will look them over. |
2 Attachment(s)
Quote:
Quote:
However, the ATI is clipping blacks. I stopped to look back over some old threads here and elsewhere using that card, and the Hauppauge and Pinnacle USB's, They all do the same thing. In good conscious,, I can't recommend the card. I'll have to go back and eat dirt in numerous posts. I should test this stuff myself (and I will, too. I ordered two cheap USB capture devices today to see what they do). I should know better and trust my own instincts. The clipping is complicated because it seems to happen before the signal gets to VirtualDub. Below is a frame from the earlier ul1_avi, with no color corrections. Two white arrows in the image point to areas where darks are being clipped and produce patches of muddy junk. In the lower arrow, clipping makes darks turn reddish. Not easy to see in the ul1 because it's too dark to begin with. The white arrow on the right shows the clipping at y=16, which includes the black borders. http://www.digitalfaq.com/forum/atta...1&d=1461601241 Below is the same frame from your sgan4.avi post. Clipping effects are easier to see here because the image was brightend during capture. A small bit of detail in the hair was retrieved, but so was the hard clipping. The histogram shows the same clipping point including black borders. You can see that even though darks were brightened, clipping still occurs. The upper clipping turns darks green, the lower has red discoloring. http://www.digitalfaq.com/forum/atta...1&d=1461601406 There are other recommendations around, and msgohan might have some ideas. But before I ever recommend a budget card I'll use it myself. :hmm: A possible workaround is to use your AVT-0871 proc amp controls to brighten the image before it gets to the USB. The Brightness button controls blacks, the Contrast button controls brights. You should check the results in VDub's capture histogram. Use the "Crop" menu in capture to remove black borders so they won't throw you off. The core image-only content shouldn't produce a sharp, narrow left-hand spike in the histogram or flow into the red areas. You can tweak levels later after capture but you'd have to do that anyway. Once you get a more workable levels setting from the AVT, it'll probably work for most captures. Try another tape. The one you're working with now has too many problems for a test. The discoloring could very well be in the original. I'll be waiting to see what Amazon delivers in a couple of days. |
Quote:
|
2 Attachment(s)
Sanlyn lordsmurf msgohan thank you for all your awesome help!
Re: ATI USB-600 Capture card clipping black? (see post #58 above) I'm providing several examples in the attachments. Notes: 1) I used the 'DVE HD Essentials blu-ray calibration' disc S-video out from my blu-ray player into either: the Panasonic AG1980 S-Video (VCR) -> ATI USB600 (CapCard) *or* -> AVT-8710 (TBC) -> Panasonic 1980 S-Video (VCR) -> ATI USB600 (CapCard). File Breakdown: 2) "Simple Color Bars-Thru 8710 TBC-DEFAULT.avi" = the 8710's color bars through ATI-USB600 DEFAULT ProcAmp settings. ATI brightness 110 contrast 32 hue 64 saturation 32 sharpness 2 *all are default* 8710 *all default* 3) "Simple Color Bars-Thru 8710 TBC-CALIBRATED" = the 8710's color bars through my CALIBRATED ATI-USB600 ProcAmp settings. ATI brightness 108 contrast 32 hue 62 saturation 32 sharpness 1 8710 color +2 from 0 bright -2 from 0 contrast +3 from 0 all else default 4) "Adv Color Bars-DEFAULT.avi" = Blur-ray disc output w/all ProcAmp/8710 settings DEFAULT. 5) "Adv Color Bars-CALIBRATED.avi" = Blur-ray disc output w/all ProcAmp/8710 settings CALIBRATED. 4) Uploaded and attached in the next 2 posts 61-62 below are 5 commercially produced VHS examples where I tried to find a variety of 'blacks' on screen (ex1.avi thru ex5.avi), with all the same settings as "SGAN4.avi" you cited in post #58 above (ProcAmp+8710 calibrated) Interlaced, 704x472 (cropped), 29.97, Lagarith codec. |
Site design, images and content © 2002-2026 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2026 Jelsoft Enterprises Ltd.