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 20th October 2013, 13:47   #981  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Maybe like the font used in AutoGain's or SmoothAdjust's elegant debug view mode?


* Click the image to enlarge *


* SmoothCurve - Click the image to enlarge *
Reel.Deel is offline   Reply With Quote
Old 20th October 2013, 14:09   #982  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
Quote:
Originally Posted by Reel.Deel View Post
Maybe like the font used in AutoGain's or SmoothAdjust's elegant debug view mode?
Heh, that looks like DejaVu Sans Mono (which isn't a bitmap font, I think).
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 20th October 2013, 18:37   #983  |  Link
LaTo
LaTo INV.
 
LaTo's Avatar
 
Join Date: Jun 2007
Location: France
Posts: 701
AvsFont.7z

The .7z file contains only a header with the raw data and a small example (pseudo-code, not tested).

Unfortunately I do not have time to do a more complete package,
so you will have to create your classes and functions yourself.
LaTo is offline   Reply With Quote
Old 20th October 2013, 20:52   #984  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
I got a strange issue running R20 and Chikuzen's ImageReader 0.2.1. I'm trying to open this image. When using the VfW interface the application simply closes immediately, no error message or anything (tested VirtualDub and MPC-HC). vspipe shows the correct info but if you try to pipe it shows:
Code:
No frame returned at the end of processing by
QWaitCondition: Destroyed while threads are still waiting
sneaker_ger is offline   Reply With Quote
Old 20th October 2013, 21:52   #985  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by sneaker_ger View Post
I got a strange issue running R20 and Chikuzen's ImageReader 0.2.1. I'm trying to open this image. When using the VfW interface the application simply closes immediately, no error message or anything (tested VirtualDub and MPC-HC). vspipe shows the correct info but if you try to pipe it shows:
Code:
No frame returned at the end of processing by
QWaitCondition: Destroyed while threads are still waiting
That's odd. Will test it tomorrow. It should at least print the name of the offending filter.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 21st October 2013, 10:39   #986  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by sneaker_ger View Post
I got a strange issue running R20 and Chikuzen's ImageReader 0.2.1. I'm trying to open this image. When using the VfW interface the application simply closes immediately, no error message or anything (tested VirtualDub and MPC-HC). vspipe shows the correct info but if you try to pipe it shows:
Code:
No frame returned at the end of processing by
QWaitCondition: Destroyed while threads are still waiting
The issue is that vsimagereader accesses a NULL pointer. I think Chikuzen will post an updated version later today.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 21st October 2013, 22:05   #987  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Here's a test version with many changes and improvements.

Notable changes since R20:
Code:
now properly flips compatrgb32 when converting, previously conversions to/from would make the picture upside down
optimized 8 bit merge and maskedmerge
fixed crash bugs in planeaverage/difference/cliptoprop/proptoclip introduced in r20
now flattens frame properties as well, this is the proper documented behavior
merged all selectclip functionality into frameeval, selectclip was removed as a separate function
vsvfw now returns a clip with the error message if there's an error
added a basic text printing filter to the core, code written by nodame
it's now possible to use dir() on frame.props and core.namespace in python to list interesting properties and attributes
added a compiled version of assvapour, it's probably a bit broken when it comes to font selection at the moment
ported removegrain/repair based on dither tools' code, support 8-16 bit input
fixed a cache issues where it would shrink to far too small sizes
fixed several bugs in shuffleplanes, now it will correctly deduce the dimensions of the output in more cases and properly reject variable size/format input
fixed a rare hang that could happen in avisynth compatibility when only using one thread
adjusted avisynth compat prefetching lists, specifically MCompensate should be faster now
Help test the changes. This build should be better than R20 in every way.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 22nd October 2013, 20:15   #988  |  Link
gpower2
gMKVExtractGUI author
 
gpower2's Avatar
 
Join Date: Aug 2003
Location: Greece / Thessaloniki
Posts: 251
Will we see any speed difference with this version, compared to a traditional AviSynth script?

Especially in true multicore processors...
gpower2 is offline   Reply With Quote
Old 24th October 2013, 03:24   #989  |  Link
aegisofrime
Registered User
 
Join Date: Apr 2009
Posts: 478
Hi,

I seem to be getting strange artifacts with QTGMC on r21 that wasn't present on r19 (never tried r20):

Good (r19):



Bad (r21):



Note: The artifacts aren't as obvious on the thumbnail, click on thumbnail for full size image in which the artifacts are more obvious.

Here's my script that I used for r21, just in case it's a screwup on my end (which is probably very likely)

Code:
import vapoursynth as vs
import havsfunc
import sys
core = vs.get_core(threads=4)
haf = havsfunc.HAvsFunc(core)
core.std.LoadPlugin(r'C:\Program Files (x86)\VapourSynth\filters\temporalsoften.dll')
core.std.LoadPlugin(r'C:\Program Files (x86)\VapourSynth\filters\libnnedi3.dll')
core.std.LoadPlugin(r'C:\Program Files (x86)\VapourSynth\filters\fmtconv.dll')
core.std.LoadPlugin(r'C:\Program Files (x86)\VapourSynth\filters\scenechange.dll')
core.std.LoadPlugin(r'C:\Program Files (x86)\VapourSynth\filters\temporalsoften2.dll')
core.std.LoadPlugin(r'C:\Program Files (x86)\VapourSynth\filters\genericfilters.dll')
core.avs.LoadPlugin(r"C:\Program Files (x86)\AviSynth 2.5\plugins\DGDecode.dll")
core.avs.LoadPlugin(path=r'C:\Program Files (x86)\VapourSynth\filters\avisynthfilters.dll')
core.avs.LoadPlugin(path=r'C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools-25.dll')
core.avs.LoadPlugin(path=r'C:\Program Files (x86)\AviSynth 2.5\plugins\mvtools2.dll')
core.avs.LoadPlugin(path=r'C:\Program Files (x86)\AviSynth 2.5\plugins\RemoveGrainSSE3.dll')
core.avs.LoadPlugin(path=r'C:\Program Files (x86)\AviSynth 2.5\plugins\FFT3DFilter.dll')
core.avs.LoadPlugin(path=r'C:\DGAVCIndex\DGAVCDecode.dll')
clip = core.avs.AVCSource(dga =r"I:\Test\Test.dga")
clip = haf.QTGMC(clip, Preset='Slow', SubPel=2,TFF=True)
clip.set_output(index = 0)
For r21 I commented out the two temporalsoften filters, moving the temporalfilter2.dll file to the autoload folder, since somehow if I load them manually it throws an error.

For r19 I am able to load them successfully without an issue.

Am I doing something wrong?

P.S: Apologies for the large image size as it was what I could get quickest!

Last edited by aegisofrime; 24th October 2013 at 04:33.
aegisofrime is offline   Reply With Quote
Old 24th October 2013, 13:28   #990  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
1. There's a bug in merge() in the test version. That's where the artifacts come from.
2. You get the error because you're probably loading the same thing several times.
3. Use the native vs removegrain/repair. The avisynth one is too broken to work.

I'll probably post a new test build tonight after I test all the new as properly.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 25th October 2013, 11:24   #991  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Here's a fixed test build. No other changes.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 25th October 2013, 17:11   #992  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by HolyWu View Post

Is cache size not allowed to be set >= 2048MB?
It is allowed. But there may be bugs related to it. I'll check and fix the code.

Note that vspipe.exe is flagged to support 3GB address space but even then you need to leave a bit as margin. VS only counts allocated frames towards the memory use and ignores the rest.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 25th October 2013, 19:53   #993  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Here's R21 RC1.

Changes since test 2:
Code:
fixed setting maximum memory use over 2GB from python
added an additional output format argument to modifyframe, also added checks to prevent crashes
now completely rejects adding known to be hopelessly broken functions from avisynth plugins (removegrain/repair/iscombed/colormatrix)
I will be going C++11/C99 for R22. There are simply too many useful things in there to skip it. It's also a long term (veeeeeery long term) path to not relying on Qt at all.

Don't forget to take a look at the bug tracker as well. There are some things like documentation and not too difficult programming tasks I need help with. Such improving the Expr filter.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 25th October 2013, 21:49   #994  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
What's broken in ColorMatrix?
Wilbert is offline   Reply With Quote
Old 25th October 2013, 21:56   #995  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by Wilbert View Post
What's broken in ColorMatrix?
It's only broken in VS. If I recall correctly it uses invoke internally to do fancy things and I'm not going to bother implementing that part of avisynth.

Likewise IsCombed is conceptually broken as well. You can run it just fine but you'll never be able to use its output.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 26th October 2013, 18:14   #996  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 724
Thank you for a great work, Mysrloik. Could you please make an example of plugin working with different bit depths and both integer and real color component values?
__________________
...desu!
Mystery Keeper is offline   Reply With Quote
Old 26th October 2013, 18:24   #997  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by Mystery Keeper View Post
Thank you for a great work, Mysrloik. Could you please make an example of plugin working with different bit depths and both integer and real color component values?
Would extending the invert example be enough for you or do you have a particular simple filtering operation in mind? The other place to look is at the existing internal filters. For example MaskedMerge is a very straightforward filter that support 8-16 bit int and 32 bit float.

For integer types there's really not much difference. Everything just has more significant bits.

Floating point is slightly different. There RGB and Y channels are in the 0 to 1 range. And UV/CoCg are -0.5 to 0.5 range.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet

Last edited by Myrsloik; 26th October 2013 at 18:31.
Myrsloik is offline   Reply With Quote
Old 26th October 2013, 18:34   #998  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 724
Ugh. Thank you for the hint. But IMO that source really needs to be broken into several smaller ones.
__________________
...desu!
Mystery Keeper is offline   Reply With Quote
Old 27th October 2013, 12:45   #999  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 724
Trying to port TempLinearApproximate to VapourSynth. So far it works well on Y plane, but produces weird result on U and V (plane=6). What am I doing wrong?
http://paste.org.ru/?tgifsl
Also, for some reason it is much slower than in AvySynth.
__________________
...desu!

Last edited by Mystery Keeper; 27th October 2013 at 12:48.
Mystery Keeper is offline   Reply With Quote
Old 27th October 2013, 13:50   #1000  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by Mystery Keeper View Post
Trying to port TempLinearApproximate to VapourSynth. So far it works well on Y plane, but produces weird result on U and V (plane=6). What am I doing wrong?
http://paste.org.ru/?tgifsl
Also, for some reason it is much slower than in AvySynth.
You're using the R21 RC, right? R20 has a cache bug that can make it very slow.

I'll compile and take a look at what exactly the code does. A bit later today...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik 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 11:47.


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