Skip to content

Releases: pinterf/TIVTC

TIVTC v1.0.29 (20240302) & TDeInt v1.9 (20231210 - no change)

02 Mar 08:37
Compare
Choose a tag to compare

TIVTC v1.0.29 (20240302) & TDeInt v1.9 (20231210)

TDeint

v1.9 (20231210) - unchanged

TIVTC

v1.0.29 (20230302)

  • TDecimate: allow noblend=true when hybrid=1, noblend default value is false when hybrid=1 to keep
    backward compatibility. (flossy83)
  • TDecimate to fill new frame properties. (flossy83)
    TDecimateCycleMetrics, TDecimateCycleMetricsPrev, TDecimateCycleMetricsNext (float arrays),
    TDecimateCycleFrameNums, TDecimateCycleFrameNumsPrev, TDecimateCycleFrameNumsNext (int arrays),
    TDecimateCycleBlendStatus
    See #48
  • Fix #46: TDecimate(hybrid=3) blending with wrong frame. (flossy83)
    #46

for more see TDecimate - READ ME.txt

TIVTC 1.0.28 and TDeint 1.9

10 Dec 10:33
Compare
Choose a tag to compare

TIVTC v1.0.28 (20231210) & TDeInt v1.9 (20231210)

This is a modernization effort on tritical's TIVTC (v1.0.5) and TDeInt (v1.1.1) plugin for Avisynth by pinterf.

All credit goes to tritical, thanks for his work.

Since December 27th 2020 project can be built under Linux (x86/x64 only) as well. For build instructions see end of this readme.

TDeint

v1.9 (20231209) - pinterf

  • Fix C reference code of YUY2+luma-only: check_combing_c_Metric1 metrics
    Probably no one had problems with it on Intel, since it's implemented in SSE2 as well.

v1.8 (20201214) - pinterf

  • Fix: TDeint: ignore parameter 'chroma' and treat as false for greyscale input

for more: see CHANGELOG-TDeint.md

TIVTC

v1.0.28 (20231210)

  • Request #43: (#43)
    TDecimate debug parameters displayDecimation, displayOpt.
    Able to show << or >> instead of ** on debug display by the distance from the last decimated frame compared to displayOpt.
  • Fix minor display glitch (regression since v1.0.19pack): display=true would duplicate the
    most bottom frame info text to the top position of the next column.

v1.0.27 (20230511)

  • Fix #40: TDecimate: frame properties were not inherited at specific modes (20230511)
  • Implement #39: CFrameDiff, FrameDiff: add offset parameter (int, default 1), to compare frames more than 1 distance away.
    offset value must be >=1, already existing prevf parameter is used to set the direction.

