github pinterf/RgTools 1.1
RgTools 1.1

latest release: 1.2
3 years ago

RgTools v1.1 (20210104)

  • Source syntax for GCC
  • CMake build environment, builds on Linux, at least on my (pinterf) Ubuntu 19.10 WSL
    (INTEL_INTRINSICS handling not implemented in the source, so it compiles on Intel at the moment)
  • Fix: artifacts in RemoveGrain mode 19 for 10-16 bits

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)

Don't miss a new RgTools release

NewReleases is sending notifications on new releases.