Page 1 of 3

CUDA Suggestions and Talk

Posted: Sat May 20, 2017 8:26 pm
by admin
All your feature requests, suggestions, acute analysis, performance reports, and random thoughts are welcome in this thread.

Re: CUDA Suggestions and Talk

Posted: Sat May 20, 2017 8:35 pm
by Guest
If I may break the ice
Feature request
Resizer and a cropper would be good.
I realize that it can be done (cropping) through the dgi file but sometimes it just works better(?) if it is done after all other processing
Resizing can be done through DGSource but again sometimes it is better after everything else

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 1:10 am
by hydra3333
OK, random thoughts. I know we are already rich :-
What is DGDecodeNV?
Filter Syntax
DGSource()
DGDenoise()
DGSharpen()
DGTelecide()
DGDecimate()
DGBob()
PVBob()
Usage Examples
LoadPlugin() Example
DGSource() Examples
But you know how it is, rich people like to amass wealth.

I deal with a mostly interlaced material, sometimes noisy and blocky. Would it be difficult to create a DGDeblock which handles 576i/p, 720p, 1080i/p ?

DGDenoise is good ... would there be any merit in considering an equivalent to DGDegrain1/2/3 (yes, mvtools) which handles handles both interlaced and progressive ?

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 2:18 am
by Sharc
Here my carpet for visual comparison of 4 bobbers.
(PVBob lags by 1 frame)

http://www.mediafire.com/file/dr11b0pm9 ... st_city.ts

Comments are welcome.

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 7:11 am
by Guest
PVBob looks good, but did I notice a little softness in the two bobbers?
Only really noticeable on a frame by frrame advance

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 8:01 am
by admin
gonca wrote:If I may break the ice
Feature request
Resizer and a cropper would be good.
I realize that it can be done (cropping) through the dgi file but sometimes it just works better(?) if it is done after all other processing
Resizing can be done through DGSource but again sometimes it is better after everything else
Cropping is trivial and doesn't need any CUDA support. You can crop anywhere in your script for essentially zero cost.

Resizing is different of course. Did you have some specific use case in mind, such as increasing vertical size by using an EDI-type algorithm? Do you not see the core resizers as adequate?

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 8:12 am
by admin
hydra3333 wrote: But you know how it is, rich people like to amass wealth.
Poor people too. ;)
I deal with a mostly interlaced material, sometimes noisy and blocky. Would it be difficult to create a DGDeblock which handles 576i/p, 720p, 1080i/p ?
Yes, I want to do a deblocker. You could help by providing typical samples and describing how you process them now. To be honest, I am not very familiar with real-world deblocking use cases and processing.
DGDenoise is good ... would there be any merit in considering an equivalent to DGDegrain1/2/3 (yes, mvtools) which handles handles both interlaced and progressive ?
Possibly. The mv-based stuff is tricky. You'll have to be patient for it. Denoising interlaced can be done with separatefields/denoise/weave, etc.

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 8:13 am
by admin
@Sharc, thanks for the comparison. I'll check it out after my breakfast. You can put a Trim(1,-0) on PVBob to get the frames matching up.

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 8:23 am
by Guest
Resizing is different of course. Did you have some specific use case in mind, such as increasing vertical size by using an EDI-type algorithm? Do you not see the core resizers as adequate?
Core resizers are good but if I have to use PVBob then the cropping and resizer should be used after deinterlacing, I believe

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 9:04 am
by admin
It's just a few simple lines for the VPP config to duplicate what DGSource() can do, so I'll put it on the list. I want to get this one-frame lag thing sorted out first, though.

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 10:08 am
by Guest
Thanks for considering it, no rush.
DG__NV CUDATools is well on its way to becoming a complete suite of AVISynth filters

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 1:27 pm
by Sharc
admin wrote:@Sharc, thanks for the comparison. I'll check it out after my breakfast. You can put a Trim(1,-0) on PVBob to get the frames matching up.
Here the same in a different format for comparing the 4 bobbers. The outputs of the 4 bobbers are interleaved, so when you step through the clip you will immediately see the differences between the bobbers. The PVBob frames should be synchronized now.
http://www.mediafire.com/file/d6yat77um ... erleave.ts

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 1:52 pm
by admin
Cool! Can you post your settings too please?

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 2:23 pm
by Sharc
Hmmm... thinking about it one has probably to be cautious with the interleaved version because of the way how the x264 encoder works. The picture sequence of the frames which are served to the encoder is different (4 x more or less the same picture in sequence). I was wondering why the first version with the 4 stacked pictures ended up in a much higher file size than the interleaved version with 4x number of frames, for the same x264 settings.