v1.0.27test (20220915)
(bugfixes, frame property support backport from VapourSynth version -20220915)

  • Fix: TDecimate mode 0,1 crash in 10+bits in blend (dubhater)
  • Fixes in Mode 0,1 when clip2 is different format (dubhater)
  • Fix: slow C code was used in calcMetricCycle.blurframe (dubhater)
  • Fix: V14(?) regression TDecimate fullInfo was always false (dubhater), ("Don't know what it affected")
  • MacOS build fixes (akarin)
  • mingw build fixes
  • Source code: refactorings, backported from VapourSynth port (dubhater, https://github.com/dubhater/vapoursynth-tivtc),
  • Source code: backport other simplification changes.
  • Frame properties (priority over burned-into-image hints). Similarly to bitmapped hints, they are used when parameter "hint" is true.
    Frame properties set by TFM: TFMMatch, _Combed, TFMD2VFilm, TFMField, TFMMics, TFMPP
    Frame properties read by TFM and TDecimate: TFMMatch, TFMD2VFilm, TFMField
    Frame properties read by TFMPP: TFMField, _Combed
    Frame properties read by TDecimate creation: TFMPP (but if Avisynth variable "TFMPPValue" exists then the variable has priority over it)
    Frame properties never read: TFMMics
    Traditionally, TFM is using a 32 bit "hint" encoded in the lsb bits of the first 32 pixels of a frame.
    When Avisynth interface V8 is available, then frame properties are used instead of the image destructing bit hints.
    • Bitmapped hint replacement frame property names are: TFMMatch, _Combed, TFMD2VFilm, TFMField.
      Mapping:
      Bits 0-2: (ISP, ISC, ISN, ISB, ISU, ISDB, ISDT) are filled upon match (TFMMatch) and combed (_Combed) and field (TFMField)
      ISP: match == 0
      ISC: match == 1 && combed < 2
      ISN: match == 2
      ISB: match == 3
      ISU: match == 4
      ISDB: match == 1 && combed > 1 && field == 0
      ISDT: match == 1 && combed > 1 && field == 1
      Bit 3: set to 1 if field == 1 (TFMField 0 or 1)
      Bit 4: set to 1 if combed > 1 (_Combed)
      Bit 5: set to 1 if d2vfilm is true (TFMD2VFilm)
    • Other frame properties:
      TFMMics: array[6] of integer
      TFMPP: integer
      Frame properties set by TDecimate:
      TDecimateCycleStart (not used)
      TDecimateCycleMaxBlockDiff uint64_t[] (not used)
      TDecimateOriginalFrame (not used)
      _DurationNum, _DurationDen (not used yet, for variable frame rate (?), backport from VapourSynth port is in progress)

TIVTC 1.0.27 test build!

15 Sep 08:52
Compare
Choose a tag to compare
Pre-release

TIVTC v1.0.27 test 1 (20220915)

TDeint is not included

Backport from VapourSynth port: frame properties, fixes.
Not tested, first please look at (the now separately provided) TIVTC change log, thanks.

TIVTC 1.0.26 and TDeint 1.8

22 Feb 08:53
Compare
Choose a tag to compare

TIVTC v1.0.26 (20210222) & TDeInt v1.8 (20201214)

This is a modernization effort on tritical's TIVTC (v1.0.5) and TDeInt (v1.1.1) plugin for Avisynth by pinterf.

All credit goes to tritical, thanks for his work.

Since December 27th 2020 project can be built under Linux (x86/x64 only) as well. For build instructions see end of this readme.

TDeint

v1.8 (20201214) - pinterf

  • Fix: TDeint: ignore parameter 'chroma' and treat as false for greyscale input
Click to expand more history

v1.7 (20200921) - pinterf

  • Fix: TDeint: crash when edeint is a 10+ bit clip

v1.6 (20200611) - pinterf

  • Frame hints 10-16 bits
  • Proper 16 bit combing detection

v1.5 (20200513) - pinterf

  • Fix: mode=2 10-16 bit green screen
  • Fix: mode=2 right side artifact regression in v1.4 (SSE2)

v1.4 (20200512) - pinterf

  • 10-16 bit support
  • Greyscale support
  • Minor fixes on non-YV12 support
  • fix crash when mode=2 and map>=3 and slow>0
  • much more code clean and refactor

v1.3 (20200508)

  • Add YV411 support, now all 8 bit planar YUV formats supported (except on debug display modes)
  • more code clean and refactor
  • Give error on greyscale or 10+ bit videos

v1.2 (20200505)

  • Add AviSynth+ V8 interface support: passing frame properties
  • Add planar YV16 and YV24 color spaces (The Big Work)
    result: YV16 output is identical with YUY2 (but a bit slower at the moment)
  • Fix mode=0 for yuy2 (asm code was completely off)
  • Fix mode=0 (general), luma was never processed in CheckedComb
  • Fix crash with AviSynth+ versions (in general: when frame buffer alignment is more than 16 bytes)
  • TDeint: refactor, code clean, c++17 conformity, keep C and SSE2
  • Inline assembler code ported to intrinsics and C code.
  • Add some more SSE2 (MMX and ISSE code removed)
  • x64 version is compilable!
  • Add ClangCL, and XP configurations to the solutions.

TIVTC

v1.0.26 (20210222)

  • Fix: TDecimate YV16 possible crash in metrics calculation

v1.0.25 (20201214)

  • Fix: TFM, TDecimate and others: treat parameter 'chroma' as "false" for greyscale clips
Click to expand more history

v1.0.24 (20201214)

  • Fix: TFM: do not give error on greyscale clip

v1.0.23 (20201020)

  • RequestLinear: fix: initial large frame number difference out of order frame requests
    caused by heavy multithreading could result in "internal error - frame not in cache"

v1.0.22 (20200805)

  • TDecimate, FrameDiff: further fix of SAD based metric calculation for block size 32 (v15 regression)
    (report and fix by 299792458m)

v1.0.21 (20200727)

  • TDecimate, FrameDiff: fix x-block size usage in metric calculation (v15 regression)
    (report and fix by 299792458m)

v1.0.20 (20200622)

  • TFM: fix crash when PP=1 and display=true (v19 regression)

v1.0.19 (20200611)

  • TIVTC filter: overall greyscale and 10-16 bit support
  • "display" works for all colorspaces (not only for YUY2 and YV12)
    (v1.0.18 - no release)
  • Fix: TFM: possible crash on YV16 for chroma=true (checkComb)
  • Fix: TDecimate: fix mode=5 crash at the initializing stage due to an unallocated metric buffer (old bug)
  • Fix: TFM: y0 (and y1) banding exclusion parameters are properly handled
    (by knowing that a frame is processed between 2 and (y0-2) for internal algorithmic reasons)

v1.0.17 (20200512)

  • Fix: TDecimate clip2 colorspace check
  • Fix: Metric calculation (regression after v14)

v1.0.16 (20200510)

  • Fix: TFMPP clip2 colorspace similarity check failed

v1.0.15 (20200508)

  • Fix random crashes (due to old plugin assumed that Avisynth framebuffer alignment is at most 16 bytes)
  • Other small fixes, which I do not know what affected
  • Support planar YV411, YV16 and YV24 besides YV12 (YUY2 was not removed)
    (except on debug display modes)
  • Huge refactor and code clean, made some parts common with TDeint, code un-duplicate-triplicate
  • only C and SSE2, no MMX, no ISSE
  • parameter opt=0 disables SSE2, 1-3 enables (was: 1:MMX 2:ISSE 3:SSE2)
  • Add ClangCL, and XP configurations to the solutions. (note: MSVC can be quicker(!))
  • Add AviSynth+ V8 interface support: passing frame properties
  • Give error on greyscale or 10+ bit videos
  • Todo: more refactor needed before moving to 10+ bit depth support

v1.0.14 (20190207)

  • Fix: option slow=2 field<>0. Thanks to 299792458m.
    Regression since 1.0.6 caused by bad assembly code reverse engineering. Tritical's original 1.0.5 was O.K.

v1.0.13 (skipped)
v1.0.12 (20190207)
(incomplete, 1.0.14 replaces)

v1.0.11 (20180323)

  • Revert to pre-1.0.9 usehint detection: conflicted with mode 5 (sometimes bad clip length was reported)
    (reason of the workaround (crash at mysterious circumstances) was eliminated: mmx state was not cleared in mvtools2)
  • Fix: bad check for emptiness of orgOut parameter

v1.0.10 (20180119)

  • integrate new orgOut parameter for TDecimate (by 8day) (see TDecimate - READ ME.txt)

v1.0.9 (20170608)

  • Fix (workaround): Move frame hints detection from constructor into the first GetFrame (x64 build with 64 bit x264 crash under mysterious circumstances)
  • Filters autoregister themselves as MT_SERIALIZED for Avisynth+, except MergeHints (MT_MULTI_INSTANCE)
    Note: for proper serialized behaviour under Avisynth+ MT, please use avs+ r2504 or later.

v1.0.8 (20170429)

  • Fix: TFM PP=2 and PP=5 (Blend deint)

v1.0.7 (20170427)

  • fix crash in FieldDiff (in new SIMD SSE2 rewrite)

v1.0.6 (20170421) - pinterf

  • project migrated to VS 2015
  • AVS 2.6 interface, no Avisynth 2.5.x support
  • some fixes
  • x64 port and readability: move all inline asm to simd intrinsics or C
  • supports and requires SSE2
  • MMX and ISSE is not supported, but kept in the source code for reference
  • source code cleanups

v1.0.5 (2008) - tritical

  • see old readmes

Useful links

Linux build instructions

  • Clone repo

      git clone https://github.com/pinterf/TIVTC
      cd TIVTC/src
      cmake -B build -S .
      cmake --build build
    
  • Find binaries at

      build/TIVTC/libtivtc.so
      build/TDeint/libtdeint.so
    
  • Install binaries

      cd build
      sudo make install
    

TIVTC 1.0.25 and TDeint 1.8

14 Dec 19:21
Compare
Choose a tag to compare

TIVTC v1.0.25 (20201214)

TDeInt v1.8 (20201214)

This is a modernization effort on tritical's TIVTC (v1.0.5) and TDeInt (v1.1.1) plugin for Avisynth by pinterf

TDeint

** TDeInt v1.8 (20201214) - pinterf

  • Fix: TDeint: ignore parameter 'chroma' and treat as false for greyscale input

TIVTC

v1.0.25 (20201214)

  • Fix: TFM, TDecimate and others: treat parameter 'chroma' as "false" for greyscale clips

v1.0.24 (20201214)

  • Fix: TFM: do not give error on greyscale clip

TIVTC 1.0.24 and TDeint 1.7

14 Dec 15:05
Compare
Choose a tag to compare

TIVTC v1.0.24 (20201214)

TDeInt v1.7 (20200921)

This is a modernization effort on tritical's TIVTC (v1.0.5) and TDeInt (v1.1.1) plugin for Avisynth by pinterf

TDeint

** TDeInt v1.7 (20200921) - pinterf
(unchanged in this pack)

TIVTC v1.0.24 (20201214)

  • Fix: TFM: do not give error on greyscale clip

TIVTC 1.23 and TDeint 1.7

20 Oct 14:18
Compare
Choose a tag to compare

TIVTC v1.0.23 (20201020)

TDeInt v1.7 (20200921)

This is a modernization effort on tritical's TIVTC (v1.0.5) and TDeInt (v1.1.1) plugin for Avisynth by pinterf

TDeint

** TDeInt v1.7 (20200921) - pinterf
(unchanged in this pack)

TIVTC v1.0.23 (20201020)

  • RequestLinear: fix: initial "internal error - frame not in cache"

TIVTC 1.22 and TDeint 1.7

22 Sep 09:02
Compare
Choose a tag to compare

TIVTC v1.0.22 (20200805)

TDeInt v1.7 (20200921)

This is a modernization effort on tritical's TIVTC (v1.0.5) and TDeInt (v1.1.1) plugin for Avisynth by pinterf

TDeint

** TDeInt v1.7 (20200921) - pinterf

  • Fix: TDeint: crash when edeint is a 10+ bit clip

TIVTC v1.0.22 (20200805)

(unchanged in this pack)

TIVTC 1.22 and TDeint 1.6

05 Aug 10:01
Compare
Choose a tag to compare

TIVTC v1.0.22 (20200805)

TDeInt v1.6 (20200611)

(TDeint unchanged in this release)

TDeInt v1.6 (20200611) - pinterf

  • Frame hints 10-16 bits
  • Proper 16 bit combing detection

TIVTC v1.0.22 (20200805)

v1.0.22 (20200805)

  • TDecimate, FrameDiff: further fix of SAD based metric calculation for block size 32 (v15 regression)
    (report and fix by 299792458m)

TIVTC 1.21 and TDeint 1.6

27 Jul 12:16
Compare
Choose a tag to compare

TIVTC v1.0.21 (20200727)

TDeInt v1.6 (20200611)

(TDeint unchanged in this release)

TDeInt v1.6 (20200611) - pinterf

  • Frame hints 10-16 bits
  • Proper 16 bit combing detection

v1.0.21 (20200727)

  • TDecimate, FrameDiff: fix x-block size usage in metric calculation (v15 regression)
    (report and fix by 299792458m)