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. |
10th October 2017, 18:04 | #3661 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
@davidhorman
See here for more info. http://avisynth.nl/index.php/Avisynthplus/Developers There's a few post in this thread with a bit more info, unfortunately I'm away from my home computer ATM. |
10th October 2017, 22:56 | #3663 | Link | |
Soul Architect
Join Date: Apr 2014
Posts: 2,559
|
Quote:
MT_MULTI_INSTANCE creates 8 instances, and I'm not sure the thread creating the class is always the same as the thread calling GetFrame, in fact I think it can be any thread but always only 1 call at once. MT_SERIALIZED, it will have 1 instance and only 1 call at once. However, there is currently a bug in the latest AVS+ where it can actually receive 2 calls at once in certain cases. Pinterf is working on fixing that, but for now, MT_SERIALIZED is broken. |
|
11th October 2017, 14:29 | #3665 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
Code:
20170602 r2502 - fix: (Important!) MT_SERIALIZED mode did not always protect filters (regression since r2069) Such filters sometimes were called in a reentrant way (like being MT_NICE_FILTER), which possibly resulted in using their internal buffers parallel. [...] |
|
11th October 2017, 14:42 | #3666 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
Remark: do not worry about rounding errors in 8 bit conversions and in 8 bit filters in general. Most of the 8 bit functions work internally with 13-15 bits precision (like in classic Avisynth) |
|
11th October 2017, 18:09 | #3667 | Link | |
Registered User
Join Date: Dec 2011
Posts: 354
|
Quote:
Bit shifting wouldn't work correct since 255 bit-shifted is not 65535. But in avisynth they are equal white. I'm pretty sure you know it, just pointing to it. |
|
11th October 2017, 18:48 | #3668 | Link | |
Formerly davidh*****
Join Date: Jan 2004
Posts: 2,496
|
Quote:
Code:
(x << 8) | x |
|
12th October 2017, 11:39 | #3669 | Link | |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
The tl;dr is that as a rule of thumb:
It also may or may not be relevant to note that all GetFrame calls that need to happen to produce a given output frame at the end of the script happen in the same single thread, regardless of what MT modes are in use. You probably shouldn't rely on this for anything, though. Last edited by TheFluff; 12th October 2017 at 11:46. |
|
18th October 2017, 15:37 | #3671 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Is the avs+ api stable now? I really don't want to waste time adding compatibility for it if I'm going to have to change things later.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
18th October 2017, 16:11 | #3673 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
what about add support for vs api in avs+ to load vs plugins (dll) in avs+?
We discussed this in irc years ago and Myrsloik said it's possible
__________________
See My Avisynth Stuff |
18th October 2017, 16:13 | #3674 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Short developer news, I hope I'll have less busy months from now (finished a marathon with 2:55, this year I was preparing on this race instead of coding)
- "Levels" now allows 32 bit float inputs - today I have successfully ported Expr filter from the VapourSynth project, with some additions (masktools syntax of built-in constants and some of the scaling helper functions). |
19th October 2017, 11:07 | #3676 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
Expr will be part of internal avs+ functions?
__________________
See My Avisynth Stuff |
|
21st October 2017, 16:59 | #3679 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
What's the proper way to detect if a plugin is compiled for the avs 2.6 or avs+ api? By whether or not it calls SetFilterMTMode() on init? Is there some other way? I want to make sure 2.6 plugins don't get exposed to avs+ only formats.
And speaking of formats... are only formats with a pre-combined constant allowed or can I have some 16bit yuv with insanely high subsampling? Btw, do any filters have meaningful planar YUVA or RGBA support or can I skip implementing it properly for now? Oh, and is the threadpool and jobcompletion stuff actually documented somewhere?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet Last edited by Myrsloik; 21st October 2017 at 17:02. |
21st October 2017, 19:17 | #3680 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Maybe AVSMeter (src included) can help you for the detection part: https://forum.doom9.org/showthread.php?t=174797
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database Last edited by ChaosKing; 21st October 2017 at 19:22. |
|
|