Log in

View Full Version : Dogway's Filters Packs


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 [60] 61 62

Guest
24th May 2024, 05:18
Lol, please search google about High bit depths video and try add converttobit(16) or converttobit(32) and compare both of them again. SMDegrain build by Dogway for speed with High bit depths video not for 8 bit video only

I thought it was ConvertBits(16)....

http://avisynth.nl/index.php/ConvertBits

Emulgator
24th May 2024, 11:11
BTW, LouieChuckyMerry,
SMDegrain(Prefilter=SpotLess(),TR=3,ThSAD=500,RefineMotion=True,Plane=0,Chroma=False)
does not work, throws an error.
Prefilter=SpotLess() is not implemented this way within SMDegrain 4.6.0d

DTL
24th May 2024, 16:07
You may need to add SpotLess() function body to the script before call it or Import() .avsi file with this script function body.

Function SpotLess() is from https://forum.doom9.org/showthread.php?t=181777 .

LouieChuckyMerry
25th May 2024, 18:21
Lol, please search google about High bit depths video and try add converttobit(16) or converttobit(32) and compare both of them again. SMDegrain build by Dogway for speed with High bit depths video not for 8 bit video only


I'm working in 16-bit (see Post #2946 (https://forum.doom9.org/showpost.php?p=2002020&postcount=2946)), but will give 32-bit a try. Thanks.


I thought it was ConvertBits(16)....

http://avisynth.nl/index.php/ConvertBits


ConvertBits(Bits=16)

The above works for me.


BTW, LouieChuckyMerry,

does not work, throws an error.
Prefilter=SpotLess() is not implemented this way within SMDegrain 4.6.0d

It seems to work fine for me...

Emulgator
29th May 2024, 08:16
I see now. This argument takes a clip too, (this is possible, I found it in an old script being (last), and I was expecting an integer argument).

tormento
2nd June 2024, 17:44
I have always used PureVideo deinterlacer for IVTC from 29.97 to 23.974 by using

DGTelecide(mode=1, pthresh=3.5)
DGDecimate()

but I'd like to try something better.

What do you suggest me from your scripts without incurring in miserable performances?

I have a very old i7-2600k and a nVidia 1660 SUPER gpu and remember that I have to encode it too. :o

(I was looking at RIFE but I fear it's too heavy, mostly because of double RGB32 and back conversion and, above all, I have no idea if it's suitable for IVTC too)

rgr
4th June 2024, 17:08
it uses new plugin MostDiffVal.dll to run

Where can I download this plugin?

DTL
4th June 2024, 20:06
Latest version is https://github.com/DTL2020/MostDiffVal/releases/tag/0.2 .

But it can be replaced with Expr() call

Expr(avg, c1, c2, "x y - abs x z - abs >= y z ?")


It is slower with 8bit and may be 16bit because Expr() process always with float internally. But Expr() always available as AVS core function.

Guest
5th June 2024, 02:46
I'm looking for a simple script for adding a small transparent "watermark" image to a video clip. (eg:- like Netflix)

DTL
5th June 2024, 09:42
Try to load your image with alpha channel and use Overlay() - http://avisynth.nl/index.php/Overlay . If fixed opacity is enough - you can load RGB image without alpha channel and control with
float opacity = 1.0
Set overlay transparency. The value is from 0.0 to 1.0, where 0.0 is transparent and 1.0 is fully opaque. This value is multiplied by mask luminance to form the final opacity.

Or you can load grey mask as separate image too.

Guest
5th June 2024, 10:48
Try to load your image with alpha channel and use Overlay() - http://avisynth.nl/index.php/Overlay . If fixed opacity is enough - you can load RGB image without alpha channel and control with
float opacity = 1.0
Set overlay transparency. The value is from 0.0 to 1.0, where 0.0 is transparent and 1.0 is fully opaque. This value is multiplied by mask luminance to form the final opacity.

Or you can load grey mask as separate image too.

Thanks DTL, but how do I add a .png file as the "watermark" ??

TBH, on the RipBot264 thread, the dev provided a pretty fancy script that I cannot get to work as displayed:-

