digitalFAQ.com Forum (http://www.digitalfaq.com/forum/)
-   Project Planning, Workflows (http://www.digitalfaq.com/forum/video-workflows/)
-   -   Fix for problems running Avisynth's RemoveDirtMC (http://www.digitalfaq.com/forum/video-workflows/8655-fix-problems-running.html)

 sanlyn 04-20-2018 08:21 AM

Fix for problems running Avisynth's RemoveDirtMC

3 Attachment(s)
The Avisynth plugin RemoveDirtMC.avs is a popular denoiser that can clean general grunge, grain, some spots and some dropouts from video. Especially recommended for analog captures and DV compression noise. But some users have complained that trying to run the filter results in Avisynth error messages.

RemoveDirtMC requires some older Avisynth plugins hat are still in wide use and work with old and new versions of Avisynth from 2.5 onward. The siupport plugins required are in RemoveDirt v0.9 and RemoveGrain v1.0. These plugins come with multiple filters and are attached here as .zip files. The .zips also contain install instructions and original html docs.

In its ongoing effort to generate confusion, obsolescence, and general dissatisfaction, Microsoft in its infinite wisdom did not include VisualC v7.1 runtime libraries in Windows 7, 8, or 10. They also ceased supporting the runtimes on their website. So if you have programs, games, or video apps that require 2003 .NET and VC++ runtime files, you're out of luck.

But wait! Several geek sites and Microsoft expatriates found a simple solution. What you require are two .dll's, and fortunately the .dll's don't require registry entries. All you have to do is have them in your wobegotten Win7/8/10 systems. If you're using XP Sp2/Sp3, those .dll's will be present.

The two files are Msvcp71.dll and Msvcr71.dll. A .zip containing them is attached. All that's needed is to copy the two files into the following locations:
- In 32-bit Windows, both dll's belong in /System32.
- In 64-bit Windows, both dll's belong in /SYSWOW64
These two dll's are 32-bit only.

Try this website for pictures and more notes: https://www.addictivetips.com/window...-in-windows-7/

There are other efforts to get these files into later Windows systems, but unfortunately the older updates that installed them won't run in Win7 or later, or have been discontinued by Microsoft, and even if they run they install other files that you don't want anyway.

Of course, you can always upgrade to XP.
:)

 hofmand 09-27-2019 09:48 PM

I highly suggest using the official Microsoft Visual C++ redistributable packages available at this Microsoft link. It's easier and safer than copying dll's into your Windows directories.

 sanlyn 09-28-2019 06:34 PM

Those two dll's are not available from Microsoft and never will be again. They are available only with older system installs and with a few retail software products no longer in print.

If you find a link, go for it and post it here.

 hofmand 09-28-2019 10:17 PM

The "71" in files msvcrt71.dll, msvcp71.dll and so on means version "7.1" which is Visual Studio .NET 2003. Other version numbers are listed here. It's helpful to know what that "71" means when searching for the redistributables.

(The redistributables include the files msvcrt##.dll, mscvp##.dll, and so on.)

In this case, an Internet search found the restributables for v7.1 at the following two Microsoft links:

The reason we have to do this is because the Avisynth plugin was compiled against the v7.1 redistributables but the plugin did not package the necessary redistributables. It was simply laziness on the developer's part.

When the redistributable packs install dlls, they don't put them into C:\Windows\System32 or C:\Windows\SysWOW64 because there can be multiple versions of the same .dll filename, only one of which was tested with the application that needs it, and loading the wrong .dll can cause compatibility issues. Microsoft solved this "dll hell" by putting each version of the .dll into its own subdirectory of the WinSxS directory, and loading the correct .dll upon request.

When third party software installs redistributables, it can either package the whole redistributable installer(s) like at the two links above, or it can package just the .dll(s) and copy them into the application's own directory. It shouldn't copy the .dll(s) into C:\Windows\System32 or C:\Windows\SysWOW64 because of the "dll hell" problem described above.

I just tried installing the above two redistributable packs on my Windows 10 machine and they appeared to install successfully.

 sanlyn 09-29-2019 07:23 AM

Thanks for the links. I used to implement .net libraries in my programming days (what a pain in the neck!). Why Micro\$oft made these links so difficult to find isn't surprising, while having to install the whole 1.x framework to get one small dll isn't a surprise either. There was a time in the dim archeological past when "backward compatible" was possible, but that went down the river a long time ago. Thanks again.

 Winsordawson 04-04-2020 09:37 PM

I have installed all of the redistributable packages and the two .dll files listed above were already there. AvsPMod seems to recognize RemoveDirt because it comes up as an suggestion, but when I run it an error says that there is no function by that name. I am using Avisynth+ and have RemoveGrain. Any ideas?

 sanlyn 04-05-2020 08:48 AM

Quote:
 Originally Posted by Winsordawson (Post 67786) I have installed all of the redistributable packages and the two .dll files listed above were already there. AvsPMod seems to recognize RemoveDirt because it comes up as an suggestion, but when I run it an error says that there is no function by that name. I am using Avisynth+ and have RemoveGrain. Any ideas?

When you get Avisynth errors you should post your script. It looks as if you didn't import RemoveDirtMC.avs, which doesn't load automatically. Use a statement such as:
Code:

Import("Drive:\path\to\RemoveDirtMC.avs")
Correct the path statement above to indicate the location of the .avs script in your system.
http://avisynth.nl/index.php/Internal_functions#Import

 Winsordawson 04-05-2020 10:39 AM

Thank you for the reply. I know how to import a script but I can't even get to RemoveDirtMC because RemoveDirt() returns an error saying "There is no function called RemoveDirt()". But AVSPmod does recognize it as a suggestion while typing. I installed the newest version which is statically linked. My understanding was that RemoveDirtMC() was a modified version of RemoveDirt(). My script was just:

Code:

LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins+\RemoveDirt.dll") AVISource("file.avi") RemoveDirt() return last

 msgohan 04-05-2020 11:54 AM

AvsPmod includes a database of functions; the fact that it shows an autocomplete suggestion doesn't mean you have the filter installed. I've also found this confusing, at times.

https://github.com/AvsPmod/AvsPmod/wiki/Filter-database

 Winsordawson 04-05-2020 02:59 PM

Quote:
 Originally Posted by msgohan (Post 67796) AvsPmod includes a database of functions; the fact that it shows an autocomplete suggestion doesn't mean you have the filter installed. I've also found this confusing, at times. https://github.com/AvsPmod/AvsPmod/wiki/Filter-database
Thank you. I thought that the filters that pop up with a question mark inside a person are the filters that cannot be found. My RemoveDirt has a green check mark next to it. There are also some with a :) but I have no clue as to why.

 All times are GMT -5. The time now is 11:38 AM

Site design, images and content © 2002-2022 The Digital FAQ, www.digitalFAQ.com