github pinterf/masktools 2.2.3
Masktools2 2.2.3
on GitHub

Masktools v2.2.3 (20170227)

Changelog
v2.2.3 (20170227)

  • mt_logic to 32 bit float (final filter lacking it)
  • get CpuInfo from Avisynth (avx/avx2 preparation)
    Note: AVX/AVX2 prequisites
    • recent Avisynth+ which reports extra CPU flags
    • 64 bit OS (but Avisynth can be 32 bits)
    • Windows 7 SP1 or later
  • mt_merge: 8-16 bit: AVX2, float:AVX
  • mt_logic: 8-16 bit: AVX2, float:AVX
  • mt_edge: 10-16 bit and 32 bit float: SSE2/SSE4 optimization
  • mt_edge: 32 bit float AVX
  • new: mt_luts: weight expressions as an addon for then main expression(s) (martin53’s idea)
    • wexpr
    • ywExpr, uwExpr, vwExpr
      If the relevant parameter strings exist, the weighting expression is evaluated
      for each source/neighborhood pixel values (lut or realtime, depending on the bit depth and the “realtime” parameter).
      Then the usual lut result is premultiplied by this weight factor before it gets accumulated.

v2.2.2 (20170223) completed high bit depth support

  • All filters work in 10,12,14,16 bits and float (except mt_logic which is 8-16 only)
  • mt_lutxyza 4D lut available with realtime=false! (4 GBytes LUT table, slower initial lut table calculation)
    Allowed only on x64. When is it worth?
    Number of expression evaluations for 4G lut calculation equals to realtime calculation on
    2100 frames (1920x1080 plane). Be warned, it would take be minutes.
  • mt_gradient 10-16 bit / float
  • mt_convolution 10-16 bit / float
  • mt_motion 10-16 bit / float
  • mt_xxpand and mt_xxflate to float
  • mt_clamp to float
  • mt_merge to float
  • mt_binarize to float
  • mt_invert to float
  • mt_makediff and mt_adddiff to float
  • mt_average to float
  • Expression syntax supporting bit depth independent expressions:
    Added configuration keywords i8, i10, i12, i14, i16 and f32 in order to inform the expression evaluator
    about bit depth of the values that are to scale by #B and #F operators.

v2.2.1 (20170218) initial high bit depth release

  • project moved to Visual Studio 2015 Update 3
    Requires VS2015 Update 3 redistributables
  • Fix: mt_merge (and probably other multi-clip filters) may result in corrupted results
    under specific circumstances, due to using video frame pointers which were already released from memory
  • no special function names for high bit depth filters
  • filters are auto registering their mt mode as MT_NICE_FILTER for Avisynth+
  • Avisynth+ high bit depth support (incl. planar RGB, but color spaces with alpha plane are not yet supported)
    For accepted bit depth, see table below.
  • YV411 (8 bit 4:1:1) support
  • mt_merge accepts 4:2:2 clips when luma=true (8-16 bit)
  • mt_merge accepts 4:1:1 clips when luma=true
  • mt_merge to discard U and V automatically when input is greyscale
  • new: mt_lutxyza. Accepts four clips. 4th variable name is ‘a’ (besides x, y and z)
  • expression syntax supporting bit depth independent expressions
    • bit-depth aware scale operators #B and #F
    • pre-defined bit depth aware constants
      bitdepth (automatic silent parameter of the lut expression)
      range_half, range_max, range_size, ymin, ymax, cmin, cmax
    • parameter “stacked” (default false) for filters with stacked format support
    • parameter “realtime” for lut-type filters to override default behaviour
latest releases: 2.2.24, 2.2.23, 2.2.22...
3 years ago