Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th December 2018, 00:08   #261  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,387
OK, will do. Thanks for the suggestion.
videoh is offline   Reply With Quote
Old 12th December 2018, 00:13   #262  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by videoh View Post
OK, will do. Thanks for the suggestion.
And, while we're at it, could you please also make DGDenoise native to vapoursynth? (so that DGDecodeNV.dll doesn't need to be loaded as legacy avs filter any more for it, with LoadPlugin).
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 12th December 2018, 03:15   #263  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,387
Quote:
Originally Posted by asarian View Post
And, while we're at it, could you please also make DGDenoise native to vapoursynth? (so that DGDecodeNV.dll doesn't need to be loaded as legacy avs filter any more for it, with LoadPlugin).
The problem for me is that implementing both native Avisynth and native Vapoursynth versions creates a lot of code duplication and extra maintenance. I have not found a solution to this. Myrsloik has stated, and testing bears out, that there is no performance penalty for using the avscompat mechanism. So unless a compelling argument is advanced, I'll prefer to just make one version. If Avisynth could import Vapoursynth filters then I would reverse things.

I had already implemented native Vapoursynth for DGSource() before I settled on this policy.
videoh is offline   Reply With Quote
Old 12th December 2018, 03:32   #264  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by videoh View Post
The problem for me is that implementing both native Avisynth and native Vapoursynth versions creates a lot of code duplication and extra maintenance. I have not found a solution to this. Myrsloik has stated, and testing bears out, that there is no performance penalty for using the avscompat mechanism. So unless a compelling argument is advanced, I'll prefer to just make one version. If Avisynth could import Vapoursynth filters then I would reverse things.

I had already implemented native Vapoursynth for DGSource() before I settled on this policy.
Okay, thx. That sounds entirely reasonable. I tried it out last night on a re-encode, and was worried that maybe the avs route would be less stable somehow, but turned out to be rocksolid after all.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 12th December 2018, 03:42   #265  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
^^ P.S. I'm continually amazed at how fast the GPU stuff is. Naturally, my GTX 1080 Ti is a beast, but especially the GPU load (measured by GPU-Z) is extremely low: along with OpenCL support for x264, the gpu-assisted resize, and DGDenoise, the entire GPU load only dips into a few percent, every now then. nVidea, ftw!
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 12th December 2018, 04:20   #266  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,387
Quote:
Originally Posted by asarian View Post
^^ P.S. I'm continually amazed at how fast the GPU stuff is.
Yes, it clearly outperforms CPU implementations and if you can eliminate unnecessary CPU<->GPU transfers (think CUDASynth) it blows CPU away into the next galaxy.

Quote:
Naturally, my GTX 1080 Ti is a beast, but especially the GPU load (measured by GPU-Z) is extremely low: along with OpenCL support for x264, the gpu-assisted resize, and DGDenoise, the entire GPU load only dips into a few percent, every now then. nVidea, ftw!
Who can argue with that? I like to remind people to look at the CPU utilization too, because savings can be applied to CPU things, especially encoding.
videoh is offline   Reply With Quote
Old 12th December 2018, 04:33   #267  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by videoh View Post
I like to remind people to look at the CPU utilization too, because savings can be applied to CPU things, especially encoding.
Consider my following script:

Code:
import vapoursynth as vs

core = vs.get_core ()
core.max_cache_size = 8192

core.avs.LoadPlugin ("C:/Program Files (x86)/dgdecnv/x64 Binaries/DGDecodeNV.dll")

vid = core.avs.DGSource (r'i:\jobs\inter.dgi', resize_w=1920, resize_h=1080, fulldepth=True)
vid = core.dghdrtosdr.DGHDRtoSDR (clip=vid, fulldepth=False)
vid = core.avs.DGDenoise (vid, strength=0.12, searchw=9)

vid.set_output ()

The typical CPU-utilization for a job like this is 99% CPU (for the x264 process), and about 0.3% for vspipe (YAY GPU!)

On a non-GPU accelerated jon, CPU saturation for the vspipe process is around 50% (with haf.QTGMC). So, yeah, whatever can be done in GPU, I'll take it!
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 12th December 2018, 05:18   #268  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,387
Quote:
Originally Posted by asarian View Post
So, yeah, whatever can be done in GPU, I'll take it!
Have a look at DGBob() and PVBob() instead of QTGMC for deinterlacing if you are after blazing speed. Decomb is also implemented for GPU (DGTelecide and DGDecimate).

Maybe getting OT for this thread.

Last edited by videoh; 12th December 2018 at 05:22.
videoh is offline   Reply With Quote
Old 10th January 2019, 07:51   #269  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by videoh View Post
You may like this one as it is GPU accelerated. Apply it after resizing on the GPU (if needed) for maximum performance.
I'm loving it!

I noticed, however, that sometimes DGHDRtoSDR still leaves things too washed out, as it were. See: https://1drv.ms/u/s!AhSxhQ9g_mrMlEJQ6vC4Z8ExAKlg

