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. |
11th February 2018, 20:51 | #281 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
It has always worked that way, non optionals have to be provided in given order and without naming, just giving in function prototype in quotes will accept as optional, but, must use eg x=Default(x,true) internally, else crash when not supplied.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 11th February 2018 at 23:58. |
11th February 2018, 21:08 | #282 | Link | |
Registered User
Join Date: Aug 2006
Location: Stockholm/Helsinki
Posts: 805
|
Quote:
And I just realized I posted this in the wrong topic (thought I was in the avs+ topic...). A mod can move these posts if they want. |
|
11th February 2018, 21:42 | #283 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
2) unlikely. Non optionals are compulsory, and in compulsory order, so apart from anything else, names in those cases are superfluous. EDIT: Names are used so as to accept optional defaults, and specify out-of-order optionals where is convienient.
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 12th February 2018 at 01:45. |
|
26th February 2018, 09:48 | #284 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Fix mt_convolution 10-16 bit mode for SSE2/SSSE3-only processors
Download masktools2 v2.2.14 Code:
Changelog **v2.2.14 (20180225) - Fix: mt_convolution invalid instruction on processors below SSE4.1 |
2nd July 2018, 15:01 | #285 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
New release.
Download masktools2 v2.2.16 This version is partly an update for handling 32 bit float the same way as Avisynth+ r2728 does. And there are some quite significant new features. Special thanks to real.finder for his ideas and testing. I hope a couple of scripts will benefit from the changes, both quality and speedwise. Changelog Code:
**v2.2.16 (20180702) - mt_merge new parameter hint for chroma placement when luma=true and 4:2:0/4:2:2 String 'cplace': possible values "mpeg1" or "mpeg2" (default) Parameter is effective only for 420 and 422 formats, otherwise ignored. Default "mpeg1" is using fast 2x2 pixel (1x2 for 4:2:2) averaging when converting a 4:4:4 mask to a 4:2:0 or 4:2:2 format (old behaviour) 420 schema: +------+------+ | 0.25 | 0.25 | |------+------| | 0.25 | 0.25 | +------+------+ "mpeg2" is using 2x3 (1x3 for 4:2:2) pixel weighted averaging when converting a 4:4:4 mask to a 4:2:0 or 4:2:2 format 420 schema: ------+------+-------+ 0.125 | 0.25 | 0.125 | ------|------+-------| 0.125 | 0.25 | 0.125 | ------+------+-------+ - 32 bit float U and V chroma channels are now zero based (+/-0.5 for full scale). Was: 0..1, same as luma Since internal format changed, use Avisynth+ r2724 or newer for this masktools2 2.2.16. Affected predefined expression constants when plane is U or V: cmin and cmax (limited range (16-128)/255 and (240-128)/255 instead of 16/255.0 and 240/255.0 range_max: 0.5 instead of 1.0 new: introduce range_min: -0.5 for float U/V chroma, 0 otherwise range_half (0.0 instead of 0.5) (range_size remained 1.0) - New expression syntax for Lut expressions: autoscale any input (x,y,z,a) bit depths to 8-16 bits for internal expression use. The primary reason of this feature is the "easy" usage of formerly written 8 bit optimized expressions. New parameters for lut functions: String "scale_inputs": "all","allf","int","intf","float","floatf","none", default "none" and Boolean "clamp_float": default false, but treated as always true (and thus ignored) when scale_inputs involves a float autoscale. and Boolean "use_expr": default 0, calls fast JIT-compiled "Expr" in Avisynth+ for mt_lut, lutxy, lutxyz, lutxyza 0: no Expr, use slow internal realtime calc if needed (as before) 1: call Expr for bits>8 or lutxyza 2: call Expr, when masktools would do its slow realtime calc (see 'realtime' column in the table above) Extends and replaces experimental clamp_xxxx keywords. |
4th July 2018, 02:25 | #287 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
seems both use_expr=1 and use_expr=2 are same (both use_expr=1)
__________________
See My Avisynth Stuff |
4th July 2018, 07:36 | #288 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Decisions for a single 1D mt_lut:
use_expr=1 (when bit depth is more than 8 bits): pass expression to Avs+ Expr filter for 10 or more bits use_expr=2 (when no LUT is used) this is only for 32 bit float. 8-16 bit uses LUT, for 1D it has enough memory for the table. Checked for a 16 bit clip. For short expressions such as a simple "x 2 *" passing it to Expr is even faster than LUT. For more complex ones 1D LUT is still faster, it depends. |
4th July 2018, 13:59 | #289 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
__________________
See My Avisynth Stuff Last edited by real.finder; 4th July 2018 at 14:19. |
|
4th July 2018, 14:32 | #290 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
Quote:
Possible values: 0: uses lut and internal realtime calculation 1: Expr, when bit depth>=10 or lutxyza 2: When masktools would use realtime calc E.g. for use_expr=2: 8-16 bit lut is still LUT 8-12 bit lutxy is passed to Expr 14-16 and 32 bit lutxy is passed to Expr E.g. for use_expr=1: 8 bit lut is still LUT 10-16 and 32 bit lut is Expr 8 bit lutxy is still LUT 10-16 and 32 bit lutxy is passed to Expr The "feature matrix" in readme shows 'realcalc' bit depth limits for th different lut versions. When realcalc working mode kicks in, Expr is used instead for use_expr=2 *Masktools2 page on avisynth.nl is not yet updated Last edited by pinterf; 4th July 2018 at 14:43. |
|
4th July 2018, 18:36 | #291 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
I see
so what about use_expr 1 will be When masktools would use realtime calc 2 will be when more than 8 bit 3 always use expr in avs+ edit: or 1 mean always and 2 mean more than 8 and 3 mean if realtime
__________________
See My Avisynth Stuff Last edited by real.finder; 4th July 2018 at 19:22. |
5th July 2018, 08:50 | #293 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
the point is make less lines in scripts, since there are no expr() in normal avs
__________________
See My Avisynth Stuff |
5th July 2018, 14:10 | #295 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
Quote:
and it will make things easier for testing too
__________________
See My Avisynth Stuff |
|
10th July 2018, 10:50 | #297 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
New version, download masktools2 2.2.17
Code:
**v2.2.17 (20180710) - mt_convolution: check plane dimensions to exceed convolution horizontal/vertical size - lut functions: plane order to RGBA from BGRA like in Expr. expr parameters y-u-v-a naming matches now to r-g-b-a - for luts: use_expr=3: always send expression(s) to Expr |
5th September 2018, 12:58 | #298 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,314
|
New version, download masktools2 2.2.18
Thanks tyaniw for the report Code:
**v2.2.18 (20180905) - mt_merge: fix right side artifacts for non-mod16 width, AVX2 and luma=false (regression in 2.2.16) - mt_adddiff: fix 32 bit chroma (still used 0.5 centered chroma instead of 0.0) |
|
|