View Full Version : GPU encoding of avisynyh script
avinewbie
27th January 2024, 14:54
Hi
I have acquired at RTX 3080 and was testing to see if my AVS+ script can be NVECC encoded as its much faster using Staxrip( latest version)
Issue: The avs script( denoise with BM3D and sharpening) do not seem to work. Instead I get an NVENCC encode to HEVC without denoising.
This is when selecting GPU decoding
Selecting Avisyth decoding in StaxRip works and NVECC encodes to HEVC a denoised video--however there is no speed advantage to standard CPU decodingandencoding of the script.( 3fps)
QUESTION (IN STAXRIP)
1)for GPU to encode a AVS+ script, is avisyth decoding mandatory?
2) The speed on NVECC encode of the script with Avisynth decode is similar to CPU decode and encode--is this normal? or indicative of some issue?
any advice?
Avinewbie
The script:
SMDegrain(tr=2,thSAD=300,thSADC=200,thSCD1=400,thSCD2=130,contrasharp=true,prefilter=8, gpuid=0, str=1.2, plane=0, refinemotion=true)
ex_unsharp(0.3,Fc=width()/2)
guest
28th January 2024, 02:33
Hi
I have acquired at RTX 3080 and was testing to see if my AVS+ script can be NVECC encoded as its much faster using Staxrip( latest version)
Issue: The avs script( denoise with BM3D and sharpening) do not seem to work. Instead I get an NVENCC encode to HEVC without denoising.
This is when selecting GPU decoding
Selecting Avisyth decoding in StaxRip works and NVECC encodes to HEVC a denoised video--however there is no speed advantage to standard CPU decodingandencoding of the script.( 3fps)
QUESTION (IN STAXRIP)
1)for GPU to encode a AVS+ script, is avisyth decoding mandatory?
2) The speed on NVECC encode of the script with Avisynth decode is similar to CPU decode and encode--is this normal? or indicative of some issue?
any advice?
Avinewbie
The script:
SMDegrain(tr=2,thSAD=300,thSADC=200,thSCD1=400,thSCD2=130,contrasharp=true,prefilter=8, gpuid=0, str=1.2, plane=0, refinemotion=true)
ex_unsharp(0.3,Fc=width()/2)
Hi, I thought you were happy using Pauly Dunne's RipBot builds...
Anyway, I would suggest that you post this on the Staxrip thread, instead of starting a new "remote" thread....
And in my limited experience with BM3D, it's not too good, and it's slow.
Just thinking out loud.
Good luck.
avinewbie
29th January 2024, 22:35
HI TDS
Yes I am using ripB but wanted to test out NVENCC with the GPU .
I thought my question would be a newbie level one regarding feeding the AVS script to NVencc.
I will try the staxrip forum as you suggest
Many Thanks
poisondeathray
30th January 2024, 00:08
I thought my question would be a newbie level one regarding feeding the AVS script to NVencc.
1)for GPU to encode a AVS+ script, is avisyth decoding mandatory?
2) The speed on NVECC encode of the script with Avisynth decode is similar to CPU decode and encode--is this normal? or indicative of some issue?
any advice?
Avinewbie
The script:
SMDegrain(tr=2,thSAD=300,thSADC=200,thSCD1=400,thSCD2=130,contrasharp=true,prefilter=8, gpuid=0, str=1.2, plane=0, refinemotion=true)
ex_unsharp(0.3,Fc=width()/2)
In general -
1) Yes - in the sense that avisynth passes uncompressed frames to NVEncC (or any "GPU" encoder).
But the avs script can use different decoders for the source filter, including GPU decoders.
2) If you have a bottleneck (e.g. maybe some slow filters), that will limit your encoding speed
You can test the potential speed of a script using avsmeter.
e.g. if your script speed is 10 fps , you can't encode faster than the script is sending frames
guest
30th January 2024, 05:58
HI TDS
Yes I am using ripB but wanted to test out NVENCC with the GPU .
I thought my question would be a newbie level one regarding feeding the AVS script to NVencc.
I will try the staxrip forum as you suggest
Many Thanks
Good to know :)
I'm sure you will agree with me, it's just such a shame that Atak is too stubborn to implement different encoding options :(
I wish there was some way to "add" it.
avinewbie
4th February 2024, 19:49
In general -
1) Yes - in the sense that avisynth passes uncompressed frames to NVEncC (or any "GPU" encoder).
But the avs script can use different decoders for the source filter, including GPU decoders.
2) If you have a bottleneck (e.g. maybe some slow filters), that will limit your encoding speed
You can test the potential speed of a script using avsmeter.
e.g. if your script speed is 10 fps , you can't encode faster than the script is sending frames
Hi PDR,
Many thanks for your reply.
Nvencc is ,I believe, supposed to be able to read AVS script. The help files do not say that reading AVS requires avisynth decoding as opposed to Hardware decoding ( when setting up the job in staxrip).
The script staxR generated is:
D:\ENCODING FILES\JAn 2024 StaxRip\StaxRip-v2.31.0-x64\Apps\Encoders\NVEncC\NVEncC64.exe" --avhw --qvbr 20 --codec h265 --preset P6 --output-depth 10 --profile main10 --bframes 5 --mv-precision q-pel -i "E:\SR TARGET\21 bridges denoise test clip\21 BRIDGES DENOISE testclip .mkv.mkv" -o "C:\Users\Ryzenpc\Desktop\21 bridges_temp\21bri Script, NVev P6 decoder AVS_out.h265"
Is there anything missing in this that might explain why the avisynth filters are not working?
(Regarding speed of the AVS script: yes I understand the filterspeed will limit the encode speed . I think one of the reasons its slow is I just realised i do not have the mtmodes.avsi script that prefetch needs in the plugins folder( forgotten to install it))
Thank you for any insight/help
avinewbie
poisondeathray
4th February 2024, 20:14
Nvencc is ,I believe, supposed to be able to read AVS script. The help files do not say that reading AVS requires avisynth decoding as opposed to Hardware decoding ( when setting up the job in staxrip).
Yes NVEncC has AVS support; but anything using AVS means it's decoded through AVS - whatever the script is using for the source filter and decoding (you can use GPU decoders as mentioned above - e.g. DGSource, LSmash support it)
The script staxR generated is:
D:\ENCODING FILES\JAn 2024 StaxRip\StaxRip-v2.31.0-x64\Apps\Encoders\NVEncC\NVEncC64.exe" --avhw --qvbr 20 --codec h265 --preset P6 --output-depth 10 --profile main10 --bframes 5 --mv-precision q-pel -i "E:\SR TARGET\21 bridges denoise test clip\21 BRIDGES DENOISE testclip .mkv.mkv" -o "C:\Users\Ryzenpc\Desktop\21 bridges_temp\21bri Script, NVev P6 decoder AVS_out.h265"
Is there anything missing in this that might explain why the avisynth filters are not working?
"-i E:\SR TARGET\21 bridges denoise test clip\21 BRIDGES DENOISE testclip .mkv.mkv" means direct mkv input, so no script, no AVS
For NVEncC with AVS input, it should be --avs (avs input) instead of --avhw (libavformat + hw decode) ; and -i should be -i script.avs , not a direct video file which bypasses the script
avinewbie
4th February 2024, 22:08
Thank you
I need to digest those insights. I think I understand( somewhat).
Essentially to use Avisynth filters and encode to NVENCC we need to make sure --avs is in the script, which ,in staxrip, will appear if selecting decode:avisynth/vapoursynth as the option.
if one selects HArware decode( --avhw), it will simply bypass the avisynth script.
Hope thats right?
poisondeathray
4th February 2024, 23:42
Essentially to use Avisynth filters and encode to NVENCC we need to make sure --avs is in the script, which ,in staxrip, will appear if selecting decode:avisynth/vapoursynth as the option.
if one selects HArware decode( --avhw), it will simply bypass the avisynth script.
Hope thats right?
--avs is for the NVEncC64 commandline, not the AVS script
I don't know about what will appear in Staxrip, but you should be able to test it pretty easily or ask in the Staxrip subforum
fethiyelee
7th February 2024, 11:51
Thanks for information
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.