pinterf / masktools

MaskTools v2 fork
Other
48 stars 11 forks source link

### MaskTools 2 ###

(20201229: can be built under linux/gcc)

Masktools2 v2.2.30 (20220219)

mod by pinterf

Change log at the end of this document

Differences to Masktools 2.0b1

Example #1 (bit depth dependent, all constants are treated as-is):

      expr8_luma = "x 16 - 219 / 255 *"
      expr10_luma = "x 64 - 876 / 1023 *"
      expr16_luma = "x 4096 - 56064 / 65535 *"

Example #2 (new, with auto-scale operators )

      expr_luma =  "x 16 scaleb - 219 scaleb / 255 scalef *"
      expr_chroma =  "x 16 scaleb - 224 scaleb / 255 scalef *"

Example #3 (new, with constants)

      expr_luma = "x ymin - ymax ymin - / range_max *"
      expr_chroma = "x cmin - cmax cmin - / range_max *"
      or works for float with: range_min: expr_chroma = "x cmin - cmax cmin - / range_max range_min - *"
    # obsolate examples, from v2.2.15 use scale_inputs and clamp_float parameter instead of clamp_f_xx keywords
    expr = "x y - range_half +"  # good for 8..32 bits but float is not clamped
    expr = "clamp_f y - range_half +"  # good for 8..32 bits and float clamped to 0..1 (or +/-0.5 when chroma)
    expr = "x y - 128 + "  # good for 8 bits
    expr = "clamp_f_i8 x y - 128 +" # good for 8 bits and float, float will be clamped to 0..1 (or +/-0.5 when chroma)
    expr = "clamp_f_i8 x y - range_half +" # good for 8..32 bits, float will be clamped to 0..1 (or +/-0.5 when chroma)

Forum: https://forum.doom9.org/showthread.php?t=174333

Article by tp7 http://tp7.github.io/articles/masktools/

Project: https://github.com/pinterf/masktools/tree/16bit/

Original version: tp7's MaskTools 2 repository. https://github.com/tp7/masktools/

Changelog **v2.2.30 (20220218)

**v2.2.29 (20211116)

**v2.2.28 (20211005)

**v2.2.27 (20210909)

**no new version (20210209) does not appear in release, just another test fork update

**v2.2.26 (20200904)

**v2.2.25 (20200813)

**v2.2.24 (20200619)

**v2.2.23 (20200513)

**v2.2.22 (20200422)

**v2.2.21 (20200410)

**v2.2.20 (20200303)

**v2.2.19 (20190710 - not released)

**v2.2.18 (20180905)

**v2.2.17 (20180710)

**v2.2.16 (20180702)

**v2.2.15 (skipped, test versions)

**v2.2.14 (20180225)

**v2.2.13 (20180201)

**v2.2.12 (20180107)

**v2.2.11 (20180105)

**v2.2.10 (20170612)

**v2.2.9 (20170608)

**v2.2.8 (20170427)

**v2.2.7 (20170421)

**v2.2.6 (20170401)

**v2.2.5 (20170330)

**v2.2.4 (20170304)

v2.2.3 (20170227)

v2.2.2 (20170223) completed high bit depth support

v2.2.1 (20170218) initial high bit depth release

Build instructions

VS2019: use IDE

Windows GCC (mingw installed by msys2): from the 'build' folder under project root:

del ..\CMakeCache.txt cmake .. -G "MinGW Makefiles" -DENABLE_INTEL_SIMD:bool=on @rem test: cmake .. -G "MinGW Makefiles" -DENABLE_INTEL_SIMD:bool=off cmake --build . --config Release

Linux