This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

DeepEnhancer
#41
L4cache proposed a patch to fix the problem: #1120

I ported the patch to R68 (see attachment).

I tested it and is working, finally the CRASH in vspipe are gone!

Dan


Attached Files
.zip   vspipe_R68.zip (Size: 629,28 KB / Downloads: 4)
Reply
#42
Similar to DeepEnhancer, I recall I saw this script years ago by videoFred that also had very impressive output
https://www.youtube.com/watch?v=j2JlZdeoMNk

more info here:
https://forum.doom9.org/showthread.php?t=144271
Reply
#43
Quote: I tested it and is working, finally the CRASH in vspipe are gone!
Newer dev Hybrid versions add
os.environ['TLLM_LOG_LEVEL'] = 'error'
which also seems to fix the problem.

I like videoFreds scripts, but I doubt you will be able to reproduce his results without lots of work and understanding of video and Avisynth.
(to me that has nothing to do with DeepEnhancer)

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#44
Hi zspeciman and Selur,
I just wanted to sincerely thank you both for discussing Fred’s scripts, especially in the following thread:
https://forum.doom9.org/showthread.php?t=174298
I've been waiting for years for the release of his full 2017 script, but unfortunately, there hasn’t been any official update since then. I tried to recreate it myself based on the steps he described, but without much success. Here's the version I managed to put together:

# Load the source video
video = AVISource("path_to_your_video.avi")

# Apply RemoveDirtSMC to clean the video
video = video.RemoveDirtSMC()

# Apply GamMac for gamma and color correction
video = video.GamMac()

# Stabilize the video using DePanStabilize
video = video.DepanStabilize()

# Adjust colors with Tweak (6x tweak() to isolate color ranges with startHue and endHue)
video = video.Tweak(sat=1.0, hue=0.0, bright=0.0, cont=1.0, coring=false, startHue=0, endHue=360, maxSat=255, minSat=0)
video = video.Tweak(sat=1.0, hue=0.0, bright=0.0, cont=1.0, coring=false, startHue=60, endHue=180, maxSat=255, minSat=0)
video = video.Tweak(sat=1.0, hue=0.0, bright=0.0, cont=1.0, coring=false, startHue=180, endHue=240, maxSat=255, minSat=0)
video = video.Tweak(sat=1.0, hue=0.0, bright=0.0, cont=1.0, coring=false, startHue=240, endHue=300, maxSat=255, minSat=0)
video = video.Tweak(sat=1.0, hue=0.0, bright=0.0, cont=1.0, coring=false, startHue=300, endHue=360, maxSat=255, minSat=0)
video = video.Tweak(sat=1.0, hue=0.0, bright=0.0, cont=1.0, coring=false, startHue=0, endHue=60, maxSat=255, minSat=0)

# Color adjustment with RgbAdjust
video = video.RgbAdjust(r=1.0, g=1.0, b=1.0)

# Apply McDegrainSharp for denoising and sharpening
video = video.McDegrainSharp()

# Special sharpening with UnsharpMask and blur
video = video.UnsharpMask(radius=3)
video = video.Blur(1.0)
video = video.UnsharpMask(radius=2)
video = video.Blur(1.0)
video = video.Sharpen(0.5)

# Return the processed video
return video
Thanks again for keeping Fred’s work alive and for all your efforts. If you happen to have more parts of his original script or additional notes, I’d be truly grateful to see them!
Best regards,

Hi zspeciman and Selur,

I just wanted to say something that moves me every single time I watch it:
👉 https://www.youtube.com/watch?v=j2JlZdeoMNk

The result is absolutely incredible. The clarity, the motion smoothness, the overall aesthetic — it’s all simply breathtaking. It genuinely brings tears to my eyes, like watching history come alive with an almost surreal realism.

Do you happen to know if this was achieved solely using Fred’s script? Or were there other tools, filters, or enhancements involved? I’ve tried to reproduce something close based on his public notes, but unfortunately, I haven't been able to match this level.

Any insights or suggestions would mean a lot. Thank you both for keeping this legacy alive.