Here the x264 cmd line: x264.exe --preset medium --crf 24 --nr 150 --output "bobtest_city_interleave.264" "Deinterlacing_.avs"

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 2:25 pm
by admin
I meant the settings for the 4 bob filters.

Agreed on the encoding. Just give it a boatload of bitrate. Or just give your script and we can play it directly, no need to encode it. But then we would need to have the filter executables on hand.

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 3:21 pm
by Sharc
Here the script; bob filter settings = all default

Code: Select all

clip=DGSource("Cityscape.dgi").Trim(50,0)
clip=clip.ConvertToYV12(interlaced=true)
clip=clip.assumeTFF()

bob1=clip.DGbob(order=1,mode=1).subtitle("DGBob",align=5,size=64) 
bob2=clip.PVBob().subtitle("PVBob",align=5,size=64).trim(1,0)   #trim to sync PVBob
bob3=clip.tdeint(mode=1,map=0,order=1).subtitle("TDeint",align=5,size=64)
bob4=clip.QTGMC(preset="slower",InputType=0).subtitle("QTGMC",align=5,size=64)

#row1=stackhorizontal(bob1,bob2) #for stacked pictures
#row2=stackhorizontal(bob3,bob4) #for stacked pictures

#final=stackvertical(row1,row2) #for stacked pictures
final=interleave(bob1,bob2,bob3,bob4) #for interleave

return final

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 3:35 pm
by admin
Thanks!

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 7:22 pm
by admin
Off Topic: You guys might be interested to know that I changed over my source control to Team Foundation Server Express. It works really well (so far). It's very well integrated into Visual Studio and it makes automated backups of the database. I'll now be able to label all slipstream releases with a build number and be able to recreate them if needed.

Re: CUDA Suggestions and Talk

Posted: Sun May 21, 2017 7:30 pm
by Guest
The build number sounds good.
With all the changes to DGDecNV lately I sometimes have to scratch my head trying to figure out which slipstream I am on

Re: CUDA Suggestions and Talk

Posted: Mon May 22, 2017 1:35 am
by Sharc
I redid the interleaved version of the bobber comparison. It's encoded with a higher bitrate now to reduce the impact of encoding artefacts which could mask the bobbing artefacts.
Or just play the script directly to eliminate the influence of the re-encoding.
(The encoding of of the 3-minutes clip took about 6 hours here)

http://www.mediafire.com/file/2emmdg6qb ... leave_1.ts

Re: CUDA Suggestions and Talk

Posted: Mon May 22, 2017 6:05 am
by Sharc
What went wrong here? Look at the strong color ghosting for PVBob. :shock: The other bobbers are clean.....
Source and sample here:
http://www.mediafire.com/file/w364x2sin ... adios_.zip

Re: CUDA Suggestions and Talk

Posted: Mon May 22, 2017 8:58 am
by admin
Looks like something is not working right. ;)

OK, the VPP apparently wants its pitch to be mod 64. 1920 / 64 = 30, so it works fine. 1440 / 64 = 22.5, so it fails. I changed the VPP re-pitching to mod 64 and it fixes this issue. If you resize to width=1920 it also works without this fix.

I'll slipstream a fix for this and the delay later this morning after final testing.

Thanks for pointing this out. nVidia told me this VPP feature is experimental, so we are learning by experiment. 8-)

Re: CUDA Suggestions and Talk

Posted: Mon May 22, 2017 9:23 am
by Guest
gonca wrote:PVBob looks good, but did I notice a little softness in the two bobbers?
Only really noticeable on a frame by frrame advance
After viewing the latest comparison by Sharc I retract my statement.
The comparisons look good, new issues apart

Re: CUDA Suggestions and Talk

Posted: Mon May 22, 2017 9:56 am
by admin
Please test the new slipstream, guys. Thanks!

I prefer bug reports in the relevant threads rather than this talk thread, if possible, but no big deal. Thank you.

Re: CUDA Suggestions and Talk

Posted: Mon May 22, 2017 11:27 am
by Sharc
admin wrote:Looks like something is not working right. ;)

OK, the VPP apparently wants its pitch to be mod 64. 1920 / 64 = 30, so it works fine. 1440 / 64 = 22.5, so it fails. I changed the VPP re-pitching to mod 64 and it fixes this issue. If you resize to width=1920 it also works without this fix.

I'll slipstream a fix for this and the delay later this morning after final testing.

Thanks for pointing this out. nVidia told me this VPP feature is experimental, so we are learning by experiment. 8-)
Yep, it's ok now. Thanks.