Those are stills from the movie Divergent. The overlapped image (on the right, with the black bars) is from the original blu-ray; the underlying, big image is what DGHDRtoSDR produced (with default values).

In Photoshop, I needed +48 contrast to have it look kinda like the blu-ray. Sadly, I found no contrast parameter for DGHDRtoSDR (brightness didn't seem to affect much of anything). Is there a way to achieve this?

Thanks.

EDIT: 'what DGHDRtoSDR produced' from the UHD source, of course.
__________________
Gorgeous, delicious, deculture!

Last edited by asarian; 10th January 2019 at 19:09.
asarian is offline   Reply With Quote
Old 10th January 2019, 19:55   #270  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,387
Quote:
Originally Posted by asarian View Post
Sadly, I found no contrast parameter for DGHDRtoSDR (brightness didn't seem to affect much of anything). Is there a way to achieve this?
Use Tweak() in your Avisynth script.
videoh is offline   Reply With Quote
Old 10th January 2019, 21:10   #271  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by videoh View Post
Use Tweak() in your Avisynth script.
Thanks. I see it's part of havsfunc itself.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 15th February 2019, 10:43   #272  |  Link
RainyDog
Registered User
 
Join Date: May 2009
Posts: 184
Is it possible to use fmtconv to resize and crop together?

For example, in avisynth you can the below script when the exact crop is a row of 21 black pixels at both the top and bottom to avoid either overcropping or undercropping by 2 pixels.

Spline36Resize(1920, 1038, 0, 21, -0, -21)

Thanks.
RainyDog is offline   Reply With Quote
Old 15th February 2019, 10:50   #273  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,570
See documentation about "resample" "sx", "sy", "sw", "sh" parameters.

Quote:
sx, sy

Coordinate of the top-left corner of the picture sub-area used as source for the resizing. They can be fractional. If negative, the picture is extended by replicating the left pixel column.

These parameters are arrays, so itís possible to specify a different value for each plane. The last value is used for the unspecified planes. The coordinates are always related to the pixel dimensions, you donít need to scale them with the chroma subsampling.

sw, sh

Size in pixels of the sub-area to resize. They can be fractional. If 0, the area has the same size as the source clip. If negative, they define coordinates relative to the bottom-right corner, in a Crop-like manner. These parameters are arrays like sx and sy.
sneaker_ger is offline   Reply With Quote
Old 21st February 2019, 22:38   #274  |  Link
zorr
Registered User
 
Join Date: Mar 2018
Posts: 248
Quote:
Originally Posted by Wolfberry View Post
If you are using the dll from the official release, I will recommend to use the one from ChaosKing's FATPACK or the one in my signature as it is compiled with a newer compiler and might save you from random crashes.
I'm using the FATPACK version but fmtconv.dll is dated March 2016 and has the exact same date as the official version. Is the more recent (and hopefully less buggy) version still available somewhere?
zorr is online now   Reply With Quote
Old 22nd February 2019, 09:10   #275  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by zorr View Post
I'm using the FATPACK version but fmtconv.dll is dated March 2016 and has the exact same date as the official version. Is the more recent (and hopefully less buggy) version still available somewhere?
I'm using the one Wolfberry linked to (his own version), but the link doesn't seem valid any more. Sad, because that one is very stable.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 23rd February 2019, 01:40   #276  |  Link
zorr
Registered User
 
Join Date: Mar 2018
Posts: 248
Quote:
Originally Posted by asarian View Post
I'm using the one Wolfberry linked to (his own version), but the link doesn't seem valid any more. Sad, because that one is very stable.
Could you share the file? It could be included in the next FATPACK.
zorr is online now   Reply With Quote
Old 23rd February 2019, 02:53   #277  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by zorr View Post
Could you share the file? It could be included in the next FATPACK.
Here it is: fmtconv.dll

It's for 64-bit, btw.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 23rd February 2019, 02:58   #278  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 4,563
wolfberry has 3 public shared fmtconv versions, which one are you linking to? or is it a different one ?
https://drive.google.com/drive/folde...mHKYLzO3elemlC
poisondeathray is offline   Reply With Quote
Old 23rd February 2019, 10:19   #279  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by poisondeathray View Post
wolfberry has 3 public shared fmtconv versions, which one are you linking to? or is it a different one ?
https://drive.google.com/drive/folde...mHKYLzO3elemlC
If I recall correctly, he had a separate vapoursynth directory there (which I couldn't find any more earlier either). The fmtconv version I took was dated 8 Dec 2018 (which I don't see any more either). Said directory had things like a new libdfttest too.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 23rd February 2019, 20:33   #280  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,125
A warning, as people still seem to be posting directly to threads and may not be aware:

It appears that the forum may have been hacked. There is a suspicious "test" announcement, apparently from tebasuna51 (but probably not), parts of the forum are not working, and there appear to be some malicious javascript files.

I'm not speaking in any official capacity here, but I would recommend, at the very least, NOT entering your password anywhere on Doom9 for the time being.

Please refer to this post: https://forum.doom9.org/showthread.p...wpost&t=176128
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is online now   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 22:30.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.