Log in

View Full Version : "Access Violation" Error when TemporalDegrain2 postFFT Parameter Increased by One


colokate
24th November 2025, 19:30
Hello!

Recently I have been having AviSynth+ issues with scripts throwing the following error: "System exception - Access Violation". I suspect that my laptop may not have enough memory to execute anything more than a basic script. I try to respect limited system memory by only loading the DLLs and AVSI scripts that I need.

In this script, the exception is thrown if I change postFFT=1 to postFFT=2.

#---Denoise Parameters
degrainTR=4
postFFT=1 <---Change Here
postSigma=1


May I ask if any forum members may have a suggestion on how I can address the error? Details are provided below.

Thank you!
colokate


Basics:
Windows 11 Home
Processor: 12th Gen Intel i7-1280P
Graphics Card: 128 MB
RAM: 16.0 GB

Script Line where Error is Thrown:
denoised=deinterlaced.TemporalDegrain2(degrainTR=degrainTR, postFFT=postFFT, postSigma=postSigma)

AVSMeter64.exe Results When postFFT=2:
AVSMeter 3.0.9.0 (x64), (c) Groucho2004, 2012-2021
AviSynth+ 3.7.5 (r4289, 3.7, x86_64) (3.7.5.0)

System exception - Access Violation
(C:\Users\xxx\Documents\AviSynthPlus\x64\TemporalDegrain2.avsi, line 450)
(C:\Users\xxx\Documents\AviSynthPlus\x64\TemporalDegrain2.avsi, line 418)
(C:\Users\xxx\Documents\WorkingScripts\Video8Script.avs, line 81)

AVSMeter64.exe Results When postFFT=1:
AVSMeter 3.0.9.0 (x64), (c) Groucho2004, 2012-2021
AviSynth+ 3.7.5 (r4289, 3.7, x86_64) (3.7.5.0)

Number of frames: 1119
Length (hh:mm:ss.ms): 00:00:37.337
Frame width: 720
Frame height: 960
Framerate: 29.970 (30000/1001)
Colorspace: YV12

Frame (current | last): 1 | 1118
FPS (cur | min | max | avg): 0.074 | 0.074 | 0.074 | 0.074
Process memory usage: 268 MiB
Thread count: 76
CPU usage (current | average): 27.2% | 27.2%

Time (elapsed | estimated): 00:00:13.436 | 04:10:34.884

Script:
#---BASIC VIDEO8 RESTORATION SCRIPT
#---24 November 2025


#---Plugins Directory---------------
plugins_dir="C:\Users\xxx\Documents\AviSynthPlus\x64"

#---Load Plugins---------------
loadPlugin(plugins_dir + "RgTools.dll")
loadPlugin(plugins_dir + "masktools2.dll")
loadPlugin(plugins_dir + "mvtools2.dll")
loadPlugin(plugins_dir + "fft3dfilter.dll")
loadPlugin(plugins_dir + "LoadDll64.dll")
loadPlugin(plugins_dir + "neo_fft3d.dll")
loadPlugin(plugins_dir + "FFT3dGPU.dll")
loadPlugin(plugins_dir + "nnedi3.dll")

#---Load DLLs---------------
loadDll(plugins_dir + "libfftw3f-3.dll")

#---Import AVSI Files---------------
Import(plugins_dir + "LSFmod.avsi")
Import(plugins_dir + "TemporalDegrain2.avsi")

#---Set Memory Parameters---------------
SetMemoryMax(32)

#---Target Video File---------------
AVISource("C:\Users\xxx\Documents\WorkingScripts\myclip.avi").killaudio()

#---Keep Copy of Original Video for Comparasion at End---------------
source=last

#---Crop Non-Image Part of Video---------------
Crop(cropLeft, cropTop, -cropRight, -cropBot)

#---Deinterlace---------------
deinterlaced=AssumeTFF().nnedi3(field=-2)

#---Convert to YV16---------------
#deinterlaced_yv16=deinterlaced.convertToYV16(interlaced=true)

#---Denoise---------------
denoised=deinterlaced.TemporalDegrain2(degrainTR=degrainTR, postFFT=postFFT, postSigma=postSigma)

#---Convert to YUY2 (Required for MergeChroma)---------------
denoised_yuy2=denoised.convertToYUY2(interlaced=false)

#---Convert to YV12 (Required for LSFmod)---------------
denoised=denoised.convertToYV12(interlaced=false)

#---Sharpen---------------
sharpened=denoised.LSFmod(strength=strength, overshoot=overshoot, ss_x=1.5, ss_y=1.5, secure=false, Spwr=2, SdmpLo=strength/25, SdmpHi=0, soothe=false, keep=25, edgemaskHQ=true)### convert to YUY2 with chroma from YUY2 color space

#---Convert to YUY2 with chroma from YUY2 color space---------------
sharpened_yuy2=sharpened.convertToYUY2(interlaced=false).MergeChroma(denoised_yuy2)

#---Convert back to YV12 to compare with source---------------
sharpened_yv12=sharpened.convertToYV12(interlaced=false)

#---Interlace Video---------------
interlaced=sharpened_yv12.AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave()

#---Add borders---------------
video_restored=interlaced.addborders(padLeft,padTop,padRight,padBottom)

#---Completed, so return---------------
#return(video_restored.Subtitle("Restored",align=2).info()) # for debug
#return(source.Subtitle("Source",align=2).info()) # for debug

StackVertical(\
source.Subtitle("Source Video",align=2),\
video_restored.Subtitle("Restored Video",align=2))


#---END SCRIPT, BEGIN FUNCTIONS
#==========================================

Arx1meD
25th November 2025, 19:23
There may be a problem with the FFT3DGPU filter.
Have you copied the fft3dgpu.hlsl file to the folders C:\Program Files (x86)\AviSynth+\plugins+\ and C:\Program Files (x86)\AviSynth+\plugins64+\

colokate
26th November 2025, 06:46
Cheers Arx1meD! I had not moved fft3dgpu.hlsl to the plugins64+ folders. Your suggestion solved the issue with the script I posted. I have two more scripts that also have "Access Violation" errors that I will test soon.

I sincerely appreciate your reply.

colokate

Emulgator
27th November 2025, 12:24
As I read this I went through my bergwerk and found 5 versions of fft3dgpu.hlsl from 2006, 2010, 2018, 2020, 2021 in my different AviSynth standalone folders on a Win10 system.
I will just assume for now that the latest FFT3dGPU version 0.8.6 by pinterf from 2021 will accommodate all combos and update these across systems from XP32, Win7-64 and Win10-64
Did anyone find incompatibilites so far ?