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 9th November 2017, 04:31   #2821  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
I'm trying to create a blankclip with compatbgr32, but blankclip doesn't support the format.
lansing is offline   Reply With Quote
Old 9th November 2017, 09:32   #2822  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,554
Quote:
Originally Posted by lansing View Post
I'm trying to create a blankclip with compatbgr32, but blankclip doesn't support the format.
Create a rgb24 blankclip and then convert it if you really need it
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet

Last edited by Myrsloik; 19th November 2017 at 19:47.
Myrsloik is offline   Reply With Quote
Old 9th November 2017, 16:59   #2823  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by Myrsloik View Post
Create a rgb24 blankclip and then cpnvert ot of you really need ot
When I declared a copy clip and format in blankclip, the declared format doesn't overwrite the format of the copy clip like other arguments. It still gave me the error "compat formats not supported".
Code:
core.std.BlankClip(compat_clip,length=padding, format=vs.RGB24)
lansing is offline   Reply With Quote
Old 9th November 2017, 17:05   #2824  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,554
Quote:
Originally Posted by lansing View Post
When I declared a copy clip and format in blankclip, the declared format doesn't overwrite the format of the copy clip like other arguments. It still gave me the error "compat formats not supported".
Code:
core.std.BlankClip(compat_clip,length=padding, format=vs.RGB24)
Will fix
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 10th November 2017, 16:23   #2825  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,729
How to properly do a thing like Greyscale() in Vapoursynth? I've got a movie which is supposedly black and white, but according to the x265 logs, there is data in the chroma channels.

core.std.ShufflePlanes(clips=inclip, planes=0, colorfamily=vs.GRAY) does create a greyscale clip but in Gray8 format. If I use core.resize.Bicubic(clp, format=vs.YUV420P16) after it to make the video something to feed to x265, the chroma channels have garbage (green) in them.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 10th November 2017, 16:41   #2826  |  Link
mandarinka
Registered User
 
mandarinka's Avatar
 
Join Date: Jan 2007
Posts: 729
Usually the "black and white" is a transfer from film or photo material. It is not going to be greyscale in the computer (or YUV) sense of the word.

If you strip the chroma, you will loose that "color" tone of the source, and it is likely not-so-insignificant alteration. So I would not do this, unless you are dealing with actual digital cap of a greyscale computer image and you know that for sure.

Basically, think of "sepia" photos. You also ruin those by insisting on saving them in "BW/greyscale" format.
mandarinka is offline   Reply With Quote
Old 10th November 2017, 16:42   #2827  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,554
Quote:
Originally Posted by Boulder View Post
How to properly do a thing like Greyscale() in Vapoursynth? I've got a movie which is supposedly black and white, but according to the x265 logs, there is data in the chroma channels.

core.std.ShufflePlanes(clips=inclip, planes=0, colorfamily=vs.GRAY) does create a greyscale clip but in Gray8 format. If I use core.resize.Bicubic(clp, format=vs.YUV420P16) after it to make the video something to feed to x265, the chroma channels have garbage (green) in them.
Try R40-RC2

It also fixes the blankclip bug reported by lansing
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 10th November 2017, 16:45   #2828  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,729
Quote:
Originally Posted by mandarinka View Post
Usually the "black and white" is a transfer from film or photo material. It is not going to be greyscale in the computer (or YUV) sense of the word.

If you strip the chroma, you will loose that "color" tone of the source, and it is likely not-so-insignificant alteration. So I would not do this, unless you are dealing with actual digital cap of a greyscale computer image and you know that for sure.

Basically, think of "sepia" photos. You also ruin those by insisting on saving them in "BW/greyscale" format.
Hmm..that's an interesting point of view. I was asking this because it is the first time for BW movies that I see anything chroma-related in the P/B frame weighting according to x264/x265 logs. Of course, I'll compare the two outputs if I can see any difference.

Myrsloik: thanks, will test it!
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 10th November 2017, 16:51   #2829  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,729
Quote:
Originally Posted by Myrsloik View Post
Try R40-RC2

It also fixes the blankclip bug reported by lansing
And it works, no more garbage there.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 10th November 2017, 16:54   #2830  |  Link
mandarinka
Registered User
 
mandarinka's Avatar
 
Join Date: Jan 2007
Posts: 729
It can also contain rainbows and such garbage added in transfer/processing too, in such case, I would try to use derainbowers on it, maybe even strong ones (but not ones that wash out colors in large areas, to be safe).
mandarinka is offline   Reply With Quote
Old 10th November 2017, 18:20   #2831  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,729
Quote:
Originally Posted by mandarinka View Post
It can also contain rainbows and such garbage added in transfer/processing too, in such case, I would try to use derainbowers on it, maybe even strong ones (but not ones that wash out colors in large areas, to be safe).
I checked many places by comparing the greyscaled and original output and couldn't see any visual differences. Maybe there's just some bluish hue or something like that which is basically impossible to notice even with a frame by frame comparison. Funny thing is that the greyscale version required a slightly more bitrate when I did a short test encode. The UV channels clearly affected the frame type decision.
__________________
And if the band you're in starts playing different tunes
I'll see you on the dark side of the Moon...
Boulder is offline   Reply With Quote
Old 10th November 2017, 18:50   #2832  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,554
R40 released. Blog post as usual. Everyone should upgrade since it's a maintenance release.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 10th November 2017, 22:43   #2833  |  Link
hydra3333
Registered User
 
