Novice encoder here with a first time post. I am consistently seeing some artifacts in newer DVD releases that have me stumped. I'm loathe to post about it because it's so consistent that I'm sure it must be a well known thing - except I just can't seem to Google the right way to get to the thread or article about it. I'm happy to follow any links you might have if you don't feel like retyping some tired old answer.
In all the more modern anamorphic widescreen DVDs I've ripped with MakeMKV, there is some kind of microbanding or something at the top and bottom edges of the video content right next to the letterbox border. I've attached a snap from VLC for Bladerunner 2049 that shows it. In the upper left hand corner is a red box highlighting the artifacts. I've also included a zoomed-in pic. As you can see, it's like some 1px luma stripes, and they extend into the letterbox area as well as the content, and gradually fade. In some films, they're very distracting because they make bright colors really stand out like a neon stripe.
This screenshot is from the MPEG-2 rip right out of MakeMKV. It's present in every modern release I have: 28 Years Later, Alien Romulus, Blade Runner 2049, Edge of Tomorrow, Quantum of Solace. They're even in a recent release of Alien, and a 2006 release of The Good, The Bad, and the Ugly - and those are ancient. I haven't noticed it in older 16:9 or 4:3 releases.
I do not have a regular DVD player that I can hook up to a TV and check to be sure.
My question: What is this and how do I fix it? I'm hoping it's just some setting or filter I can turn on. I don't know that I'm ready to jump into amateur remastering.
Thanks!
+ Reply to Thread
Results 1 to 10 of 10
-
-
It's resampling artifact caused by a negative lobe resampler (someone downscaled not ideally)
One way to address it is avisynth - crop letterbox borders, filter top and bottom frame edges with bbmod, then add back the borders
bbmod function can be found in balanceborders
https://github.com/realfinder/AVS-Stuff/blob/master/avs%202.5%20and%20up/BalanceBorders.avsi
The script would look like this
Code:#source filter #make sure it's progressive or IVTCed if telecined Crop(0,58,0,-62) bbmod(ctop=4, cbottom=4) AddBorders(0,58,0,62)
-
I finally had some time to spend on AviSynth. Things look a lot better, but not nearly as impressive as your sample image. I'm currently previewing changes in VLC (not VDub, etc.) - not sure if that might make a difference.
With BalanceBorders, there are still some faint lines in the corners (which is OK) but also smearing of the sweater knit (not great).
I located an actual `bbmod` function, and it looks better than BalanceBorders on both counts. Unfortunately, it creates an ugly effect where it blends the guy's neck into the sweater collar (first pic). A still image doesn't do it justice; in motion it's pretty bad. Maybe it needs more tuning, IDK.
I also found a guide that pointed me toward FixBrightnessProtect3 (second pic). It's a lot more hassle but doesn't appear to have any smear or bleed problems. The flesh-colored pixel line that's in the FixBrightnessProtect version is also in the original, unfortunately. This is about as close as I've come to your sample pic so far.
Here are my scripts:
Anyway, thanks for pointing me in the right direction.Code:Crop(0,58,0,-62) #BalanceBorders(4,4,0,0) #bbmod(ctop=4, cbottom=4) # Fix Brightness: FixRBr([0,1,2,3,4], [11,-4,4,0,1]) FixRBr([359,358,357,356,355], [4,-5,3,-1,0]) AddBorders(0,58,0,62)
-
Note that halos like that will return if you use any compression codec that uses the Discreet Cosine Transform (DCT) -- which is pretty much all the high compression codecs.
-
Sorry, I think I posted the wrong link , bbmod isn't even in that link , but I think you eventually found the correct function link in bborders.avsi
The filters all have various pros/cons . If one filter works well on this scene, maybe it will do worse on another scene. Likewise for other filters, there are probably a few others like edgefixer that you can try. You might have to apply different filters for different scenes if you want the best results
Or even better, a higher quality release like BD / UHD BD shouldn't have them.
You can demonstrate that particular artifact is a direct result of downscaling with borders (using a kernel like lanczos), instead of taking original clean master, downscaling then letterboxing afterwards. It's a production error that shouldn't happen -
The blu ray route has crossed my mind more than once, especially with Black Friday coming up. I started this adventure on some naive thought that I could just rip a few old DVDs I had to a thumb drive as easily as a CD, and then direct play them through our Roku. And that lead down some rabbit holes, picking up even more DVDs, and now wondering who I am and what I've become.

It looks like this video at least might have a happy ending. The rektlvls solution looks decent across two 10-minute segments. It's not perfect but at least it doesn't draw attention like the original video. I switched to VapourSynth which was surprisingly easy to get going on Windows 11:
Setup:
Transform:Code:# Winget includes all prerequisites, even 64-bit python winget install vapoursynth # Install plugins pip install rekt pip install awsmfunc python vsrepo.py install bestsource
This probably doesn't make for a great workflow but it was very quick to go from "zero" to "dabbling". I'm still tweaking a little and had a thought to pair rektlvls with bbmod to suppress the brightness lines, then very gently smooth colors. Not sure yet; it's almost good enough as-is. Or maybe a USB blu ray drive is mercifully in my future.Code:# VS script "test.vpy" from vapoursynth import core from rekt import rektlvls #import awsmfunc as awf video = core.bs.VideoSource(source='Blade Runner 2049.mkv') video = core.std.Crop(video, top=58, bottom=62) video = rektlvls(video, rownum=[0,1,2,359,358,357], rowval=[10,-5,4,4,-4,3]) #video = awf.bbmod(video, left=0, right=0, top=5, bottom=5, thresh=3, blur=1200, u=False, v=False) video = core.std.AddBorders(video, top=58, bottom=62) video.set_output(index=0) # Output stream to FFMPEG for preview vspipe -c y4m test.vpy - | ffmpeg -i - -ss 00:14:00 -t 600 -crf 18 encoded.mkv
-
@Intermodiate: Interesting, I didn't know winget now knows VapourSynth. Does this install a global Python Environment or is it a portable VapourSynth?
users currently on my ignore list: deadrats, Stears555, marcorocchini -
It appears to support both. Yesterday I used the defaults, which put everything in `AppData`. I just uninstalled it tried a global install (`--scope machine`) and both Python and Vapoursynth appeared in `ProgramFiles`. Even so, PIP still puts packages in the user path, and then complains about the %path% being wrong. I'm unfamiliar with Python so IDK if that's normal or a remnant of the previous install.
Edit: FWIW, winget also knows AviSynth+ and that was global by default. -
Thanks for the info.
Probably a remnant of the previous installation.users currently on my ignore list: deadrats, Stears555, marcorocchini
Similar Threads
-
AG-1980 Artifacts
By AdamJellicorse in forum Capturing and VCRReplies: 16Last Post: 9th Apr 2023, 17:27 -
80s VHS Cleanup Green Lights, Horizontal Striping
By SupraGSX in forum RestorationReplies: 13Last Post: 14th Nov 2022, 07:50 -
Crop interlaced 4:3 letterbox to 16:9 DVD
By dave_van_damme in forum Video ConversionReplies: 55Last Post: 8th Jun 2022, 17:56 -
Creating artifacts,....
By Selur in forum Newbie / General discussionsReplies: 20Last Post: 7th Sep 2021, 14:06 -
Magix batch conversion applying letterbox to video
By stantheman1976 in forum Video ConversionReplies: 4Last Post: 13th Jan 2021, 17:20



Quote