got a new betacam transfer setup. it records 10 bit video. i get dropouts from time to time so i captured the tapes three times and loaded all the captures in avisynth and averaged them out with the median filter. however, it looks like it only supports 8-bit video. 10-bit video gives me dot artifacts. converting everything to 8 bit fixes it but i don't want to do that if possible. is there an alternative to the filter that works with 10 bit video? i tried the average filter, but i get a green screen.
+ Reply to Thread
Results 1 to 5 of 5
-
-
Hi, the original filter didn't include 10-bit support - as I didn't have any such material myself - but TomArrow did make an updated version (0.6) later which should have RGB64 support. There is also a VapourSynth port which should include the same improvements.
http://avisynth.nl/index.php/Median
https://github.com/pinterf/AjkMedian
If you are already using one of these versions and still getting the dot artifacts, perhaps there is an actual bug in the code. If you have some sample clips I might be able to look into this at some point, but no promises, I've not touched the project for a while now
-
hi! that's the version i'm using.
i think i figured it out. one of my clips was shifted to the right a few pixels. converting all the clips to 16 bit or 8 bit before they're passed through median fixed the artifacts initially, and then shifting the image of the problematic clip fixed it in 10 bit. i'll send you some clips to check out anyways incase this is a bug or intended.
https://mega.nz/folder/fxdQhboB#g_1k3k4gr391YBcLiWtzYQ -
Thanks for the samples, I have downloaded them for future reference.
Having one of the clips out of spatial alignment will certainly explain any strange artifacting. The filter is pretty straightforward in its processing and relies on all the input clips matching perfectly (apart from the analog noise itself, of course).
I'm not sure why converting to a different bit depth helps, it really shouldn't have any effect on the alignment, but I suppose the important thing is that you got the process to work now. -
Typical solutions with temporal-median filters is to Interleave->Process->SelectEvery.
Very fast 3 samples median is Clense filter (from RemoveGrain tools). Hope it is HBD support already.
So for Clip1, Clip2, Clip3
Interleave(Clip1, Clip2, Clip3)
Clense
SelectEvery(3,1)
For more clips support may be used MedianBlurTemporal (disable spatial processing if needed, may be old and not support HBD ?) or vsTTempSmooth(pmode=1, ythresh=255) (it is very close to median but may be not completely).
Also new plugin started AveragePlus - it will have direct multi-clips input for different types of statistical processing (include export of vsTTempSmooth(pmode=1)) supporting any number of input clips >=3 (even number also). No builds yet avaialble.
For more complex restoration may be used RIFE near frames interpolation to fix single/local defects with some denoise action too - https://github.com/Asd-g/AviSynthPlus-RIFE
With 1.3.0 version it is possible to request asymmetrical interpolation of -1, +2 or -2, +1 frames in addition to symmetrical +-1, +-2 and feed to same median-like engines like vsTTempSmooth(pmode=1) or MedianBlurTemporal or even mvtools2 (post 2.7.45 versions with median-like modes in MDegrainN).
Examples:
ConvertToPlanarRGB(bits=32)
# Old symmetrical frames
#tr=1
den_tr1=RIFE(denoise=true, denoise_bf=1, denoise_ff=1, model=73)
#tr=2
den_tr2=RIFE(denoise=true, denoise_bf=2, denoise_ff=2, model=73)
#2 new asymmetrical frames with better quality in comparison with tr=2
den_m1p2=RIFE(denoise=true, denoise_bf=1, denoise_ff=2, model=73)
den_m2p1=RIFE(denoise=true, denoise_bf=2, denoise_ff=1, model=73)
#process with some temporal-median engine
# all interpolated frames + source - max denoise, less details
Interleave(den_tr1, den_tr2, last, den_m1p2, den_m1p2)
ConvertToYUV444()
vsTTempSmooth(pmode=1, maxr=2, ythresh=255)
SelectEvery(5,2)
#no tr=2 worst frame, low denoise, more details
Interleave(den_tr1, den_tr1, last, den_m1p2, den_m1p2) # more weight to best tr=1 frame
ConvertToYUV444()
vsTTempSmooth(pmode=1, maxr=2, ythresh=255)
SelectEvery(5,2)
# even less denoise, more source details
Interleave(den_tr1, last, last, den_m1p2, den_m1p2) # more weight to input frame
ConvertToYUV444()
vsTTempSmooth(pmode=1, maxr=2, ythresh=255)
SelectEvery(5,2)
#no input frame - only 3 interpolated
# average denoise, average details
Interleave(den_tr1, den_m1p2, den_m1p2) # equal weight to all interpolated frames
ConvertToYUV444()
vsTTempSmooth(pmode=1, maxr=1, ythresh=255)
SelectEvery(3,1)
The currently not completely solved issues for RIFE and interlaced frames processing is best quality field-sequential processing with fixed inter-fields vertical interpolation by RIFE. So it is still partially usable for interlaced transfers and best used for progressive (film).Last edited by DTL2023; 25th Feb 2026 at 17:00.
Similar Threads
-
QTGMC working with 32-bit avisynth but not 64-bit
By pooksahib in forum Video ConversionReplies: 3Last Post: 7th Dec 2025, 16:08 -
What has better quality - DTS Core @ 24 bit or FLAC @ 16 bit
By vash1 in forum AudioReplies: 3Last Post: 25th Nov 2025, 13:44 -
64-Bit AVISynth - Any Comparable Filter for 32-bit "Chromashift"?
By Alwyn in forum RestorationReplies: 20Last Post: 4th Jul 2025, 13:48 -
Median Filter - Glitches Only In Encoded Video?
By ENunn in forum RestorationReplies: 6Last Post: 20th Mar 2025, 06:20 -
Staxrip possible to rendering in 422 10 bit instead of 420 8 bit ?
By Atillart in forum Video ConversionReplies: 4Last Post: 9th Aug 2024, 08:51


Quote