Page 13 of 17
CUDASynth
Posted: Sat Mar 02, 2024 9:44 am
by hydra3333
Rocky wrote: ↑Sat Mar 02, 2024 7:27 am
Any results with test5?
Yes, test5 yielded a pop-up on run #2 6 of 8. Hopefully I did it right.
I tend to find I may need to run the test a number of times since it seems to run successfully a few times in a row.
Running it again with nothing running in the background ...
Interestingly, something new.
1 of 8 success
2 of 8 returned only 1 frame (that's new, usually it is 0) and no pop-up
3 of 8 failed and no pop-up
4 to 8 success
editing the log and looking for 'frame=' I see
Code: Select all
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips.log (8 hits)
Line 388: frame= 2558 fps=142 q=27.0 Lsize= 78690KiB time=00:01:42.20 bitrate=6307.5kbits/s speed=5.68x
Line 732: frame= 1 fps=0.6 q=11.0 Lsize= 3452KiB time=-00:00:00.08 bitrate=N/A speed=N/A
Line 1074: frame= 0 fps=0.0 q=0.0 Lsize= 3424KiB time=N/A bitrate=N/A speed=N/A
Line 1424: frame= 2730 fps=142 q=24.0 Lsize= 83154KiB time=00:01:48.89 bitrate=6255.5kbits/s speed=5.66x
Line 1774: frame= 2713 fps=142 q=29.0 Lsize= 83840KiB time=00:01:48.25 bitrate=6344.4kbits/s speed=5.66x
Line 2123: frame= 2575 fps=141 q=30.0 Lsize= 80291KiB time=00:01:42.88 bitrate=6393.3kbits/s speed=5.64x
Line 2469: frame= 2453 fps=141 q=29.0 Lsize= 76059KiB time=00:01:37.98 bitrate=6359.0kbits/s speed=5.63x
Line 2820: frame= 2790 fps=141 q=26.0 Lsize= 86503KiB time=00:01:51.32 bitrate=6365.3kbits/s speed=5.64x
CUDASynth
Posted: Sat Mar 02, 2024 11:25 am
by Rocky
Thank you. After my afternoon swim I'll try to bring up the stuff you gave me.
CUDASynth
Posted: Sat Mar 02, 2024 7:54 pm
by hydra3333
It has nothing to do with cudasynth.
I had a pop up ("error creating decoder" ?) appear after reverting to the latest official release.
Unfortunately it disappears quickly, so I'll see if I can capture an image of it.
Funnily enough, all 8 encodes worked.
Realtime Task Manager performance numbers and graphs showed nowhere near full GPU memory consumption.
Sorry about that !!!!!!!!!!!!!!!!!!!!
I have no explanation other than it could well be my system.
edit:
Task Manager performance tab says dedicated GPU Memory never goes over 2.1/8 Gb[/i]
edit 2:
So, I reverted fully to the original vapoursynth folder with the official released DG stuff (i.e. without any newly copied DLLs and chance of a stuff up) and the say message popped up. Never noticed it before, not to say it never happened as I just popped the released DG stuff into the right place without any testing.
I wonder if it's to do with the nvidia driver which I updated a few weeks ago, or perhaps the latest Win11 updates which I installed recently ? Will install the latest nvidia driver and try that.
I have a terrible feeling, with no proof, that it's to do with my PC even though I install next to nothing and virus check everything frequently
CUDASynth
Posted: Sat Mar 02, 2024 9:43 pm
by Rocky
Interesting. Well, let's try to get to the bottom of it. I should have test results tomorrow.
One interesting thing is that in the released stuff if the failure to create occurred it did not exit the application. It's only the CUDASynth version that now does that. So, what if for some reason, some race condition or something, it tries to create the decoder twice. Then there would be the popup but things would proceed just fine after OK with the first creation. I'm in my nest right now and can't remember if the popup has a fast timeout. Most of the popups have timeouts. I think most of them are 5 seconds.
Thank you for the information and testing. I'm not thinking right now that it's only an issue with your system. It's good news that the problem is likely not due to the CUDASynth functionality or Vapoursynth API4.
CUDASynth
Posted: Sat Mar 02, 2024 10:02 pm
by Rocky
One possibility is that one of your streams changes video characteristics in mid-stream. If that is the case behavior will be undefined. The characteristics that matter are video type (AVC, HEVC, MPEG2, VC1), width, height, or chroma format.
Even if it is not a mid-stream change in one file, the DGI file may list multiple files that conflict with each other regarding the listed characteristics.
In both of these cases, the decoder gets killed and re-created. But the rest of DGSource() remains init'ed as for the initial characteristics, e.g., the frame size reported to Vapoursynth, the size of internal buffers, etc. DGSource() is simply not designed to support changes in the video characteristics incurred by a single decoding instance. I need to look at your test stuff to see if you are running into either of these scenarios. I don't know what your ffmpeg/pipe stuff is doing. The intended behavior is that every new encode should be done from a new decoding instance.
Let's see.
CUDASynth
Posted: Sun Mar 03, 2024 7:07 am
by Rocky
I've ruled out format changes within or between your 8 test files. Moving on to recreate your test environment...
EDIT: I am unable to test your files as processed by your QSF script stuff (see following post).
CUDASynth
Posted: Sun Mar 03, 2024 8:15 am
by Rocky
Ran into problems running your environment. The QSF video files are missing when DGIndexNV runs:
Code: Select all
D:\tmp\hydra3333\HDTV\DGtest>"!vapoursynth_root!\DGIndex\DGIndexNV.exe" -i "!QSF_VIDEO!" -e -h -o "!_DGI_FILE!"
D:\tmp\hydra3333\HDTV\DGtest>TYPE "!_DGI_LOG!"
The system cannot find the file specified.
It looks like the code in the bat file to create them is commented out. If I re-enable it, it wants to run a VB script, which is absent (no .vbs file anywhere), and I don't have VB installed anyway. There are no source files in the RESULTS folder.
How to proceed?
CUDASynth
Posted: Sun Mar 03, 2024 9:33 am
by Rocky
Hold the presses! The following script fails with video hanging on the girl water skiing, but only for Vapoursynth.
Code: Select all
import vapoursynth as vs
from vapoursynth import core
core.std.LoadPlugin(path="D:/Don/Programming/C++/DGDecNV/DGDecodeNV/x64/Release/DGDecodeNV.dll")
video = core.dgdecodenv.DGSource(r'D:\tmp\hydra3333\HDTV\DGtest\TEST_SOURCE_VIDEOS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.dgi',deinterlace=2)
video.set_output()
Are you by any chance using deinterlace=2?
I will troubleshoot this, but I still need you to get me going on your test environment.
CUDASynth
Posted: Sun Mar 03, 2024 7:11 pm
by Rocky
I fixed the hang, so re-download test6. There's a chance that bug is causing your problems but I'm not sure, so please test it.
CUDASynth
Posted: Sun Mar 03, 2024 11:42 pm
by hydra3333
Oops, a poor assumption on my part on what files pre-existed or not.
OK, I popped some files *.qsf.mpg into the "RESULTS" folder in this share:
https://drive.google.com/drive/folders/ ... sp=sharing
The files are the same as the originals except having been fixed where possible via VideoReDo's QuickStreamFix.
If you place the *.qsf.mpg files in a folder "RESULTS" underneath the folder the script is in, the script should find them provided these variables are set to your satisfaction
Code: Select all
set "root=G:\HDTV\DGtest"
Set "C_source_TS_Folder=!root!\TEST_SOURCE_VIDEOS"
Set "C_done_TS_Folder=!root!\RESULTS"
Set "C_temp_path=!root!\SCRATCH"
The hacked up script uses this:
Code: Select all
set "QSF_VIDEO=%C_done_TS_Folder%\!source_filename!.qsf.!extension_mpeg2!"
to find the cleaned-up files and specify into dgindex etc.
Here's a typical test .vpy and it uses deinterlace=1 (2 not used in these tests).
Code: Select all
import vapoursynth as vs # this allows use of constants eg vs.YUV420P8
from vapoursynth import core # actual vapoursynth core
core.std.LoadPlugin(r'G:\HDTV\DGtest\Vapoursynth-x64\DGIndex\DGDecodeNV.dll') # do it like gonca https://forum.doom9.org/showthread.php?p=1877765#post1877765
core.avs.LoadPlugin(r'G:\HDTV\DGtest\Vapoursynth-x64\DGIndex\DGDecodeNV.dll') # do it like gonca https://forum.doom9.org/showthread.php?p=1877765#post1877765
before_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False )
#after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False, dn_enable=3, dn_quality="best", dn_strength=0.06, dn_cstrength=0.06, dn_tthresh=75.0, dn_show=0, sh_enable=1, sh_strength=0.3 )
after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False )
after_video = core.avs.DGDenoise(after_video, strength=0.06, cstrength=0.06)
#after_video = core.avs.DGSharpen( after_video, strength=0.3 )
stacked_video = core.std.StackVertical( [before_video, after_video] )
stacked_video.set_output()
OK I'll try the updated test6.
Since I also get a popup in the current released binary (not a testX) - even though it somehow still encodes - I'm still wondering perhaps it's my PC.
CUDASynth
Posted: Mon Mar 04, 2024 12:42 am
by hydra3333
Some results with the latest test6:
Code: Select all
Test Run 1: pop-up appeared once (item # unknown), encoded zero frames of it
Test Run 2: all completed successfully, no pop-up
Test Run 3: all completed successfully, no pop-up
Test Run 4: all completed successfully, no pop-up
Test Run 5: pop-up appeared once on item 7 of 8, encoded zero frames of it
Test Run 6: pop-up appeared once on item 2 of 8, encoded zero frames of it
Test Run 7: all completed successfully, no pop-up
edit: ran it once more with task manager "Performance" tab looking at GPU,
pop-up appeared once on item 1 of 8, encoded zero frames of it
Code: Select all
dedicated GPU memory 2.4/8.0 GB
shared GPU memory 1.2/16.0 GB
GPU memory 3.5/24.0 GB
utilization maxed at 94%
pop-up appeared once on item 5 of 8, encoded zero frames of it, similar gpu stats
CUDASynth
Posted: Mon Mar 04, 2024 9:21 am
by Rocky
OK, it's not your system because it happened to me. Investigating...
CUDASynth
Posted: Mon Mar 04, 2024 12:53 pm
by Rocky
Please re-download test6 and re-test. It's working good for me.
CUDASynth
Posted: Mon Mar 04, 2024 11:52 pm
by hydra3333
Cool, success, no pop-ups or failed encodings. Thanks !
I ran the 8 encode batch, 10 times in sequence for both "new cudasynth way" and "old multi-line way".
Something I don't quite get with the latest test6 ... the speeds for "new cudasynth way" vs "old multi-line way" look close to the "new cudasynth way" when encoding ?
(I ran the encodings without anything else running in the background and without encoding audio, results below.)
Perhaps the source clips weren't large enough to show a significant difference, or the encoding chain is a levelling factor ?
(a) Results for "new cudasynth way" eg :
Code: Select all
after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False, dn_enable=1, dn_quality="good", dn_strength=0.06, dn_cstrength=0.06, dn_tthresh=75.0, dn_show=0, sh_enable=1, sh_strength=0.3 )
after_video.set_output()
Code: Select all
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips-single-line.log (80 hits)
Line 307: frame= 2558 fps=391 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.6x
Line 569: frame= 2669 fps=394 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.8x
Line 831: frame= 2728 fps=392 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.7x
Line 1093: frame= 2730 fps=392 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.7x
Line 1355: frame= 2713 fps=394 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.8x
Line 1617: frame= 2575 fps=389 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.5x
Line 1879: frame= 2453 fps=382 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.3x
Line 2141: frame= 2790 fps=389 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.6x
Line 2471: frame= 2558 fps=390 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.6x
Line 2733: frame= 2669 fps=394 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.7x
Line 2995: frame= 2728 fps=391 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.6x
Line 3257: frame= 2730 fps=391 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.6x
Line 3519: frame= 2713 fps=392 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.7x
Line 3781: frame= 2575 fps=389 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.5x
Line 4043: frame= 2453 fps=382 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.3x
Line 4305: frame= 2790 fps=389 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.5x
Line 4635: frame= 2558 fps=390 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.6x
Line 4897: frame= 2669 fps=391 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.6x
Line 5159: frame= 2728 fps=386 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.4x
Line 5421: frame= 2730 fps=391 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.6x
Line 5683: frame= 2713 fps=390 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.6x
Line 5945: frame= 2575 fps=388 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.5x
Line 6207: frame= 2453 fps=380 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.2x
Line 6469: frame= 2790 fps=388 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.5x
Line 6799: frame= 2558 fps=389 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.5x
Line 7061: frame= 2669 fps=389 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.5x
Line 7323: frame= 2728 fps=388 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.5x
Line 7585: frame= 2730 fps=390 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.6x
Line 7847: frame= 2713 fps=392 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.7x
Line 8109: frame= 2575 fps=387 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.5x
Line 8371: frame= 2453 fps=380 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.2x
Line 8633: frame= 2790 fps=388 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.5x
Line 8963: frame= 2558 fps=388 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.5x
Line 9225: frame= 2669 fps=391 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.6x
Line 9487: frame= 2728 fps=388 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.5x
Line 9749: frame= 2730 fps=391 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.6x
Line 10011: frame= 2713 fps=391 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.6x
Line 10273: frame= 2575 fps=387 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.4x
Line 10535: frame= 2453 fps=380 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.2x
Line 10797: frame= 2790 fps=388 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.5x
Line 11127: frame= 2558 fps=386 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.4x
Line 11389: frame= 2669 fps=390 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.6x
Line 11651: frame= 2728 fps=388 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.5x
Line 11913: frame= 2730 fps=391 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.6x
Line 12175: frame= 2713 fps=391 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.6x
Line 12437: frame= 2575 fps=387 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.5x
Line 12699: frame= 2453 fps=378 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.1x
Line 12961: frame= 2790 fps=386 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.4x
Line 13291: frame= 2558 fps=390 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.6x
Line 13553: frame= 2669 fps=391 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.6x
Line 13815: frame= 2728 fps=389 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.5x
Line 14077: frame= 2730 fps=389 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.5x
Line 14339: frame= 2713 fps=390 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.6x
Line 14601: frame= 2575 fps=387 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.5x
Line 14863: frame= 2453 fps=378 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.1x
Line 15125: frame= 2790 fps=390 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.6x
Line 15455: frame= 2558 fps=388 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.5x
Line 15717: frame= 2669 fps=392 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.7x
Line 15979: frame= 2728 fps=388 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.5x
Line 16241: frame= 2730 fps=392 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.6x
Line 16503: frame= 2713 fps=391 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.6x
Line 16765: frame= 2575 fps=387 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.5x
Line 17027: frame= 2453 fps=380 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.2x
Line 17289: frame= 2790 fps=389 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.5x
Line 17619: frame= 2558 fps=389 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.5x
Line 17881: frame= 2669 fps=391 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.6x
Line 18143: frame= 2728 fps=390 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.6x
Line 18405: frame= 2730 fps=391 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.6x
Line 18667: frame= 2713 fps=391 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.6x
Line 18929: frame= 2575 fps=386 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.4x
Line 19191: frame= 2453 fps=382 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.3x
Line 19453: frame= 2790 fps=389 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.5x
Line 19783: frame= 2558 fps=388 q=23.0 Lsize= 75258KiB time=00:01:42.20 bitrate=6032.5kbits/s speed=15.5x
Line 20045: frame= 2669 fps=391 q=24.0 Lsize= 79451KiB time=00:01:46.64 bitrate=6103.4kbits/s speed=15.6x
Line 20307: frame= 2728 fps=390 q=29.0 Lsize= 81354KiB time=00:01:49.00 bitrate=6114.2kbits/s speed=15.6x
Line 20569: frame= 2730 fps=392 q=19.0 Lsize= 78444KiB time=00:01:49.08 bitrate=5891.2kbits/s speed=15.7x
Line 20831: frame= 2713 fps=389 q=24.0 Lsize= 80146KiB time=00:01:48.40 bitrate=6056.8kbits/s speed=15.5x
Line 21093: frame= 2575 fps=387 q=24.0 Lsize= 76645KiB time=00:01:42.88 bitrate=6103.0kbits/s speed=15.4x
Line 21355: frame= 2453 fps=382 q=24.0 Lsize= 73086KiB time=00:01:38.00 bitrate=6109.4kbits/s speed=15.3x
Line 21617: frame= 2790 fps=389 q=20.0 Lsize= 82641KiB time=00:01:51.48 bitrate=6072.8kbits/s speed=15.6x
(b) Results for "old way" eg :
Code: Select all
after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False )
after_video = core.avs.DGDenoise(after_video, strength=0.06, cstrength=0.06)
after_video = core.avs.DGSharpen( after_video, strength=0.3 )
after_video.set_output()
Code: Select all
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips-multi-line.log (80 hits)
Line 309: frame= 2558 fps=385 q=25.0 Lsize= 74789KiB time=00:01:42.20 bitrate=5994.8kbits/s speed=15.4x
Line 573: frame= 2669 fps=384 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.3x
Line 837: frame= 2728 fps=393 q=31.0 Lsize= 80641KiB time=00:01:49.00 bitrate=6060.7kbits/s speed=15.7x
Line 1101: frame= 2730 fps=389 q=21.0 Lsize= 78041KiB time=00:01:49.08 bitrate=5860.9kbits/s speed=15.6x
Line 1365: frame= 2713 fps=388 q=24.0 Lsize= 80416KiB time=00:01:48.40 bitrate=6077.2kbits/s speed=15.5x
Line 1629: frame= 2575 fps=391 q=29.0 Lsize= 76679KiB time=00:01:42.88 bitrate=6105.7kbits/s speed=15.6x
Line 1893: frame= 2453 fps=391 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.6x
Line 2157: frame= 2790 fps=388 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.5x
Line 2489: frame= 2558 fps=388 q=25.0 Lsize= 74789KiB time=00:01:42.20 bitrate=5994.8kbits/s speed=15.5x
Line 2753: frame= 2669 fps=388 q=27.0 Lsize= 80887KiB time=00:01:46.64 bitrate=6213.7kbits/s speed=15.5x
Line 3017: frame= 2728 fps=391 q=31.0 Lsize= 80641KiB time=00:01:49.00 bitrate=6060.7kbits/s speed=15.6x
Line 3281: frame= 2730 fps=388 q=21.0 Lsize= 78038KiB time=00:01:49.08 bitrate=5860.7kbits/s speed=15.5x
Line 3545: frame= 2713 fps=390 q=24.0 Lsize= 80416KiB time=00:01:48.40 bitrate=6077.2kbits/s speed=15.6x
Line 3809: frame= 2575 fps=388 q=29.0 Lsize= 76681KiB time=00:01:42.88 bitrate=6105.9kbits/s speed=15.5x
Line 4073: frame= 2453 fps=389 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.5x
Line 4337: frame= 2790 fps=392 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.6x
Line 4669: frame= 2558 fps=386 q=25.0 Lsize= 74785KiB time=00:01:42.20 bitrate=5994.5kbits/s speed=15.4x
Line 4933: frame= 2669 fps=387 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.5x
Line 5197: frame= 2728 fps=387 q=31.0 Lsize= 80641KiB time=00:01:49.00 bitrate=6060.7kbits/s speed=15.5x
Line 5461: frame= 2730 fps=386 q=21.0 Lsize= 78038KiB time=00:01:49.08 bitrate=5860.7kbits/s speed=15.4x
Line 5725: frame= 2713 fps=387 q=24.0 Lsize= 80416KiB time=00:01:48.40 bitrate=6077.2kbits/s speed=15.5x
Line 5989: frame= 2575 fps=389 q=29.0 Lsize= 76679KiB time=00:01:42.88 bitrate=6105.7kbits/s speed=15.5x
Line 6253: frame= 2453 fps=385 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.5kbits/s speed=15.4x
Line 6517: frame= 2790 fps=388 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.5x
Line 6849: frame= 2558 fps=387 q=25.0 Lsize= 74781KiB time=00:01:42.20 bitrate=5994.2kbits/s speed=15.5x
Line 7113: frame= 2669 fps=388 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.5x
Line 7377: frame= 2728 fps=390 q=31.0 Lsize= 80641KiB time=00:01:49.00 bitrate=6060.7kbits/s speed=15.6x
Line 7641: frame= 2730 fps=383 q=21.0 Lsize= 78041KiB time=00:01:49.08 bitrate=5860.9kbits/s speed=15.3x
Line 7905: frame= 2713 fps=384 q=24.0 Lsize= 80408KiB time=00:01:48.40 bitrate=6076.6kbits/s speed=15.4x
Line 8169: frame= 2575 fps=388 q=29.0 Lsize= 76675KiB time=00:01:42.88 bitrate=6105.4kbits/s speed=15.5x
Line 8433: frame= 2453 fps=389 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.5x
Line 8697: frame= 2790 fps=387 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.5x
Line 9029: frame= 2558 fps=383 q=25.0 Lsize= 74788KiB time=00:01:42.20 bitrate=5994.7kbits/s speed=15.3x
Line 9293: frame= 2669 fps=385 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.4x
Line 9557: frame= 2728 fps=389 q=31.0 Lsize= 80641KiB time=00:01:49.00 bitrate=6060.7kbits/s speed=15.5x
Line 9821: frame= 2730 fps=385 q=21.0 Lsize= 78039KiB time=00:01:49.08 bitrate=5860.8kbits/s speed=15.4x
Line 10085: frame= 2713 fps=388 q=24.0 Lsize= 80416KiB time=00:01:48.40 bitrate=6077.2kbits/s speed=15.5x
Line 10349: frame= 2575 fps=388 q=29.0 Lsize= 76677KiB time=00:01:42.88 bitrate=6105.6kbits/s speed=15.5x
Line 10613: frame= 2453 fps=386 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.4x
Line 10877: frame= 2790 fps=390 q=28.0 Lsize= 83287KiB time=00:01:51.48 bitrate=6120.3kbits/s speed=15.6x
Line 11209: frame= 2558 fps=383 q=25.0 Lsize= 74789KiB time=00:01:42.20 bitrate=5994.8kbits/s speed=15.3x
Line 11473: frame= 2669 fps=385 q=27.0 Lsize= 80887KiB time=00:01:46.64 bitrate=6213.7kbits/s speed=15.4x
Line 11737: frame= 2728 fps=387 q=31.0 Lsize= 80645KiB time=00:01:49.00 bitrate=6061.0kbits/s speed=15.4x
Line 12001: frame= 2730 fps=384 q=21.0 Lsize= 78037KiB time=00:01:49.08 bitrate=5860.7kbits/s speed=15.4x
Line 12265: frame= 2713 fps=386 q=24.0 Lsize= 80408KiB time=00:01:48.40 bitrate=6076.6kbits/s speed=15.4x
Line 12529: frame= 2575 fps=384 q=29.0 Lsize= 76679KiB time=00:01:42.88 bitrate=6105.7kbits/s speed=15.4x
Line 12793: frame= 2453 fps=388 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.5x
Line 13057: frame= 2790 fps=387 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.5x
Line 13389: frame= 2558 fps=387 q=25.0 Lsize= 74781KiB time=00:01:42.20 bitrate=5994.2kbits/s speed=15.5x
Line 13653: frame= 2669 fps=390 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.6x
Line 13917: frame= 2728 fps=390 q=31.0 Lsize= 80651KiB time=00:01:49.00 bitrate=6061.4kbits/s speed=15.6x
Line 14181: frame= 2730 fps=391 q=21.0 Lsize= 78037KiB time=00:01:49.08 bitrate=5860.7kbits/s speed=15.6x
Line 14445: frame= 2713 fps=390 q=24.0 Lsize= 80408KiB time=00:01:48.40 bitrate=6076.6kbits/s speed=15.6x
Line 14709: frame= 2575 fps=385 q=29.0 Lsize= 76682KiB time=00:01:42.88 bitrate=6105.9kbits/s speed=15.4x
Line 14973: frame= 2453 fps=383 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.3x
Line 15237: frame= 2790 fps=387 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.5x
Line 15569: frame= 2558 fps=385 q=25.0 Lsize= 74781KiB time=00:01:42.20 bitrate=5994.2kbits/s speed=15.4x
Line 15833: frame= 2669 fps=387 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.4x
Line 16097: frame= 2728 fps=389 q=31.0 Lsize= 80651KiB time=00:01:49.00 bitrate=6061.4kbits/s speed=15.6x
Line 16361: frame= 2730 fps=386 q=21.0 Lsize= 78042KiB time=00:01:49.08 bitrate=5861.0kbits/s speed=15.4x
Line 16625: frame= 2713 fps=388 q=24.0 Lsize= 80416KiB time=00:01:48.40 bitrate=6077.2kbits/s speed=15.5x
Line 16889: frame= 2575 fps=386 q=29.0 Lsize= 76675KiB time=00:01:42.88 bitrate=6105.4kbits/s speed=15.4x
Line 17153: frame= 2453 fps=387 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.4x
Line 17417: frame= 2790 fps=391 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.6x
Line 17749: frame= 2558 fps=387 q=25.0 Lsize= 74786KiB time=00:01:42.20 bitrate=5994.6kbits/s speed=15.5x
Line 18013: frame= 2669 fps=385 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.4x
Line 18277: frame= 2728 fps=388 q=31.0 Lsize= 80641KiB time=00:01:49.00 bitrate=6060.7kbits/s speed=15.5x
Line 18541: frame= 2730 fps=387 q=21.0 Lsize= 78040KiB time=00:01:49.08 bitrate=5860.8kbits/s speed=15.4x
Line 18805: frame= 2713 fps=386 q=24.0 Lsize= 80416KiB time=00:01:48.40 bitrate=6077.2kbits/s speed=15.4x
Line 19069: frame= 2575 fps=388 q=29.0 Lsize= 76675KiB time=00:01:42.88 bitrate=6105.4kbits/s speed=15.5x
Line 19333: frame= 2453 fps=379 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.1x
Line 19597: frame= 2790 fps=389 q=28.0 Lsize= 83296KiB time=00:01:51.48 bitrate=6120.9kbits/s speed=15.5x
Line 19929: frame= 2558 fps=384 q=25.0 Lsize= 74781KiB time=00:01:42.20 bitrate=5994.2kbits/s speed=15.4x
Line 20193: frame= 2669 fps=384 q=27.0 Lsize= 80898KiB time=00:01:46.64 bitrate=6214.5kbits/s speed=15.3x
Line 20457: frame= 2728 fps=387 q=31.0 Lsize= 80641KiB time=00:01:49.00 bitrate=6060.7kbits/s speed=15.5x
Line 20721: frame= 2730 fps=386 q=21.0 Lsize= 78037KiB time=00:01:49.08 bitrate=5860.7kbits/s speed=15.4x
Line 20985: frame= 2713 fps=389 q=24.0 Lsize= 80416KiB time=00:01:48.40 bitrate=6077.2kbits/s speed=15.5x
Line 21249: frame= 2575 fps=388 q=29.0 Lsize= 76679KiB time=00:01:42.88 bitrate=6105.7kbits/s speed=15.5x
Line 21513: frame= 2453 fps=385 q=29.0 Lsize= 72118KiB time=00:01:38.00 bitrate=6028.4kbits/s speed=15.4x
Line 21777: frame= 2790 fps=391 q=28.0 Lsize= 83298KiB time=00:01:51.48 bitrate=6121.1kbits/s speed=15.6x
Just in case the limiting/levelling factor was vspipe/ffmpeg/nvenc encoding speed, I re-ran the 8 encode batch, 10 times in sequence for both "new cudasynth way" and "old multi-line way", just using
vspipe only with frames to null :
Code: Select all
"!vspipeexe64!" --filter-time --container y4m "!_VPY_file!" --
(c) vspipe-only results for "new cudasynth way" :
Code: Select all
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips-single-line-vspipe-only.log (80 hits)
Line 234: Output 2558 frames in 4.53 seconds (564.73 fps)
Line 436: Output 2669 frames in 4.80 seconds (556.11 fps)
Line 638: Output 2728 frames in 4.82 seconds (566.49 fps)
Line 840: Output 2730 frames in 4.76 seconds (573.29 fps)
Line 1042: Output 2713 frames in 4.77 seconds (568.50 fps)
Line 1244: Output 2575 frames in 4.54 seconds (567.61 fps)
Line 1446: Output 2453 frames in 4.36 seconds (562.31 fps)
Line 1648: Output 2790 frames in 4.93 seconds (565.81 fps)
Line 1919: Output 2558 frames in 4.58 seconds (558.60 fps)
Line 2122: Output 2669 frames in 4.89 seconds (546.13 fps)
Line 2325: Output 2728 frames in 4.80 seconds (568.31 fps)
Line 2528: Output 2730 frames in 4.82 seconds (566.70 fps)
Line 2731: Output 2713 frames in 4.86 seconds (558.78 fps)
Line 2934: Output 2575 frames in 4.59 seconds (561.14 fps)
Line 3137: Output 2453 frames in 4.51 seconds (543.61 fps)
Line 3340: Output 2790 frames in 5.10 seconds (547.39 fps)
Line 3611: Output 2558 frames in 4.55 seconds (561.63 fps)
Line 3814: Output 2669 frames in 4.91 seconds (543.46 fps)
Line 4017: Output 2728 frames in 4.89 seconds (557.75 fps)
Line 4220: Output 2730 frames in 4.87 seconds (561.00 fps)
Line 4423: Output 2713 frames in 4.81 seconds (563.49 fps)
Line 4626: Output 2575 frames in 4.60 seconds (559.82 fps)
Line 4829: Output 2453 frames in 4.41 seconds (555.73 fps)
Line 5032: Output 2790 frames in 4.98 seconds (559.96 fps)
Line 5303: Output 2558 frames in 4.49 seconds (569.24 fps)
Line 5506: Output 2669 frames in 4.76 seconds (560.27 fps)
Line 5709: Output 2728 frames in 4.83 seconds (565.12 fps)
Line 5912: Output 2730 frames in 4.82 seconds (566.37 fps)
Line 6115: Output 2713 frames in 4.81 seconds (564.46 fps)
Line 6318: Output 2575 frames in 4.63 seconds (556.55 fps)
Line 6521: Output 2453 frames in 4.41 seconds (556.32 fps)
Line 6724: Output 2790 frames in 4.96 seconds (562.06 fps)
Line 6995: Output 2558 frames in 4.54 seconds (562.83 fps)
Line 7198: Output 2669 frames in 4.83 seconds (553.03 fps)
Line 7401: Output 2728 frames in 4.90 seconds (556.86 fps)
Line 7604: Output 2730 frames in 4.96 seconds (550.80 fps)
Line 7807: Output 2713 frames in 4.95 seconds (548.50 fps)
Line 8010: Output 2575 frames in 4.59 seconds (561.51 fps)
Line 8213: Output 2453 frames in 4.40 seconds (557.94 fps)
Line 8416: Output 2790 frames in 4.93 seconds (566.44 fps)
Line 8687: Output 2558 frames in 4.58 seconds (558.84 fps)
Line 8890: Output 2669 frames in 4.79 seconds (557.53 fps)
Line 9093: Output 2728 frames in 4.84 seconds (563.66 fps)
Line 9296: Output 2730 frames in 4.83 seconds (564.95 fps)
Line 9499: Output 2713 frames in 4.84 seconds (560.32 fps)
Line 9702: Output 2575 frames in 4.62 seconds (557.50 fps)
Line 9905: Output 2453 frames in 4.44 seconds (552.06 fps)
Line 10108: Output 2790 frames in 5.09 seconds (548.36 fps)
Line 10379: Output 2558 frames in 4.59 seconds (557.51 fps)
Line 10582: Output 2669 frames in 4.76 seconds (560.56 fps)
Line 10785: Output 2728 frames in 4.90 seconds (557.20 fps)
Line 10988: Output 2730 frames in 4.84 seconds (563.73 fps)
Line 11191: Output 2713 frames in 4.82 seconds (562.52 fps)
Line 11394: Output 2575 frames in 4.60 seconds (559.38 fps)
Line 11597: Output 2453 frames in 4.46 seconds (549.88 fps)
Line 11800: Output 2790 frames in 5.02 seconds (556.32 fps)
Line 12071: Output 2558 frames in 4.57 seconds (559.75 fps)
Line 12274: Output 2669 frames in 4.80 seconds (556.17 fps)
Line 12477: Output 2728 frames in 4.91 seconds (555.87 fps)
Line 12680: Output 2730 frames in 4.82 seconds (566.15 fps)
Line 12883: Output 2713 frames in 4.80 seconds (564.78 fps)
Line 13086: Output 2575 frames in 4.61 seconds (559.16 fps)
Line 13289: Output 2453 frames in 4.48 seconds (546.99 fps)
Line 13492: Output 2790 frames in 5.00 seconds (558.24 fps)
Line 13763: Output 2558 frames in 4.53 seconds (564.98 fps)
Line 13966: Output 2669 frames in 4.70 seconds (567.48 fps)
Line 14169: Output 2728 frames in 4.81 seconds (567.66 fps)
Line 14372: Output 2730 frames in 4.81 seconds (568.12 fps)
Line 14575: Output 2713 frames in 4.78 seconds (567.78 fps)
Line 14778: Output 2575 frames in 4.55 seconds (566.06 fps)
Line 14981: Output 2453 frames in 4.37 seconds (561.80 fps)
Line 15184: Output 2790 frames in 4.95 seconds (563.36 fps)
Line 15455: Output 2558 frames in 4.55 seconds (561.87 fps)
Line 15658: Output 2669 frames in 4.92 seconds (541.98 fps)
Line 15861: Output 2728 frames in 4.88 seconds (559.29 fps)
Line 16064: Output 2730 frames in 4.85 seconds (562.87 fps)
Line 16267: Output 2713 frames in 4.85 seconds (559.00 fps)
Line 16470: Output 2575 frames in 4.63 seconds (555.99 fps)
Line 16673: Output 2453 frames in 4.44 seconds (552.38 fps)
Line 16876: Output 2790 frames in 4.93 seconds (566.20 fps)
(d) vspipe-only results for "old way" :
Code: Select all
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips-multi-line-vspipe-only.log (80 hits)
Line 235: Output 2558 frames in 5.40 seconds (473.42 fps)
Line 440: Output 2669 frames in 5.57 seconds (479.37 fps)
Line 645: Output 2728 frames in 5.61 seconds (486.39 fps)
Line 850: Output 2730 frames in 5.67 seconds (481.14 fps)
Line 1055: Output 2713 frames in 5.63 seconds (482.02 fps)
Line 1260: Output 2575 frames in 5.40 seconds (476.63 fps)
Line 1465: Output 2453 frames in 5.13 seconds (478.00 fps)
Line 1670: Output 2790 frames in 5.87 seconds (475.05 fps)
Line 1943: Output 2558 frames in 5.33 seconds (479.62 fps)
Line 2148: Output 2669 frames in 5.53 seconds (482.73 fps)
Line 2353: Output 2728 frames in 5.67 seconds (481.00 fps)
Line 2558: Output 2730 frames in 5.71 seconds (477.90 fps)
Line 2763: Output 2713 frames in 5.70 seconds (476.10 fps)
Line 2968: Output 2575 frames in 5.42 seconds (474.69 fps)
Line 3173: Output 2453 frames in 5.13 seconds (478.59 fps)
Line 3378: Output 2790 frames in 5.80 seconds (481.31 fps)
Line 3651: Output 2558 frames in 5.33 seconds (479.52 fps)
Line 3856: Output 2669 frames in 5.56 seconds (480.35 fps)
Line 4061: Output 2728 frames in 5.69 seconds (479.25 fps)
Line 4266: Output 2730 frames in 5.69 seconds (479.52 fps)
Line 4471: Output 2713 frames in 5.73 seconds (473.58 fps)
Line 4676: Output 2575 frames in 5.35 seconds (480.89 fps)
Line 4881: Output 2453 frames in 5.14 seconds (477.34 fps)
Line 5086: Output 2790 frames in 5.83 seconds (478.87 fps)
Line 5359: Output 2558 frames in 5.32 seconds (480.69 fps)
Line 5564: Output 2669 frames in 5.54 seconds (482.02 fps)
Line 5769: Output 2728 frames in 5.68 seconds (480.46 fps)
Line 5974: Output 2730 frames in 5.72 seconds (477.16 fps)
Line 6179: Output 2713 frames in 5.67 seconds (478.74 fps)
Line 6384: Output 2575 frames in 5.41 seconds (475.73 fps)
Line 6589: Output 2453 frames in 5.11 seconds (480.37 fps)
Line 6794: Output 2790 frames in 5.82 seconds (479.10 fps)
Line 7067: Output 2558 frames in 5.36 seconds (476.93 fps)
Line 7272: Output 2669 frames in 5.58 seconds (478.60 fps)
Line 7477: Output 2728 frames in 5.66 seconds (481.68 fps)
Line 7682: Output 2730 frames in 5.69 seconds (479.99 fps)
Line 7887: Output 2713 frames in 5.67 seconds (478.43 fps)
Line 8092: Output 2575 frames in 5.46 seconds (471.46 fps)
Line 8297: Output 2453 frames in 5.11 seconds (480.08 fps)
Line 8502: Output 2790 frames in 5.79 seconds (481.96 fps)
Line 8775: Output 2558 frames in 5.34 seconds (478.59 fps)
Line 8980: Output 2669 frames in 5.59 seconds (477.05 fps)
Line 9185: Output 2728 frames in 5.71 seconds (477.98 fps)
Line 9390: Output 2730 frames in 5.73 seconds (476.77 fps)
Line 9595: Output 2713 frames in 5.66 seconds (479.26 fps)
Line 9800: Output 2575 frames in 5.39 seconds (477.52 fps)
Line 10005: Output 2453 frames in 5.14 seconds (477.12 fps)
Line 10210: Output 2790 frames in 5.82 seconds (479.16 fps)
Line 10483: Output 2558 frames in 5.32 seconds (480.76 fps)
Line 10688: Output 2669 frames in 5.55 seconds (480.69 fps)
Line 10893: Output 2728 frames in 5.69 seconds (479.45 fps)
Line 11098: Output 2730 frames in 5.69 seconds (479.85 fps)
Line 11303: Output 2713 frames in 5.64 seconds (481.18 fps)
Line 11508: Output 2575 frames in 5.35 seconds (481.53 fps)
Line 11713: Output 2453 frames in 5.16 seconds (475.83 fps)
Line 11918: Output 2790 frames in 5.79 seconds (482.08 fps)
Line 12191: Output 2558 frames in 5.36 seconds (477.55 fps)
Line 12396: Output 2669 frames in 5.57 seconds (479.09 fps)
Line 12601: Output 2728 frames in 5.68 seconds (480.61 fps)
Line 12806: Output 2730 frames in 5.69 seconds (479.96 fps)
Line 13011: Output 2713 frames in 5.66 seconds (479.63 fps)
Line 13216: Output 2575 frames in 5.35 seconds (481.17 fps)
Line 13421: Output 2453 frames in 5.13 seconds (477.88 fps)
Line 13626: Output 2790 frames in 5.82 seconds (479.31 fps)
Line 13899: Output 2558 frames in 5.37 seconds (476.37 fps)
Line 14104: Output 2669 frames in 5.58 seconds (478.04 fps)
Line 14309: Output 2728 frames in 5.68 seconds (480.45 fps)
Line 14514: Output 2730 frames in 5.70 seconds (478.99 fps)
Line 14719: Output 2713 frames in 5.71 seconds (475.53 fps)
Line 14924: Output 2575 frames in 5.38 seconds (478.76 fps)
Line 15129: Output 2453 frames in 5.14 seconds (476.99 fps)
Line 15334: Output 2790 frames in 5.88 seconds (474.65 fps)
Line 15607: Output 2558 frames in 5.37 seconds (476.58 fps)
Line 15812: Output 2669 frames in 5.57 seconds (479.30 fps)
Line 16017: Output 2728 frames in 5.70 seconds (478.53 fps)
Line 16222: Output 2730 frames in 5.83 seconds (468.09 fps)
Line 16427: Output 2713 frames in 5.72 seconds (474.44 fps)
Line 16632: Output 2575 frames in 5.42 seconds (474.81 fps)
Line 16837: Output 2453 frames in 5.17 seconds (474.63 fps)
Line 17042: Output 2790 frames in 5.93 seconds (470.65 fps)
OK, vspipe-only results (c) and (d) appear to show a significant difference.
I suppose one could test frame sizes larger than 720x576 to see if the encoder chain is still the levelling factor then
(One may guess that heavy filtering of sorts using cudasynth may yield most benefit, and comparison of cudasynth to to cpu-only filtering may be fairer in some way).
And, test on another newer nvidia card if one has one, i.e. better than an RTX2060 SUPER VENTUS OC.
Ah, fun for another day I guess.
Thank you.
CUDASynth
Posted: Tue Mar 05, 2024 2:56 am
by Rocky
Thank goodness!
Yes, I think you are right about performance. I believe the relevant factors are the frame size [most important as the gain scales as O(size^2)], and the dilution by the extra stuff in your chain. You'll have an approximate 2500% increase in PCIe load for UHD versus SD! And another times-two for HBD. We could also think about connecting to NVEnc without coming back to the CPU, further reducing the PCIe load, and obviating the need for vspipe, etc. Finally, by keeping PCIe load to a minimum we have headroom to implement further parallelism, although the raw decode will always be limited by the one NVDec and NVEnc engines. Hmm, don't some GPUs have multiple engines?
When testing with the old way, you should also use the old DGSource(), because you have a 34% gain on the decode side even without using any integrated filters. That gain is coming from the CUDASynth framework.
What filters would you like to see added next? I'll probably make a formal release of DGDecNV pretty soon, maybe before adding more filters.
I'm surprised you didn't ask what the root cause was.
Listen up, m8. I'm so grateful to you for reporting this issue and supporting me with your testing and analyses. I also learned some stuff that will be useful for me. It was something of a dog's breakfast for a while there but now it's bonza. You're a definite ripsnorter, so throw a shrimp on the barbie!
CUDASynth
Posted: Tue Mar 05, 2024 6:55 am
by hydra3333
Rocky wrote: ↑Tue Mar 05, 2024 2:56 am
I'm surprised you didn't ask what the root cause was.
I did wonder, and curiosity nearly got the better of me, however I had enough of those questions in the last 10 working years to choose not to bother you. Suspected you'd needed to brute force it with retries if the cause was not discernible, which is what I'd had to occasionally consider in the past just to get something going
Then thought you'd get the better of it
Anyway, most thankful for your wonderful work ... I rely on it every day. Beaut !
A word to the wise, the advertising wallahs do ads about shrimps on a barbie ... us ordinary bogans chuck on steaks and lamb chops and chopped onions and sliced potatoes
CUDASynth
Posted: Tue Mar 05, 2024 7:24 am
by Rocky
hydra3333 wrote: ↑Tue Mar 05, 2024 6:55 am
Suspected you'd needed to brute force it with retries if the cause was not discernible
Brilliant thinking. At first I just said let's retry up to 5 times but fortuitously I added a two-second sleep in the loop. Then using debug statements I saw that it never retried more than once. So I just put one sleep before the create decoder call. Then I noticed that the majority of the time it did work the first time without delay. We knew that from the sporadic nature of the popups, too. So now I do the first try without a delay and if it fails, I delay and try again. I do try 5 times and then do the popup if it continues failing, just so that we will have an indication if things go wonky. My theory is that CUVID needs some time to properly close and your processing stream comes fast and furious. Occasionally the close would not be finished. We don't have a good way to actually verify that but it's good enough for me.
Thanks for the rebuke about shrimp on the barbie. I guess that's for foo-foo people, not people like you and me.
Please don't forget to tell me if you are hot to trot on any additional filters. There's a Yank saying for you.
"It began as a common phrase people used to talk about someone who was more than ready for s*x. It began in the early 1900s and derived from American jive talk, drawing from the idea of a horse eager to get going."
CUDASynth
Posted: Thu Mar 07, 2024 7:20 pm
by hydra3333
Well, just a thought ... on something probably in the too hard basket and/or not worth one's while ...
A few things seem to depend on motion estimation like the venerable mvtools2
https://avisynth.org.ru/mvtools/mvtools2.html for example
(i) temporal denoising, which you mention above
(ii) motion interpolated framerate changing
(iii) and a "DepanStabilize"
(useful only for the home videos market)
I vaguely recall a post somewhere about a part of the nv block being able to return motion vectors however you didn't seem to be altogether convinced, so maybe it's not possible or too hard or not worth the effort to try it.
If a motion compensated framerate changing using interpolated frames and/or a "DepanStabilize" is even possible, one wonders if there'd be a speed benefit or not. Don't know if nvidia provide something handy in a lib, who knows.
Nope is always a fine and well accepted answer
Dare I mention it may be possible garner a couple of bob from commercializing it (or may not) ?
CUDASynth
Posted: Fri Mar 08, 2024 7:38 pm
by Rocky
Yeah, I hear ya. I'll eventually get around to that.
CUDASynth
Posted: Sun Mar 10, 2024 6:13 am
by Rocky
Here is test7:
* When opening and indexing a media file directly with DGSource(), by default streams are
now not demuxed. If you want to have them be demuxed while indexing, add an @ character to the
DGSource() filename, e.g., DGSource("file.ts@").
* The DGDecodeNV manual was brought fully up-to-date, and so the Notes.txt file was removed.
This build is now considered to be a release candidate for DGDecNV 252. Changes to DGIndexNV are
insignificant. Please give the new document some scrutiny and report any issues. Thank you.
http://rationalqm.us/misc/DGDecodeNV_test7.zip
Sherman for the document update.
CUDASynth
Posted: Sun Mar 10, 2024 8:56 am
by Rocky
Oops, the 'show' option for DGDenoise() got missed in the document. Sherman will fix that and re-up it this afternoon. He's busy doing his math tutoring right now.
EDIT: manual was updated online.
CUDASynth
Posted: Tue Mar 12, 2024 3:56 am
by hydra3333
Hello, a "quick" query. Similar to previous tests on VHS videos 0 to 7 in sequence, repeated with various settings.
If I use dn_enable=1, dn_quality="best" denoising I see these relatively consistent fps for VHS videos :
Code: Select all
after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False, dn_enable=1, dn_quality="best", dn_strength=0.06, dn_cstrength=0.06, dn_tthresh=75.0, dn_show=0, sh_enable=1, sh_strength=0.3 )
stacked_video = core.std.StackVertical( [before_video, after_video] )
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips.log (8 hits)
Line 387: frame= 2558 fps=146 q=27.0 Lsize= 75442KiB time=00:01:42.20 bitrate=6047.2kbits/s speed=5.84x
Line 729: frame= 2669 fps=143 q=29.0 Lsize= 80114KiB time=00:01:46.64 bitrate=6154.3kbits/s speed=5.72x
Line 1071: frame= 2728 fps=143 q=33.0 Lsize= 81274KiB time=00:01:49.00 bitrate=6108.2kbits/s speed=5.69x
Line 1413: frame= 2730 fps=142 q=25.0 Lsize= 79584KiB time=00:01:49.08 bitrate=5976.8kbits/s speed=5.67x
Line 1755: frame= 2713 fps=142 q=29.0 Lsize= 80504KiB time=00:01:48.40 bitrate=6083.8kbits/s speed=5.66x
Line 2097: frame= 2575 fps=139 q=30.0 Lsize= 77023KiB time=00:01:42.88 bitrate=6133.1kbits/s speed=5.57x
Line 2439: frame= 2453 fps=140 q=30.0 Lsize= 73022KiB time=00:01:38.00 bitrate=6104.0kbits/s speed=5.61x
Line 2781: frame= 2790 fps=136 q=25.0 Lsize= 83146KiB time=00:01:51.48 bitrate=6109.9kbits/s speed=5.45x
If I use dn_enable=3, dn_quality="best" denoising I see these relatively consistent fps for VHS videos :
Code: Select all
after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False, dn_enable=3, dn_quality="best", dn_strength=0.06, dn_cstrength=0.06, dn_tthresh=75.0, dn_show=0, sh_enable=1, sh_strength=0.3 )
stacked_video = core.std.StackVertical( [before_video, after_video] )
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips.log (8 hits)
Line 387: frame= 2558 fps=143 q=27.0 Lsize= 75409KiB time=00:01:42.20 bitrate=6044.5kbits/s speed=5.71x
Line 729: frame= 2669 fps=141 q=29.0 Lsize= 80233KiB time=00:01:46.64 bitrate=6163.5kbits/s speed=5.62x
Line 1071: frame= 2728 fps=137 q=33.0 Lsize= 81386KiB time=00:01:49.00 bitrate=6116.6kbits/s speed=5.49x
Line 1413: frame= 2730 fps=142 q=24.0 Lsize= 79693KiB time=00:01:49.08 bitrate=5985.0kbits/s speed=5.67x
Line 1755: frame= 2713 fps=140 q=29.0 Lsize= 80549KiB time=00:01:48.40 bitrate=6087.2kbits/s speed=5.61x
Line 2097: frame= 2575 fps=139 q=29.0 Lsize= 77044KiB time=00:01:42.88 bitrate=6134.8kbits/s speed=5.57x
Line 2439: frame= 2453 fps=139 q=29.0 Lsize= 73031KiB time=00:01:38.00 bitrate=6104.8kbits/s speed=5.55x
Line 2781: frame= 2790 fps=138 q=26.0 Lsize= 82919KiB time=00:01:51.48 bitrate=6093.2kbits/s speed=5.51x
** Whereas if I use dn_enable=1, dn_quality="good" the fps vary a bit which seems unusual:
Code: Select all
after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False, dn_enable=1, dn_quality="good", dn_strength=0.06, dn_cstrength=0.06, dn_tthresh=75.0, dn_show=0, sh_enable=1, sh_strength=0.3 )
stacked_video = core.std.StackVertical( [before_video, after_video] )
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips.log (8 hits)
Line 387: frame= 2558 fps= 85 q=27.0 Lsize= 75415KiB time=00:01:42.20 bitrate=6045.0kbits/s speed=3.41x
Line 729: frame= 2669 fps=124 q=29.0 Lsize= 80111KiB time=00:01:46.64 bitrate=6154.0kbits/s speed=4.94x
Line 1071: frame= 2728 fps=169 q=33.0 Lsize= 81283KiB time=00:01:49.00 bitrate=6108.9kbits/s speed=6.76x
Line 1413: frame= 2730 fps=106 q=24.0 Lsize= 79592KiB time=00:01:49.08 bitrate=5977.4kbits/s speed=4.25x
Line 1755: frame= 2713 fps=258 q=29.0 Lsize= 80509KiB time=00:01:48.40 bitrate=6084.2kbits/s speed=10.3x
Line 2097: frame= 2575 fps= 72 q=30.0 Lsize= 76999KiB time=00:01:42.88 bitrate=6131.2kbits/s speed=2.88x
Line 2439: frame= 2453 fps= 83 q=24.0 Lsize= 72981KiB time=00:01:38.00 bitrate=6100.7kbits/s speed=3.34x
Line 2781: frame= 2790 fps= 90 q=26.0 Lsize= 82896KiB time=00:01:51.48 bitrate=6091.5kbits/s speed= 3.6x
Repeated test result:
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips.log (8 hits)
Line 387: frame= 2558 fps=157 q=27.0 Lsize= 75402KiB time=00:01:42.20 bitrate=6043.9kbits/s speed=6.27x
Line 729: frame= 2669 fps= 57 q=29.0 Lsize= 80115KiB time=00:01:46.64 bitrate=6154.4kbits/s speed=2.26x
Line 1071: frame= 2728 fps= 71 q=33.0 Lsize= 81283KiB time=00:01:49.00 bitrate=6108.9kbits/s speed=2.83x
Line 1413: frame= 2730 fps=141 q=24.0 Lsize= 79581KiB time=00:01:49.08 bitrate=5976.6kbits/s speed=5.62x
Line 1755: frame= 2713 fps=162 q=29.0 Lsize= 80499KiB time=00:01:48.40 bitrate=6083.4kbits/s speed=6.48x
Line 2097: frame= 2575 fps= 89 q=30.0 Lsize= 76986KiB time=00:01:42.88 bitrate=6130.2kbits/s speed=3.57x
Line 2439: frame= 2453 fps= 87 q=24.0 Lsize= 72962KiB time=00:01:38.00 bitrate=6099.0kbits/s speed=3.49x
Line 2781: frame= 2790 fps=284 q=26.0 Lsize= 82914KiB time=00:01:51.48 bitrate=6092.8kbits/s speed=11.3x
And if I use dn_enable=3, dn_quality="good" the fps also vary a bit :
Code: Select all
after_video = core.dgdecodenv.DGSource( r'G:\HDTV\DGtest\RESULTS\00_PostcardsFromMannum_sample-unprocessed_interlaced_CUT.DGI', deinterlace=1, use_top_field=True, use_pf=False, dn_enable=3, dn_quality="good", dn_strength=0.06, dn_cstrength=0.06, dn_tthresh=75.0, dn_show=0, sh_enable=1, sh_strength=0.3 )
stacked_video = core.std.StackVertical( [before_video, after_video] )
G:\HDTV\DGtest\TEST_CUDASynth_VHS_clips.log (8 hits)
Line 387: frame= 2558 fps=249 q=27.0 Lsize= 75384KiB time=00:01:42.20 bitrate=6042.6kbits/s speed=9.96x
Line 729: frame= 2669 fps=282 q=29.0 Lsize= 80239KiB time=00:01:46.64 bitrate=6163.9kbits/s speed=11.3x
Line 1071: frame= 2728 fps=249 q=33.0 Lsize= 81357KiB time=00:01:49.00 bitrate=6114.5kbits/s speed=9.96x
Line 1413: frame= 2730 fps=205 q=24.0 Lsize= 79668KiB time=00:01:49.08 bitrate=5983.1kbits/s speed= 8.2x
Line 1755: frame= 2713 fps=251 q=29.0 Lsize= 80515KiB time=00:01:48.40 bitrate=6084.7kbits/s speed= 10x
Line 2097: frame= 2575 fps=151 q=29.0 Lsize= 77018KiB time=00:01:42.88 bitrate=6132.7kbits/s speed=6.02x
Line 2439: frame= 2453 fps=135 q=29.0 Lsize= 73011KiB time=00:01:38.00 bitrate=6103.1kbits/s speed=5.38x
Line 2781: frame= 2790 fps=126 q=26.0 Lsize= 82922KiB time=00:01:51.48 bitrate=6093.4kbits/s speed=5.05x
Yes it's a poor test since it stacks filtered alongside unfiltered, with associated overheads.
Though I wonder, is that variation in fps to be expected ?
Perhaps the nature of the sources, or ffmpeg nvenc encoding takes longer due to less effective denoising ? Although, the first 2 lines in the ** test compared to the first 2 lines in the repeated test (in the same box) seem to render that unlikely.
Cheers
PS dn_enable options aren't described in the manual
CUDASynth
Posted: Tue Mar 12, 2024 6:58 pm
by Rocky
Thanks for pointing out the missing dn_enable stuff, m8. I have fixed it. I'll try to answer your fps variation question tomorrow as I am tired after getting 252 out the door and helping
Curly with his eac3to release. Plus I just ate a large ribeye and my brain is in a fog.
BTW, in the release, I omitted the AVX512 executable as it was identical to the AVX2 one. So nothing in the code could benefit from it, apparently.
BTW2, the next filter will be a full-featured DGTweak(). In case y'all forgot, I wrote the very first Tweak() filter way way back when.
CUDASynth
Posted: Tue Mar 12, 2024 9:27 pm
by hydra3333
Rocky wrote: ↑Tue Mar 12, 2024 6:58 pm
Thanks for pointing out the missing dn_enable stuff, m8. I have fixed it. I'll try to answer your fps variation question tomorrow as I am tired after getting 252 out the door and helping
Curly with his eac3to release. Plus I just ate a large ribeye and my brain is in a fog.
No worries. We'll deserved break from it.
A tad envious about the steak
I must lookup tweak now ...
CUDASynth
Posted: Wed Mar 13, 2024 7:13 am
by thechaoscoder
Rocky wrote: ↑Tue Mar 12, 2024 6:58 pm
BTW2, the next filter will be a full-featured DGTweak(). In case y'all forgot, I wrote the very first Tweak() filter way way back when.
Sounds great. Will it support features like auto gain, auto balance? This filter here
http://avisynth.nl/index.php/AutoAdjust is one of the better ones, but it's also a bit broken (no source code)