github pinterf/RgTools 1.0
RgTools v1.0

latest releases: 1.2, 1.1
4 years ago

RgTools v1.0 (20200427)

  • RemoveGrain mode 26-28, (C, up to SSE4.1)
    As said by the original author:
    Mode 26 SmartRGC: 26 = medianblur. Based off mode 17, but preserves corners, but not thin lines.
    Mode 27 SmartRGCL: 27 = medianblur. Same as mode 26 but preserves thin lines.
    Mode 28 SmartRGCL2

    pinterf: I swear that by seeing the code mode 28 is different from mode 27 but I cannot find a clip where 27 and 28 gave different results :)

  • Repair mode 26-28 (25 is nonexisting, only exists in RemoveGrain)

  • add "opt" debug parameter to Repair. 0:auto, 1:c 2:SSE2 3:SSE4.1 4:AVX2 (latter is not used here atm)

RgTools v0.99 (20200426)

  • RemoveGrain mode 25 ("nondestructivesharpen") finally reverse engineered
    and ported from the original RemoveGrain package. (no-no, Repair has still 24 modes)
    Plus: 10-32 bits, Plus: sse4.1, avx2
  • RemoveGrain: More correct 32 bit float in mode 6,7,8,9,15,16,23,24
    (proper clamping, chroma part specially treated)
  • General: make C reference more similar to actual SIMD code
  • fix: width<32 (or 16) with horizontal subsampling would use AVX2 (SSE2) on chroma
  • (noticed: RemoveGrain: mode 11 and 12 SSE is simply avaraging
    instead of really do 1/4 1/2 1/4 kernel blur like C (todo).
    This is written in docs but even very old RemoveGrainSSE2 acts like this)
  • Avisynth+ V8 header, frame property copy support
  • opt debug parameter to RemoveGrain. 0:auto, 1:c 2:SSE2 3:SSE4.1 4:AVX2

RgTools v0.98 (20190814)

  • Include "TemporalRepair" filter from old RemoveGrainT package (rewritten C and SIMD intrinsics from pure inline asm)
    Add Y8, YV16, YV24 besides YV12, drop YUY2 support.
    Add 10-32 bit support for Y, YUV and planar RGB formats
    Add int "opt" parameter (mainly for debug: 0=C 1=SSE2 2=SSE4.1) for testing specific code paths
  • Codes for different processor targets (SSSE3 and SSE4.1) are now separated and are compiled using function attributes (clang, gcc).
  • Other source changes for errorless gcc and clang build
  • LLVM support, see howto in RgTools.txt
    Note: use at least LLVM 9.0 build 21 June 2019 due to a clang compiler bug (_mm_avg_epu8 related, fixed on April 14 2019) older versions are up-to 1/3 slower than the Microsoft build.
    See latest snapshot builds at https://llvm.org/builds/
  • GCC 8.3 support, CMakeFiles.txt, see howto in RgTools.txt
  • RemoveGrain/Repair different code paths for SSE2/SSE4.1/AVX2 instead of SSE2/SSE3/AVX2.
  • Add documentation (from old docs, new part: gcc/clang howto)
  • todo: Overview 32 bit float parts for some RemoveGrain modes (6, 7, 8, 9, 15, 16, 23, 24)

RgTools v0.97 (20180702)

  • Remove some inherited clipping to 0..1 range for 32bit float.
    In general we do not clamp in 32 bit float colorspaces, especially that U/V range is -0.5..+0.5 from Avisynth+ r2728

RgTools 0.96 (20170609)

  • RemoveGrain: AVX2. Available when Avisynth+ reports AVX2 usability
    Can be disabled with new parameter: optAvx2=false
  • Clense, ForwardClense, BackwardClense: ignore planar colorspace checking when planar=true. Like in RemoveGrain and Repair.
  • Fix: Mode 11 and 13 for 32 bit float colorspaces (which worked like mode 10 and 12)

RgTools 0.95 (20170314)

  • Fix: RemoveGrain Mode 20: overflow at 14 and 16 bit depths in SSE4 (stripes)
  • "Repair": error on unaligned frames (unaligned crop) instead of access violation error

RgTools 0.94

  • Clense: new parameter (from v0.9): bool reduceflicker (default false)
  • Clense: dummy compatibility parameters: bool planar, int cache
  • Autoregister filter MT modes as NICE_FILTER for Avisynth+
    (except for Clense: when reduceflicker is true, MULTI_INSTANCE MT mode is reported)
  • Alignment check in Repair and RemoveGrain (anti-unaligned crop measures)

RgTools 0.93

  • Same functionality as 0.92.1
  • New bit depths 10, 12, 14, 16 bits and 32 bit float
  • New formats: Planar RGB, Planar RGBA and YUVA support
  • Use aligned loads if possible, internally
  • 10+ bit formats require SSE4 for fast processing
  • XP Support
  • Built with VS2015, requires Visual Studio Redistributable Update 3 or newer

Don't miss a new RgTools release

NewReleases is sending notifications on new releases.