Releases: DTL2020/mvtools
Release post_r.2.7.47_822_1
Changed trymany processing in GroupsOfPlanes to all levels (including finest). Internally fixed without external control. Use this build with trymany=true for possible better quality with lower performance.
Added search=8
Added isotropic expanding exhaustive search to MAnalyse and MRecalculate search=8. Replaced old EXHAUSTIVE search for coarse levels in MAnalyse to EXHAUSTIVE2 (search type 8).
Release 15.04.24
New params to MRecalculate:
SuperCurrent clip (same as for MAnalyse)
AMthVSMang (float), default = 10.0f (disabled). Threshold of Vectors Stability Metric to skip current level MV and use previous level hierarchy predictor.
Usable range 0.0f .. 1.0f . 0.0f - skip all MVs, 1.0f - do not skip any. Auto-normalized to AMpoints for any combination of AM-params so expected to be non-dependent on AM-params (AreaMode and others).
AMflags (integer), default = 1. Any combination of AM positions direction flags per each AMstep: 1 = diagonal positions, 2 = sides positions. Current valid values 1 (4 diagonal positions only), 2 (4 sides positions only), 3 (4 diagonals and 4 sides positions - 8 positions total, about 2x slower).
AMavg (integer), default = 0. The type of averaging operation of MVs after area gathering searchs in the checked area around current block.
0 - Mode (median ?) of dx and dy separated.
1 - Mean of dx and dy.
2 - Mode (median ?) of MVs angle difference.
3 - Mode (median ?) of MVS difference vector length.
Types 0,2,3 uses some performance optimization - skipping of about half search positions if currently gathered MVs equal to input to AreaMode (original block
MVs from initial MAnalyse search). Type 1 always search all defined by AM options positions so may be up to 2 times slower.
New params to MAnalyse:
AMavg (same as for MRecalculate)
AMpt (integer), default = 0. Same as optPredictorType. PredictorType used in AM searches.
AMst (integer), default = 3. Same as search. Search type used in AM searches.
AMsp (integer), default = 2. Same as searchparam. Search param (radius) used in AM searches.
Added some performance optimization for SAD-only DMFlags used (most typical use case).
Fixed optPredictorType=1 for MAnalyse: Added check of median predictor of current level (now zero, global, hierarchy and median predictors checked before refine).
Release 04.04.2024
Added new params to MAnalyse and MRecalculate:
AMstep (integer): default 0 (auto) or 1 and higher. Step of each 4 area search positions offset (diagonal) around center position of block. 0 auto mean scaled to 8x8 block size (auto mean 1 for 8x8 block size, 2 for 16x16 block size and so on).
AMoffset (integer): default 0. Offset from 1 to start of area positions.
New params for MAnalyse:
PTpel (integer): PredictorType at sub-sample levels of search. Default = optPredictorType.
AMpel (integer): AreaMode for sub-sample levels (level 0 for pel=1 or level 0 and level 1 for pel=2). Default = AreaMode.
New params for MRecalculate:
AreaMode, AMdiffSAD - same as for MAnalyse.
Fixed issue with crash with block size 16x16 (and possibly others) with SIMD instructions enabled (SetMAXCPU > 'none').
Added passing of tr-value to nTrad new member of analysisdata structure to mvmulti clip from MRecalculate (to be compatible with compatibility check in new MDegrainN).
Release 31.03.24
Added more 'area' predictors to MAnalyse. Extended optPredictorType to -1,-2, -3.
Added AreaMode MVs refining to MAnalyse.
New params:
AreaMode (integer), valid values 0,1,2,3,4.
0 - disabled
1 - x5 total positions checks (center + 4 diagonal offsets of +-1)
2 - x9 total positions checks (center + 8 diagonal offsets of +-1 and +-2)
3 - x13 total positions checks (center + 12 diagonal offsets of +-1 and +-2 and +-3)
4 - x17 total positions checks (center + 16 diagonal offsets of +-1 and +-2 and +-3 and +-4)
AMdiffSAD (integer), valid values 0 and positive. Recommended range 1..1000.
Allow to add MVs absolute difference from AreaMode search to the SAD to send additional hint about block MV quality. Multiplier to the mean sum of abs MVs coordinates differences. Values about 1000 and higher about totally fail SAD value of the block.
Release 2.7.46-e.03
Added partial fix for unbiased division when fetching UV block with subsampled colour formats (merging of _fix changes from old release).
Added SSE2, AVX and AVX2 target architectures builds.
Release 28.09.23
Added new MVF_fm param to MDegrainN. Fixed MV filtering in the non-YUV combined processing modes.
MVF_fm (integer), default =0 . Blocks failing mode at the process of MVs filtering. Mode 0 (default) - pass blocks with failed SAD re-check unchanged to blending engine. Mode 1 - fail (invalidate to blending) blocks with failed SAD re-check after filtered MVs coordinates.
Release 26.09.2023
Added non-linear Median-like MV filtering mode in addition to linear low-pass filtering to MDegrainN.
New params to MDegrainN:
MVMedF (integer) - default 0 (disabled). Temporal radius of median filtering of temporal MVs sequence. Valid range - from 1 to about 1/3 of tr-value used.
MVMedF_em (integer) - default 0. Edges of MV temporal vector processing modes. Mode 0 - copy non-filtered MVs from input. Mode 1 - invalidate non-filtered frames MVs to save from possible blending of bad MVs. Number of non-filtered frames equal to MVMdeF value.
MVMedF_cm (integer) - default 0. MVs coordinates processing mode. Mode 0 - separated x,y vectors median filtering. Mode 1 - using length of difference vector as dissimilarity metric.
Release 2.7.46_e.01 (small features extracted)
Added SuperCurrent input to MAnalyse to feed prefiltered super clip at prefiltering or multi-generation MVs refining use cases.
Added Auto-thSAD for MDegrainN.
New params to MDegrainN:
thSADA_a (float), default = 0. Multiplier proportional to estimated nosie level
thSADA_b (float), default = 0. Offset to calculated Auto-thSAD.
If both thSADA_a and thSADA_b = 0 - Auto-thSAD is disabled.
Used Auto-thSAD is scaled and offsetted arithmetic mean of blocks SAD values below thSCD1 (noise_estimate). Next is applied adjusting params:
Auto_thSAD = thSADA_a * noise_estimate + thSADA_b
thSAD2, thSADC, thSADC2 calculated proportionally to provided old params values.
Version based on pinterf last commits from 2021 after 2.7.45 release and expected to be stable enough.
Release 2.7.46-e.02
Small bugfix for Auto-thSAD for bitdepth > 8.