View Full Version : Restoring 16mm film in native 12-bit 2K+ resolution
egekhter
2nd October 2013, 06:02
I'm trying to push the envelope with film scanning and restoration.
Input files are 16mm film scanned into 12-bit DPX sequence at 2336x1752 res converted to prores 4444 12 bit files.
I can run these files in videofreds or John Meyers updated restoration scripts but I'm afraid I'm losing the benefit of 444 color space and 12-bit depth with the current limitations of these plugins.
What would be combinations of filters, plugins or scripts to support degraining/denoising, dust and dirt removal, blurring/sharpening, and the other functions in the current script that would retain NATIVE 4:4:4 and 12-bit?
Thanks.
Mug Funky
2nd October 2013, 06:52
the best you'll get is DaVinci Revival.
avisynth is limited to 8-bit. 16 using some hacky methods, but they necessarily don't lend themselves to heavy temporal filtering without destroying the extra bits (the lower bits are separated and stacked below the upper bits, giving a frame of twice the height. but filtering doesn't respect this arithmetic at all and the halves wont merge together meaningfully).
you can make effective use of de-spotting and denoising by blending the result with the original frames in your compositor/grading program of choice. i used to do this with SCRATCH back in the day - manually revealing the 8-bit, de-spotted version rather than attempting to use it's limited clone-brush tool.
if you have access to a film scanner you should have access to the necessary software as well (what gear does 12-bit? the Arriscan I used to command could do 16-bit linear uncalibrated tiff or 10-bit log dpx, calibrated using various wizardry). certainly the high-end scanners have support for kodak Digital ICE if you pay an exorbitant fee to enable the feature (storing dust-masks gathered from an extra surface sensor as side-car files).
Yellow_
2nd October 2013, 07:15
Was going to suggest Dither Tools but as mentioned its intensive for temporal stuff. 12bit prores is 10bit plus the alpha channel isn't it, so 12bit chain is a misnomer? There's no alpha channel in a film scan? 10bit would surfice but inevitably scaling to 16bit will be the route?
egekhter
3rd October 2013, 03:29
Was going to suggest Dither Tools but as mentioned its intensive for temporal stuff. 12bit prores is 10bit plus the alpha channel isn't it, so 12bit chain is a misnomer? There's no alpha channel in a film scan? 10bit would surfice but inevitably scaling to 16bit will be the route?
Will check out dither tools. Definitely native 12 bit. DPX log 12-bit off the sensor. Prores 4444 is created in Resolve which is also 12 bit from additional research.
As for the Revival recommendation, I've heard that software hasn't been updated in like 6 years, which makes it older than some of the plugins we're using here - go figure.
Resolve on the other hand is a great product but dust removal is a very manual process.
If anyone is interested about developing the solution I need above, I would be happy to sponsor such a developer in AVISynth land and be happy to keep all the results open source. Feel free to pm me or email info at pixcel dot com.
egekhter
3rd October 2013, 03:46
Additionally, if somebody can recommend a developer or two that could possibly figure out a solution that would be appreciated. Thanks.
18fps
3rd October 2013, 09:49
I have used Diamant and while it has some very good tools (the deflicker, for instance), the denoise filter doesn't protect the moving objects as well as avisynth with its plugins does. That's why I'm always dreaming about an avisynth (with the main plugins) fully capable of 16 bits processing.
Undead Sega
4th October 2013, 00:54
I would say onroute for a 16bit AviSynth!
I actually plan to do a very similar project to the OP's :D
Mug Funky
7th October 2013, 01:00
it might be better looking at vapoursynth for higher-than-8-bit toolage. there's a lot of development left to do, but you don't need much for de-spotting, and if the masked merging can be done in 16 bit, the actual motion-compensation-despotting can be done in 8 bit and you wont miss much as the replacement data is made-up anyway.
what scanner you using there? i'm curious.
manono
7th October 2013, 02:13
I have used Diamant and while it has some very good tools (the deflicker, for instance)...
I apologize for being off topic, but I had a look at their DFlicker Before And After (http://www.hs-art.com/files/diamant/samples/DFlicker.swf) and I could really use something like that with this old film project I'm working on now. There's no way to do this in AviSynth, perhaps by specifying a range of frames for which you want the same luma average? Or are there other, perhaps less expensive, software solutions to this?
Mug Funky
7th October 2013, 03:37
you could possibly abuse temporalsoften - a low scenechange threshold combined with very high noise thresholds, then use the result to compare against with scriptclip and averageluma? you'd probably need to do it on a lowpassed clip as auto-scaling like this almost never gives a uniform average, given that the flicker existed before any contrast and gamma correction in the transfer.
i can dream something up, but in reality it could be difficult to make work transparently.
manono
9th October 2013, 00:11
Thanks for the reply, Mug Funky. Although such a filter wouldn't be of much interest to those who work with more modern material, for fans of the 'classic' films something like Diamant's DFlicker filter for AviSynth would be a godsend. We have so many other good filters that rival or even surpass the commercial ones (18fps mentioned the temporal cleaners AviSynth has), that an AviSynth version of it would prove very useful.
Should anyone want to try and create one, I'd be happy to provide test material.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.