Join Date: Oct 2009
Location: crow-land
Posts: 540
Thank you. In regard to building vapoursynth :-

I think I had been using an incorrect github link for avisynth+

Can you please confirm whether this is the right link ? It seems to have been updated more recently.
https://github.com/pinterf/AviSynthPlus/tree/MT

And this is the right link for zimg I guess.
https://github.com/sekrit-twc/zimg/releases

Last edited by hydra3333; 10th November 2017 at 23:32.
hydra3333 is offline   Reply With Quote
Old 11th November 2017, 00:29   #2834  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,554
Quote:
Originally Posted by hydra3333 View Post
Thank you. In regard to building vapoursynth :-

I think I had been using an incorrect github link for avisynth+

Can you please confirm whether this is the right link ? It seems to have been updated more recently.
https://github.com/pinterf/AviSynthPlus/tree/MT

And this is the right link for zimg I guess.
https://github.com/sekrit-twc/zimg/releases
Both are right
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 11th November 2017, 02:19   #2835  |  Link
DJATOM
Registered User
 
DJATOM's Avatar
 
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 377
Myrsloik
I tried to find out why TCPServer fails: https://github.com/DJATOM/TCPDeliver...erver.cpp#L478. I don't know why it crashing on GetFrame call, that code works well on Avisynth.
DJATOM is offline   Reply With Quote
Old 14th November 2017, 16:25   #2836  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,314
Possibly a rare use case in Expr: you cannot use 8-16 bit clips with 32 bit float clips in one expression (working register ordering is the opposite)
pinterf is offline   Reply With Quote
Old 19th November 2017, 08:52   #2837  |  Link
kgrabs
Registered User
 
Join Date: Jan 2017
Posts: 28
^ speaking of std.Expr, outputting float from int clips, or vice versa causes some crazy things to happen: http://screenshotcomparison.com/comparison/123935
kgrabs is offline   Reply With Quote
Old 19th November 2017, 16:42   #2838  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,554
Quote:
Originally Posted by kgrabs View Post
^ speaking of std.Expr, outputting float from int clips, or vice versa causes some crazy things to happen: http://screenshotcomparison.com/comparison/123935
Already fixed in git. Same issue as pinterf found.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 19th November 2017, 23:25   #2839  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,554
Quote:
Originally Posted by DJATOM View Post
Myrsloik
I tried to find out why TCPServer fails: https://github.com/DJATOM/TCPDeliver...erver.cpp#L478. I don't know why it crashing on GetFrame call, that code works well on Avisynth.
Nope, can't figure out exactly why. Couldn't even get it to connect and trigger the error oddly enough. Not going to spend more time on this since it's a great perversion even of the avisynth api...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 29th November 2017, 04:07   #2840  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
I have a problem applying multiple instances of the virtualdub filter neatvideo in vapoursynth, it was able to load preview but crash on preview close.

Code:
core.avs.LoadPlugin(r"C:\Program Files (x86)\AviSynth+\plugins64+\VDubFilter.dll")
core.avs.LoadVirtualdubPlugin(r'neatvideo.vdf', 'nv', 1)

clipa = core.avs.nv_2(clip, setting_a)
clipb = core.avs.nv_2(clip, setting_b)

clip = clipa + clipb
clip.set_output()
However, saving the filter under a different function name will work:
Code:
core.avs.LoadPlugin(r"C:\Program Files (x86)\AviSynth+\plugins64+\VDubFilter.dll")
core.avs.LoadVirtualdubPlugin(r'neatvideo.vdf', 'nv', 1)
core.avs.LoadVirtualdubPlugin(r'neatvideo.vdf', 'nv2', 1)

clipa = core.avs.nv_2(clip, setting_a)
clipb = core.avs.nv2_2(clip, setting_b)

clip = clipa + clipb
clip.set_output()
I first thought that it was a problem with neatvideo and avisynth because it was mentioned on the user manual. But after asking in the neatvideo forum and testing it out in avs+, it actually works without any problem. So I think the problem is from vapoursynth.

Here's the crash log from vs editor
Code:
Problem signature:
  Problem Event Name:	BEX64
  Application Name:	vsedit.exe
  Application Version:	18.0.0.0
  Application Timestamp:	59f4da49
  Fault Module Name:	NeatVideo.vdf_unloaded
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	540f49bd
  Exception Offset:	000007fed7512d60
  Exception Code:	c0000005
  Exception Data:	0000000000000008
  OS Version:	6.1.7601.2.1.0.256.1
  Locale ID:	1033
  Additional Information 1:	0052
  Additional Information 2:	0052a83208d9c99bc2a54c9c0c8ea3e8
  Additional Information 3:	ce3c
  Additional Information 4:	ce3cde77cba7f1c58c793ecf99d5100f
lansing is offline   Reply With Quote
Reply

Tags
speed, vaporware, vapoursynth

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 10:15.


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