Best regards,
Reply
#45
He, probably use specially adjusted values, since his source is already a really nice capture (no halo, color shift, strong distortions,...) it's hard to reproduce the same result with less proper captured content. Wink
(Sadly there is no TemporalRepair port for Vapoursynth)
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#46
Assuming that you are able to download from YouTube the clip: film restoring 1967 2 videofred.mp4
You should obtain a clip with: color space: YUV420P8, bit depth: 8, resolution: 2560x954, frame rate: 18fps

In this post I attached the following files:

- film_restoring_videofred_simple.zip: contains
     1) a simplified version of FRED script using VapourSynth: film_restoring_videofred_simple.vpy
     2) the restored clip using the provided VapourSynth script : film_restoring_videofred_simple.mp4 

- Fred_Avisynth_dll.zip: contains the Avisynth dll for ColorYUV and Autolevels
  Unfortunately it is missing in VapourSynth a true replacement for these filters and is necessary to use them since most of the "magic" is performed by these filters.
  I put them in the folder "./Hybrid/64bit/Fred" fell free to put the dll where you want, but you need to adjust the path in the Vapoursynth script.

In Hybrid there are better cleaning filters, in this case I used RealESRGAN x2plus with TensorRT enabled (the first time it will take about 5min to generate the RT file cache)

The result is very near to the one provided by FREAD on YouTube (see film_restoring_videofred_simple.mp4)

I hope that this helps

Dan


Attached Files
.zip   film_restoring_videofred_simple.zip (Size: 3,51 MB / Downloads: 5)
.zip   Fred_Avisynth_dll.zip (Size: 86,94 KB / Downloads: 3)
Reply
#47
In the case there is interest in replicating the script I uploaded to archive.org the clip: film-restoring-1967-2-videofred

I tried to use the avs scripts provided by the author, more precisely this one: 01_C_Film_Restoring_Blending_Cleaning_Only.avs

I was able to obtain the following picture

 [Image: attachment.php?aid=3077]

while in the clip provided on YouTube the resolution/quality is better

[Image: attachment.php?aid=3078]

So it seems the restored clip was obtained using different settings.

In any case it is necessary to admit that AVS is still superior respect to Vapoursynth regarding the color/stabilization filters.

Vapoursynth has the advantage to support AI filters, but it could useful if Vapoursynth will be able to expand the support to AVS filters.

The list of AVS filters whitelisted in avisynth_compat.cpp is still limited.

For example are missing: AutoLevels and ColorYUV2.

Dan


Attached Files Thumbnail(s)
       
Reply
#48
I didn't see a link to the source.
What is your source?
Are you using the left side of the youtube clip as source? If you do, I would not be surprised that you can't reproduce the effect.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#49
Hi Dan,

What a fantastic result again—you always work your magic, Mr. Dan! ✨
Thank you so much for the test using the film_restoring_videofred_simple.vpy script and for providing the restored clip.

Your VapourSynth adaptation really captures the essence of the original Avisynth version (01_C_Film_Restoring_Blending_Cleaning_Only.avs).
That said, this script goes back to 2012—since then, Fred actually developed a newer, unpublished version around 2017, where he shared the processing steps in this post:
🔗 https://forum.doom9.org/showthread.php?t=174298

According to Fred, the improved chain was:

RemoveDirtSMC()

GamMac() (wonderful filter—thanks to Stainlesss!)

DePanStabilize()

Tweak() (6x, separate hues using starthue and endhue)

RgbAdjust()

McDegrainSharp()

Special sharpening sequence:

UnsharpMask(radius=3)

blur

UnsharpMask(radius=2)

blur

Sharpen() (final pass)

Also, I've attached a screenshot (from one of Fred’s videos) showing the plugins used in his Avisynth setup for reference.

Thanks again for your generous help and for breathing new life into these old scripts!

Best regards,

Also, here's an excellent source video available up to 2K in Fred Vimeo showcasing results:
🔗 https://vimeo.com/202913632


Attached Files Thumbnail(s)
   
Reply
#50
(Yesterday, 12:43)Selur Wrote: I didn't see a link to the source.
What is your source?
Are you using the left side of the youtube clip as source? If you do, I would not be surprised that you can't reproduce the effect.

Cu Selur

The only source is the clip on YouTube, and yes, I'm using the left side of the clip.

Dan
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)