Skip to content

Releases: HomeOfAviSynthPlusEvolution/neo-mv

neo-mv 0.9.3

Choose a tag to compare

@github-actions github-actions released this 26 Sep 04:14
0.9.3
13f0b7f

Changes

  • Added global and local SAD/DCT and SAD/SATD mixtures, completing the matching-policy coverage corresponding to AviSynth MVTools dct=0–10.
  • Optimized DCT transforms and coefficient quantization with float32 arithmetic for 8–16-bit integer clips, with dedicated square paths for 8x8, 12x12, 16x16, 24x24, 32x32, 48x48, 64x64, and 128x128 blocks and a generic path for other supported shapes.
  • Fixed Linux ARM64 compilation of the SVE DCT transpose path.
  • Updated the API reference, English and Chinese knowledge bases, and all three README translations with mixed-metric details and the revised DCT implementation.

API change

Added five metric choices to Analyse, AnalyseMany, and Recalculate:

  • metric="sad_dct_global": SAD/DCT mixture with a frame-pair brightness weight.
  • metric="sad_dct_local": SAD/DCT mixture triggered by local brightness changes.
  • metric="sad_satd_global": SAD/SATD mixture with a frame-pair brightness weight.
  • metric="sad_satd_local": SAD/SATD mixture triggered by local brightness changes.
  • metric="sad_satd_global_half": global SAD/SATD mixture with the SATD contribution limited to 50%.

The two local modes accept metric_weight and metric_threshold, both in [0,1], to configure the transform contribution and brightness-change threshold. The API reference includes a migration table from upstream MVTools' numeric dct modes. Existing sad, satd, and dct selections remain valid.

DCT now uses float32 arithmetic instead of strict rounding refinement. DCT and mixed-metric results are not guaranteed to be bit-exact with upstream MVTools or previous neo-mv versions; rounding and truncation differences can change motion-vector selection between nearly tied candidates.

Build dependencies

  • Removed the Boost.Multiprecision and Boost.Config dependencies from production code and tests. DCT accuracy tests now use an independent double-precision reference.

Full Changelog: 0.9.2...0.9.3

neo-mv 0.9.2

Choose a tag to compare

@github-actions github-actions released this 25 Sep 11:21
0.9.2
290abf7

Changes

  • Added DCT block matching to Analyse, AnalyseMany, and Recalculate for 8–16-bit integer clips, supporting all valid block sizes, including 6x6 and 16x2. Chroma continues to use SAD.
  • Added SIMD-accelerated DCT transforms and coefficient quantization, with exact handling of rounding boundaries for consistent scalar and SIMD results.
  • Improved motion-prediction interpolation and 8x8 high-bit-depth YUV420 motion-search performance with Highway SIMD.
  • Updated the API reference, English and Chinese knowledge bases, and all three README translations with matching-metric details and DCT calculation explanations.

API change

The satd Boolean parameter has been replaced by the metric string parameter in Analyse, AnalyseMany, and Recalculate:

  • metric="sad" (default): pixel SAD.
  • metric="satd": Hadamard SATD; both block dimensions must be divisible by 4.
  • metric="dct": quantized DCT coefficient distance; integer clips only.

Update existing scripts from satd=true to metric="satd", or from satd=false to metric="sad" (or omit it). Recalculate selects its metric independently and defaults to SAD. Error thresholds are not automatically converted between metrics.

Build dependencies

  • Added header-only Boost.Multiprecision and Boost.Config dependencies for strict DCT rounding. CMake fetches pinned sources; no Boost runtime library is required.

Full Changelog: 0.9.1...0.9.2

neo-mv 0.9.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 08:13
0.9.1
ef3c8ab

Changes

  • Added support for 6x6 (SAD only), 12x12, 24x24, and 48x48 block sizes.

Full Changelog: 0.9.0...0.9.1

neo-mv 0.9.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 02:33
0.9.0
66afe72