Repairing Scratch and Dust in old film Update
I am restoring a collection of videos I have using Adobe Premier Pro, and found one feature sadly lacking, lacking as in no NLE editor I have found (short of the cost of a 747) has a really good one.
About 3 weeks ago (guessing) I posted about the best tool to repair scratch, dust, and hairs in old film stock that has been digitized. To my shock and horror, I found one such tool > $10k!
I've tested After Effects and it was not good enough for my purposes. I also tried Neat Video (a great denoiser), and it is more of a noise remover than scratches, dust, and hairs, which are dynamic in size and length.
Plugins specific to dust, hairs, scratches are very, very expensive.
So, being an old retired C++ developer (I'm almost 60 now), I set off to create a tool myself. I now have a functioning alpha, sans the actual repair code which I am just just starting. I'm approaching it from an engineers prospective. (Yes, I am guilty of being one as charged)
What I could use is a few folks willing to do some testing and critiquing for me.
It is written in C#, using Visual Studio 2015. It is and will continue to be heavily optimized. I chose C# over C++ (my favorite) is because of a lack of good tools to take apart the image without me having to code up my own codecs.
This version runs on any CPU, but I will be releasing it in native x32 and native x64 implementations, that run just as fast as C++ (at least in my tests).
The screenshot here shows "Amok Time" from Star Trek TOS being processed. It is a damaged film even coming from the DVD. It could have been anything.
This application has built in help for everything you see here...to explain what I am doing and to what.
I would appreciate the testers at this point, simply critiquing the GUI. What makes sense to me, may not make sense to professional digital artists. I am a hobbyist in this field, certainly not a graphics pro. All the pixel by pixel iterations is in place. The only thing lacking is the actual repair code which will be in a different thread of execution. So the speed will be the speed as it is here for the most part.
I will likely move the code that is currently iterating through the pic at the pixel level into a new thread so that the UI's responsiveness doesn't slow down.
I use Adobe Premiere Pro 2015 to do all the normal editing of my source film (post digitizing and cleaning up to the extent APP can do)and render it to an image sequence. The image sequence must be bmp files...at this time.
The app will be free (although closed source at this time) to this and other communities and private individuals, and then require a small license for commercial usage. It will not be expensive. Cost is unknown at this point until the app is finished and I know how much labor I have sunk into it.
Those interested in assisting me, please PM me. We will then exchange emails and I'll send the executable for critique.
This program expects that the individual doing the editing to have already mastered the video, all effects in, etc...before exporting this to an image sequence. Then this tool will process it, then the editor simply has to bring the fixed sequence back into APP, re-marry the sound track to it, render, then it is finished.
Eventually (once this tool proves to work as I envision it), I will then go through the learning curve of producing plugins for the major editors out there. Right now...it will be a stand-alone app while I get it's internals polished and working well.
Programming experience: 30+ years of C/C++. Applications down to device drivers. First Language: Assembler for the first 8 years. Platforms: FreeBSD, Windows. This tool at this time is a Windows app. Most folks run Windows, so I put aside my FreeBSD enthusiasm for now (I dual boot on my machine), so that the app can be of more practical benefit to the widest audience.
Oh...memory footprint: Using a 720P video, this tool is so aggressive at proper resource usage the it uses < 400Mb of memory. If you have a 4k image to process...this app will use ~1Gb of memory.
I thank everyone for reading this lengthy post, and look forward to hearing from the community.
Sincerely and respectfully,