Script:-
https://forum.doom9.org/showthread.php?p=2002510#post2002510

Result:- (top right corner)
https://forum.doom9.org/showthread.php?p=2002513#post2002513

Completely stumped, and more annoying the op who asked for help, got it work first go :(

DTL
5th June 2024, 12:22
Try

logo=ImageReader("mylogo.png", fps=25, use_DevIL=true, pixel_type="RGB32")
Overlay(logo, x=10, y=10, opacity=0.2, mask=logo.ShowAlpha("yv12"))

Guest
6th June 2024, 02:22
Try

logo=ImageReader("mylogo.png", fps=25, use_DevIL=true, pixel_type="RGB32")
Overlay(logo, x=10, y=10, opacity=0.2, mask=logo.ShowAlpha("yv12"))


Thanks again, DTL,

I will see if I can get this work, but in the meantime, back on the RipBot264 thread, the op has found an issue that might be why I couldn't get that script to work.

It's an 8 bit vs 10 bit issue....

UPDATE:-

pdr came to the "rescue", it's working perfectly.

LouieChuckyMerry
18th June 2024, 00:21
Lol, please search google about High bit depths video and try add converttobit(16) or converttobit(32) and compare both of them again. SMDegrain build by Dogway for speed with High bit depths video not for 8 bit video only

I finally had some spare time to try 32bit input, but the resulting video is very, very, very dark, and when I check the github page (https://htmlpreview.github.io/?https://github.com/Dogway/Avisynth-Scripts/blob/master/SMDegrain/SMDegrain.html), it states "High bitdepth denoising: Supports AviSynth+ native HBD formats, from 8-bit up to 16-bit.". Are you able to input 32bit and return successful video?

Dogway
25th June 2024, 22:38
Thanks DTL, but how do I add a .png file as the "watermark" ??

I just updated Logo() which is for a simple Logo addition without any hustle on the mask handling, etc.

It allows for several modes, screen, multiply, watermark, or over, with opacity and fade in, fade out options.

The update was simply to default Chroma=true when "Over" mode (the default) was being used.

LouieChuckyMerry
14th July 2024, 20:24
I'm trying to put Deblock_QED to use in the DeblockPack.avsi and seem to actually have it functioning correctly, but wanted to make sure before I spend time testing it. My script is

Deblock_QED()
ConvertBits(Bits=16)
TemporalDegrain2()
CAS()
Neo_F3KDB(Y=100,Cb=100,Cr=100,GrainY=0,GrainC=0)

I found that putting the Deblock_QED call after converting to 16bits made for LSD flashback-style output; does this mean that it only accepts 8bit input?

Also, while gathering the needed dependencies for Deblock_QED in the DeblockPack.avsi, I encountered the plugin BlockDetect (https://github.com/Asd-g/AviSynthPlus-BlockDetect) and wondered what it does. Well, I can read what it does, but don't understand why it would be used. Thanks.

Guest
15th July 2024, 01:28
I posted on another thread, but got no response, and I come over here, and Louie is here, too :)

I would appreciate some advice on trying to remove the "spots" & artifacts with this video.
https://www.mediafire.com/file/hz00084l90t6p6b/spots.7z/file 142Mb
Regards

LouieChuckyMerry
15th July 2024, 03:51
FTLOY: Something's wrong with your link...

Edit: Also with the link on your SpotLess posts...

Guest
15th July 2024, 04:16
Thanks Louie , I checked, it's been restricted, I'll post it again as a .7z.

Cheers

DONE :)

tormento
17th July 2024, 21:34
I have a very strange issue:

SetMemoryMax()
SetCacheMode(0)
SetFilterMTMode("DEFAULT_MT_MODE", 2)
LoadPlugin("D:\Eseguibili\Media\DGDecNV\DGDecodeNV.dll")
LoadPlugin("D:\Eseguibili\Media\DGCube\DGCube.dll")
DGSource("M:\In 4k\Dune 4k 4000\dune4k.dgi",ct=280,cb=280,cl=0,cr=0)
libplacebo_Resample(1920,800,filter="ewa_lanczossharp")
libplacebo_Tonemap(src_csp=1, dst_csp=2, LUT="D:\Programmi\Media\AviSynth+\cube\2a_PQ4000_HLG_mode-nar_in-nar_out-nar_nocomp.cube")
SMDegrain (tr=3, thSAD=300, refinemotion=false, contrasharp=false, PreFilter=7, plane=4, chroma=true, mode="MDegrain")
fmtc_resample (css="420")
fmtc_bitdepth (bits=10,dmode=7)
Prefetch(2,6)

works, as well with prefilter=8 but with prefilter=6 I have alternating black and correct frame continuously.

Any idea?

Emulgator
18th July 2024, 01:25
Which KNLMeansCL version ? 12.11.2020 seems to work here. 1.1.1e by pinterf

tormento
18th July 2024, 07:44
Which KNLMeansCL version ? 12.11.2020 seems to work here. 1.1.1e by pinterf
Same version.

A simple script such as

SetMemoryMax()
SetCacheMode(0)
SetFilterMTMode("DEFAULT_MT_MODE", 2)
LoadPlugin("D:\Eseguibili\Media\DGDecNV\DGDecodeNV.dll")
DGSource("M:\In\The witch and the beast ~856p BDJP\01.dgi")
SMDegrain (tr=3, thSAD=300, refinemotion=false, contrasharp=false, PreFilter=6, plane=4, chroma=true, mode="MDegrain")
Prefetch(2,6)

works ok.

Dogway
22nd July 2024, 23:10
@tormento, I tried this only line for an upscale:
libplacebo_Resample(1920,800,filter="ewa_lanczossharp")

And it freezed avspmod. Using ffvideosource.

Emulgator
23rd July 2024, 00:37
This is my preamble.
SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetFilterMTMode("LWLibavVideoSource", 3)
SetFilterMTMode("LWLibavAudioSource", 3)
SetFilterMTMode("FFVideoSource", 3)
SetFilterMTMode("FFAudioSource", 3)
SetFilterMTMode("DGSource", 3)
SetFilterMTMode("InpaintDelogo", 3)
You want to set Source Filters MTMode to 3.

StvG
23rd July 2024, 08:18
@tormento, I tried this only line for an upscale:
libplacebo_Resample(1920,800,filter="ewa_lanczossharp")

And it freezed avspmod. Using ffvideosource.

Using the latest ffms2 and the latest avs_libplacebo - no issues, no freezing.

This is my preamble.
SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetFilterMTMode("LWLibavVideoSource", 3)
SetFilterMTMode("LWLibavAudioSource", 3)
SetFilterMTMode("FFVideoSource", 3)
SetFilterMTMode("FFAudioSource", 3)
SetFilterMTMode("DGSource", 3)
SetFilterMTMode("InpaintDelogo", 3)
You want to set Source Filters MTMode to 3.

If relatively recent versions of the filters are used, these calls does nothing. Well, they no harm but they just redundant. The reason - the recent plugins does set own MT mode. If you really want to change this internal plugin MT mode you must use SetFilterMTMode("....", force=true).
Also You cannot set the MT mode on script function calls, only on binary filters. (http://avisynth.nl/index.php/SetFilterMTMode#SetFilterMTMode) (SetFilterMTMode("InpaintDelogo", 3)).

tormento
23rd July 2024, 09:04
@tormento, I tried this only line for an upscale:
libplacebo_Resample(1920,800,filter="ewa_lanczossharp")

And it freezed avspmod. Using ffvideosource.


Try with v0lt’s VirtualDub2. Avspmod is a bit picky sometimes.

What gpu do you have?

tormento
9th August 2024, 14:57
How to apply SMDegrain to 444 video (it comes from a halfsized 1080 to 540)?

I have some issues, trying to use GPU prefilters.

Dogway
10th August 2024, 00:05
What kind of issues? I'm testing 960x540 @8bit with prefilters 6, 7 and 8. Seems ok an Avspmod, is it on encode? SMdegrain call.

tormento
10th August 2024, 00:25
What kind of issues? I'm testing 960x540 @8bit with prefilters 6, 7 and 8. Seems ok an Avspmod, is it on encode? SMdegrain call.
My bad, can't replicate. Will test further. :o

gispos
10th August 2024, 20:42
Try with v0lt’s VirtualDub2. Avspmod is a bit picky sometimes.
When and why ?

tormento
10th August 2024, 23:42
Why is a mistery to me.

When, sometimes when high GPU usage is required.

LouieChuckyMerry
12th August 2024, 15:22
Try with v0lt’s VirtualDub2. Avspmod is a bit picky sometimes.

Please, where would I find v0lt's VirtualDub2?

Guest
12th August 2024, 15:38
Please, where would I find v0lt's VirtualDub2?

Surely you've heard of Google ???

https://forum.videohelp.com/threads/414223-VirtualDub2-Fork-By-v0lt

https://github.com/v0lt/VirtualDub2

LouieChuckyMerry
12th August 2024, 16:19
FTLOY: Thanks for that. I did search for it but couldn't find it. Honest. It was late night-early morning and I was rather, er, happy, though, so probably not thinking clearly enough.

tormento
15th August 2024, 21:24
@dogway

This bug is true, easily reproducible. ;)

Get a UHD, Dovi or whatever, enough that it has a PQ stream.

Use:

SetFilterMTMode("DEFAULT_MT_MODE", 2)
LoadPlugin("D:\Eseguibili\Media\DGDecNV\DGDecodeNV.dll")
LoadPlugin("D:\Eseguibili\Media\DGCube\DGCube.dll")
DGSource("M:\In 4k\Mad Max - Furiosa\furiosa_804p.dgi",ct=276,cb=276,cl=0,cr=0)
z_ConvertFormat(width=1920, height=804, pixel_type="RGBP16", colorspace_op="2020:st2084:2020:limited=>rgb:st2084:2020:full", resample_filter_uv="Spline64", dither_type="error_diffusion", use_props=0)
DGCube("D:\Programmi\Media\AviSynth+\cube\PQ_to_HLG.cube", in="full", lut="full", out="full")
z_ConvertFormat(pixel_type="YUV420P10", colorspace_op="rgb:std-b67:2020:full=>2020:std-b67:2020:limited", resample_filter_uv="Spline64", dither_type="error_diffusion", use_props=0)
SMDegrain (tr=3, thSAD=300, truemotion=false, contrasharp=false, PreFilter=6, plane=4, chroma=true, mode="MDegrain")
Prefetch(2,6)

You can find the appropriate LUT in FranceBB github page.

It will give you alternating corrupted and black frames.

It doesn't work for prefilter=6 but it does for 7 and 8. Perhaps a KNLMeansCL bug, not yours.

Lucky38
22nd August 2024, 16:54
@Dogway

Will SMDgrain work better with this release of mvtools https://github.com/DTL2020/mvtools/releases? or it can't adavange new feature?

Emulgator
29th August 2024, 18:56
Some quickfixes on FillMissing 2.03
# FillMissing
# Based on script created by Did�e
# Based on script created by Did�e
# Modified by John Meyer on June 29, 2011
# Further modification on June 8, 2013
# Tdecimate modifications on October 26, 2021
# v1.10 - Updated and Sanitized by Dogway on Mar 05, 2019
# v1.21 - Updated and Sanitized by Dogway on May 18, 2021
# v1.30 - Further optimized (dcycle from DeJump) by Dogway on Jul 15, 2021
# v1.31 - Optimize for HBD by Dogway on Aug 15, 2021
# v1.32 - Remove GrunT dependency by Dogway on Oct 02, 2021
# v1.40 - BWmask bugfixes by Dogway on Oct 28, 2021
# v1.41 - Rebase with latest FrameRateConverter by Dogway on Jan 10, 2022
# v2.00 - Replace with RIFEwrap and hence an EX mod by Dogway on Feb 18, 2023
# v2.01 - Add 'sc=false' to RIFEwrap to force MI by Dogway on Feb 18, 2024
# v2.02 - Fix gpuid to gpu_id for RIFEwrap uses gpuid internally by Emulgator on Aug 28, 2024
# v2.03 - Fix for bitdepths >8bpc: Downconvert BWMask input to 8 bit and expand mask output afterwards to source bitness for ex_merge by Emulgator on Aug 29, 2024
#
# Dependencies:
# ExTools 10.4
# ResizersPack 12.1
# TransformsPack 2.2.1
# TIVTC
#
#
# - Create interpolated frames at 2x original frame rate using RIFE
# - Detect jumps
# - Create white mask at each jump point; black mask for all other frames
# - Repeat each frame of original video and use mask to "choose" between original video, or motion estimated video
# - Decimate exactly 50% to get back to original frame rate.
# - This decimation removes the dup frames from the original video and also the dups created by repeating each frame of original video
# - However, at each point where motion-estimated frame was inserted, no decimation occurs. Thus, if dups=drops, and the drop happens
# within < "cycle" (TDecimate parameter) of the dup, the dup will be removed and the drop will be filled.
# - If no drops or dups occur within "cycle," then no motion estimation happens, and decimation merely gets back to original,
# unchanged video.


function FillMissing(clip source, float "JumpThresh", bool "Fast", int "dcycle", bool "Show", int "gpu_id", bool "debug") {

source

fs = propNumElements("_ColorRange") > 0 ? \
propGetInt ("_ColorRange") == 0 : isRGB(source)

JumpThresh = Default(JumpThresh,0.8) # Threshold for detecting jumps. Increase to catch more jumps. Should always be less than 1.0
Fast = Default(Fast, true) # true for fast mode
dcycle = Default(dcycle, 20) # Decimation cycle
showdot = Default(Show, false) # true for troubleshooting; otherwise, false
gpu_id = Default(gpu_id, 0) # ID for the GPU to use
Debug = Default(Debug, false) # true for troubleshooting; otherwise, false

double = RIFEwrap(showdot ? Subtitle("***") : last, model=Fast ? 22 : 46, sc=false, gpuid=gpu_id)

# Remove comment from ShowMetrics, and change "return final" to "return test" to look at metrics in order to determine proper JumpThresh
src8 = ConvertBits(8, dither=-1, fulls=fs)
test = ShowMetrics(src8)

# Generate a white or black frame, depending on frame difference
Black = BlankClip( src8, Color_yuv=$000000, channels=0 )
White = BlankClip( src8, Color_yuv=$FFFFFF, channels=0 )

# This function returns a white clip whenever a big jump is detected; otherwise a black clip is returned
# Each YDiff must eliminate Ydiff=0 (duplicate) from moving average
BWMask = ScriptClip(src8, function [src8,JumpThresh,Black,White] () {
YDif1 = YDifferenceToNext(src8,2)
YDif1 = YDif1 < 0.2 ? YDifferenceToNext(src8,3) : YDif1

YDif2 = YDifferenceToNext(src8,1)
YDif2 = YDif2 < 0.2 ? YDifferenceToNext(src8,2) : YDif2

YDif3 = YDifferenceToNext(src8,-1)
YDif3 = YDif3 < 0.2 ? YDifferenceToNext(src8,-2) : YDif3

YDif4 = YDifferenceToNext(src8,-2)
YDif4 = YDif4 < 0.2 ? YDifferenceToNext(src8,-3) : YDif4

((YDif1 + YDif2 + YDif3 + YDif4) * 0.25 ) / (YDifferenceToNext(src8,-1) + 0.01) <= JumpThresh ? White : Black
})

# Generate the 2x framerate mask needed to choose the motion-estimated frames
themask = Interleave(Black,trim(BWMask,1,0)).ConvertBits(BitsPerComponent(source))

# Merge double framerate from original with motion-esimated frames, but only where there are jumps
# (i.e., original frames are used except at jump points)
ex_merge(Interleave(source,source), double, themask, luma=false, UV=3)

# Decimate half of all frames (set to twice the length of "normal" dup/drop cycle)
RequestLinear(clim=100)
dcycle = dcycle+dcycle%2
final = TDecimate(display=false, mode=1, cycleR=dcycle/2, cycle=dcycle, vfrDec=1, sdlim=0 )


return debug ? test : final }

#----------------
# This function displays the YDiff value that will be used for detecting big jumps
# Each YDiff must eliminate Ydiff=0 (duplicate) from moving average

function ShowMetrics (clip c, float "jumpthresh") {

ScriptClip(c, function [c] () {

YDif1 = YDifferenceToNext(2)
YDif1 = YDif1 < 0.2 ? YDifferenceToNext(3) : YDif1

YDif2 = YDifferenceToNext(1)
YDif2 = YDif2 < 0.2 ? YDifferenceToNext(2) : YDif2

YDif3 = YDifferenceToNext(-1)
YDif3 = YDif3 < 0.2 ? YDifferenceToNext(-2) : YDif3

YDif4 = YDifferenceToNext(-2)
YDif4 = YDif4 < 0.2 ? YDifferenceToNext(-3) : YDif4

YDiff = ((YDif1 + YDif2 + YDif3 + YDif4) * 0.25 ) / (YDifferenceToNext(-1) + 0.01)

Subtitle("Probability of frozen Frame= "+String(YDiff),y=26)
} )
Subtitle("JumpThreshold= "+String(jumpthresh),y=12)
}

rgr
3rd September 2024, 14:27
1. A link would be useful.
2. RIFE has two parameters for detecting and handling scene changes: sc and sc1. The latter is probably even more useful.

Lucky38
4th September 2024, 20:45
Hi All,

i'm look help with issue i have got: Source file is HDR with DolbyVision prof 8.1 and when i do resize 2160p -> 1080p i have got strange "halo" on man's head
https://imgur.com/a/AMFxDq7

this is my avisynth call:

SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetMemoryMax()
SetCacheMode(0)
ConvertBits(16)
deep_resize(1920)
SMDegrain(mode="TemporalSoften", tr=2, thSAD=300, thSCD2 = 100, prefilter=0, contrasharp=false, limits=false, refinemotion=true, LFR=true, DCTFlicker=true, Chroma=true, Truemotion=false, Search=3, pel=1)
ex_unsharp(0.3,Fc=width()/1.5,safe=true) # Remove some of the dreamy look
ex_unsharp(0.8,Fc=width()*1.6,safe=true) # Extra fine sharpness
GradFun3plus(thr=0.35, radius=10, mask=2, thr_det=2, elast=2, smode=0, UV=3)
ConvertBits(10,dither=1)
Prefetch(8,12)

no idea why its happening....

edit:

This call (default falues from StaxRip) give me the same result:


ConvertBits(16)
Spline16Resize(1920, 804)
SMDegrain(tr=2, thSAD=300, prefilter=-1, contrasharp=true, refinemotion=true)
LSFmod(defaults="slow", strength=100, Smode=5, Smethod=3, kernel=11, secure=true, Szrp=16, Spwr=4, SdmpLo=4, SdmpHi=48, Lmode=4, overshoot=1, undershoot=1, Overshoot2=1, Undershoot2=1, soft=-2, soothe=true, keep=20, edgemode=0, edgemaskHQ=true, ss_x=1.50, ss_y=1.50, dest_x=1920, dest_y=804, show=false, screenW=1280, screenH=1024)
ConvertToStacked()
GradFun3(thr=0.5, radius=12, mode=6, smode=1)
ConvertFromStacked()
Prefetch(8)

Guest
5th September 2024, 01:12
Hi All,

i'm look help with issue i have got: Source file is HDR with DolbyVision prof 8.1 and when i do resize 2160p -> 1080p i have got strange "halo" on man's head
https://imgur.com/a/AMFxDq7

this is my avisynth call:

SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetMemoryMax()
SetCacheMode(0)
ConvertBits(16)
deep_resize(1920)
SMDegrain(mode="TemporalSoften", tr=2, thSAD=300, thSCD2 = 100, prefilter=0, contrasharp=false, limits=false, refinemotion=true, LFR=true, DCTFlicker=true, Chroma=true, Truemotion=false, Search=3, pel=1)
ex_unsharp(0.3,Fc=width()/1.5,safe=true) # Remove some of the dreamy look
ex_unsharp(0.8,Fc=width()*1.6,safe=true) # Extra fine sharpness
GradFun3plus(thr=0.35, radius=10, mask=2, thr_det=2, elast=2, smode=0, UV=3)
ConvertBits(10,dither=1)
Prefetch(8,12)

no idea why its happening....

edit:

This call (default falues from StaxRip) give me the same result:


ConvertBits(16)
Spline16Resize(1920, 804)
SMDegrain(tr=2, thSAD=300, prefilter=-1, contrasharp=true, refinemotion=true)
LSFmod(defaults="slow", strength=100, Smode=5, Smethod=3, kernel=11, secure=true, Szrp=16, Spwr=4, SdmpLo=4, SdmpHi=48, Lmode=4, overshoot=1, undershoot=1, Overshoot2=1, Undershoot2=1, soft=-2, soothe=true, keep=20, edgemode=0, edgemaskHQ=true, ss_x=1.50, ss_y=1.50, dest_x=1920, dest_y=804, show=false, screenW=1280, screenH=1024)
ConvertToStacked()
GradFun3(thr=0.5, radius=12, mode=6, smode=1)
ConvertFromStacked()
Prefetch(8)

I certainly wouldn't call that a "halo", looks like some kid has scribbled around his head with a pencil....strange.

It would be interesting if you could post a sample of this video, so it can be tried by others.

Lucky38
5th September 2024, 08:53
I certainly wouldn't call that a "halo", looks like some kid has scribbled around his head with a pencil....strange.

It would be interesting if you could post a sample of this video, so it can be tried by others.

this is the sample

https://mega.nz/file/QIgm0JyZ#NJIcrqNcB3TTsnoD7jjRA_lKTdLwgx8ot1k9VxNLoA4

edit/update:

Deep resize use only with this deep_resize(1920) gives the same issue. changing settings to default for x265 and use old version of it x265-3.5+156+14-df2e4c31e-.Mod-by-Patman.-x64-avx2-msvc1937.7z do not solve issue.

Guest
5th September 2024, 11:36
this is the sample

https://mega.nz/file/QIgm0JyZ#NJIcrqNcB3TTsnoD7jjRA_lKTdLwgx8ot1k9VxNLoA4

edit/update:

Deep resize use only with this deep_resize(1920) gives the same issue. changing settings to default for x265 and use old version of it x265-3.5+156+14-df2e4c31e-.Mod-by-Patman.-x64-avx2-msvc1937.7z do not solve issue.

I have downloaded the sample, and it certainly hasn't got many issues, and certainly no "scribble" line around the guy's head.

What movie is that ??

To be clear, what is it that you're trying to achieve with this conversion ??

Some degraining & resizing down to 1080p ??

What app(s) do you prefer to use ?? (You mentioned StaxRip)

Lucky38
5th September 2024, 11:53
I have downloaded the sample, and it certainly hasn't got many issues, and certainly no "scribble" line around the guy's head.

What movie is that ??

To be clear, what is it that you're trying to achieve with this conversion ??

Some degraining & resizing down to 1080p ??

What app(s) do you prefer to use ?? (You mentioned StaxRip)

hi,

this is andor s01e01

i would like to do some degraining & resizing down to 1080p and sharpening using Staxrip.

when i do degrain, sharpening for 2160p this "scribble" is little visible when you go frame by frame.... When you encode with resize only looks more visible...

I use x265 medium in crf 18-20 (with custom settings) for both 2160/1080 but when i set crf 14 for 1080 it looks better..

have you downscale it during your test?

edit:

with LFR=false, DCTFlicker=false i see it when playing frame by frame but it is less visible compare to LFR=true, DCTFlicker=true

edit 2:

this setting --rskip 2 --rskip-edge-threshold 2 from x265 also highight this problem... without it is less noticable

Guest
5th September 2024, 13:28
edit:

with LFR=false, DCTFlicker=false i see it when playing frame by frame but it is less visible compare to LFR=true, DCTFlicker=true

edit 2:

this setting --rskip 2 --rskip-edge-threshold 2 from x265 also highight this problem... without it is less noticable

Having a closer look at your sample, I don't think much needs to be done to it, some of those "calls" are possibly not required, and it's messing up what should be a simple degrain & resize.

I will have a play with it in a few days...

Boulder
5th September 2024, 14:02
ConvertToStacked()
GradFun3(thr=0.5, radius=12, mode=6, smode=1)
ConvertFromStacked()
I don't think those Convert.. calls are needed. Use Dogway's GradFun3Plus instead of the old GradFun3.

Lucky38
5th September 2024, 17:17
I don't think those Convert.. calls are needed. Use Dogway's GradFun3Plus instead of the old GradFun3.


hi,

yes i know... i used old one to see if this issue could be related to some filters.... normally i use only Dogway's filters....

this is my last call and results:

SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetMemoryMax()
SetCacheMode(0)
ConvertBits(16)
deep_resize(1920)
SMDegrain(tr=2, thSAD=350, thSCD2 = 100, prefilter=0, contrasharp=false, rfilter=3, LFR=false, DCTFlicker=false)
ex_unsharp(0.3,Fc=width()/1.5,safe=true) # Remove some of the dreamy look
ex_unsharp(1.0,Fc=width()*2.0,safe=true) # Extra fine sharpness
GradFun3plus(thr=0.35, radius=10, mask=2, thr_det=2, elast=2, smode=0, UV=3)
ConvertBits(10,dither=1)
Prefetch(8,12)

https://mega.nz/file/hEYkFYKR#HVMjjn8RtME8fmv9smUbphvvi7Un07B7etJFtoosrxQ

x265:

--crf 18 --output-depth 10 --profile main10 --rd 4 --refine-mv 1 --aq-mode 3 --vbv-bufsize 17500 --vbv-maxrate 18000 --subme 5 --me star --max-merge 5 --weightb --bframes 6 --rc-lookahead 80 --ref 6 --min-keyint 23 --no-open-gop --master-display "G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)L(10000000,1)" --hdr10 --colorprim bt2020 --colormatrix bt2020nc --transfer smpte2084 --range limited --chromaloc 2 --dolby-vision-profile 8.1 --dolby-vision-rpu "E:\_temp\HDRDVmetadata.rpu" --repeat-headers --aud --hrd --limit-sao --selective-sao 4 --no-strong-intra-smoothing

and avs+ [INFO]: AviSynth+ 3.7.3 (r4003, 3.7, x86_64)

Boulder
5th September 2024, 18:48
I think you should try removing the filters one by one to see which one triggers what you see.

Lucky38
5th September 2024, 19:16
I think you should try removing the filters one by one to see which one triggers what you see.

i have alredy do in this way...

as i stated few post above during resizing to 1080p this issue accures more ( noticable ) than in 2160p...

strange think is that this issue is present only for this actor head...
next actor does not have this issue closly in his head....

this is my observation in his head motion...

Boulder
5th September 2024, 19:20
One thing is to change the resizer. Just try a regular Spline36Resize to see if it has the same effect. It's possible that the resampling kernel selected by deep_resize is not good for your source.

Lucky38
5th September 2024, 19:40
One thing is to change the resizer. Just try a regular Spline36Resize to see if it has the same effect. It's possible that the resampling kernel selected by deep_resize is not good for your source.

thx for sugestion... :)

x265 settings are the same like i have posted above...
my standard avisynth call with replaced resizer:

SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetMemoryMax()
SetCacheMode(0)
ConvertBits(16)
Spline36Resize(1920, 804)
SMDegrain(tr=2, thSAD=350, thSCD2 = 100, prefilter=0, contrasharp=false, rfilter=3, LFR=false, DCTFlicker=false)
ex_unsharp(0.3,Fc=width()/1.5,safe=true) # Remove some of the dreamy look
ex_unsharp(1.0,Fc=width()*2.0,safe=true) # Extra fine sharpness
GradFun3plus(thr=0.35, radius=10, mask=2, thr_det=2, elast=2, smode=0, UV=3)
ConvertBits(10,dither=1)
Prefetch(8,12)

results:

https://mega.nz/file/INIWBCSK#ptokbQLZfxkzNX1CWHAv-OPsD8jLHm6SXh3bv1_1Bt4

i still see this issue....