Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 14th March 2019, 19:42   #1  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
RemoveDirt - pfmod

RemoveDirt v0.9.2 (20190324)
https://github.com/pinterf/RemoveDir...ses/tag/v0.9.2

Link to the previous topic:
https://forum.doom9.org/showthread.p...threadid=70856

Code:
# RemoveDirt - pfmod
A plugin for removing dirt from film clips.

Port of classic RemoveDirt 0.9 to Avisynth v2.6 interface (x86/x64), adding new color spaces, bugfixes.

Functions in plugin: RestoreMotionBlocks and SCSelect.
This mod does not support other filters appearing in 1.0beta.

Note: Previous v0.9 DLL versions named differently (RemoveDirtT.DLL, RemoveDirtSSE2.DLL) should be deleted from your plugin folder.

- (20190324 v0.9.2)
  - RestoreMotionBlocks: 10-16 bit support. Relevant threshold and noise parameters are bit depth independent.
  - minor speedup
  - SCSelect: add support for 10-16 bits and 32 bit float clips
  - SCSelect: add support for planar RGB
  - FIX: SCSelect: make it work properly for large frames (>8MPixel)
  - FIX: SCSelect: Makes use the whole frame: now counts the rightmost non-mod32 pixels as well.
  - Clang 7.0.1 support (LLVM) with Visual Studio 2017 (15.9.9) (LLVM 8.0.0: not tried yet)
    - Install LLVM 7.0.1 (http://releases.llvm.org/download.html, Windows pre-built libraries)
    - Install Clang Power Tools & LLVM Compiler Toolchain
      - https://marketplace.visualstudio.com/items?itemName=caphyon.ClangPowerTools
      - https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain
  - update html docs
  - add clang-built DLLs to the released version

- (20190314 v0.9.1)
  - project moved to github: https://github.com/pinterf/RemoveDirt
  - built using Visual Studio 2017
  - x64 build for Avisynth+
  - Added version resource to DLL
  - Changed to AVS 2.6 plugin interface
  - Fix: RestoreMotionBlocks: grey=false: it was copying 8x4 chroma pixels for YV12 and 8x8 for YUY2 instead of 4x4 and 8x4 blocks
  - Fix: SCSelect: Old v0.9 SSE2 code omitted difference checking for every second 8 columns
  - Removed MMX code, now requires SSE2
  - Reports MT Modes for Avisynth+: MT_SERIALIZED for SCSelect
  - Reports MT Modes for Avisynth+: MT_MULTI_INSTANCE for RestoreMotionBlocks (may not be any faster)
  - Added Y, YV16 and YV24 support besides existing YV12 and planar-hacked-YUY2

- (20190312)
  Initial source v0.9 (2005/05/07) moved to VS2017 project 

Links
=====
Project: https://github.com/pinterf/RemoveDirt
Forum: https://forum.doom9.org/showthread.php?t=176199
Additional info: http://avisynth.nl/index.php/RemoveDirt

Last edited by pinterf; 24th March 2019 at 15:15. Reason: New build
pinterf is offline   Reply With Quote
Old 14th March 2019, 19:51   #2  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Finally I used the original Avisynth source, the VapourSynth port had bugs, I'll point to those places on my fork later next week.
pinterf is offline   Reply With Quote
Old 14th March 2019, 20:02   #3  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,346
Thanks
poisondeathray is offline   Reply With Quote
Old 14th March 2019, 20:18   #4  |  Link
SaurusX
Registered User
 
Join Date: Feb 2017
Posts: 134
This is much appreciated.
SaurusX is offline   Reply With Quote
Old 14th March 2019, 20:49   #5  |  Link
filler56789
SuperVirus
 
filler56789's Avatar
 
Join Date: Jun 2012
Location: Antarctic Japan
Posts: 1,351
Thanks!
filler56789 is offline   Reply With Quote
Old 14th March 2019, 21:05   #6  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Thank you pinterf, I will update the wiki in the next couple of days.
Reel.Deel is offline   Reply With Quote
Old 14th March 2019, 22:38   #7  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,795
I think the VS port wasn't finished yet. The one dll I found crashes often. Thx for the release.

I always wondered how hard it is to make "hybrid plugins" now which supports vs and avs+, since avs+ now supports 16bit and the same color spaces? Some plugins like this exists: knlmeans, f3kdb, ffms2
Or is it just too cumbersome because of the different threading models?

p.s. You can also install RemoveDirt via avsrepo now
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database

Last edited by ChaosKing; 14th March 2019 at 22:51.
ChaosKing is offline   Reply With Quote
Old 15th March 2019, 04:19   #8  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
been waiting for this, thanks
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 15th March 2019, 14:21   #9  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by ChaosKing View Post
I think the VS port wasn't finished yet. The one dll I found crashes often. Thx for the release.

I always wondered how hard it is to make "hybrid plugins" now which supports vs and avs+, since avs+ now supports 16bit and the same color spaces? Some plugins like this exists: knlmeans, f3kdb, ffms2
Or is it just too cumbersome because of the different threading models?

p.s. You can also install RemoveDirt via avsrepo now
It's generally very simple. The threading models are extremely similar.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 24th March 2019, 15:20   #10  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
New build.
Download RemoveDirt v0.9.2
Just now: experimental (and for me quicker) clang build inside.
Original code is almost completely rewritten by now.

Code:
- (20190324 v0.9.2)
  - RestoreMotionBlocks: 10-16 bit support. Relevant threshold and noise parameters are bit depth independent.
  - minor speedup
  - SCSelect: add support for 10-16 bits and 32 bit float clips
  - SCSelect: add support for planar RGB
  - FIX: SCSelect: make it work properly for large frames (>8MPixel)
  - FIX: SCSelect: Makes use the whole frame: now counts the rightmost non-mod32 pixels as well.
  - Clang 7.0.1 support (LLVM) with Visual Studio 2017 (15.9.9) (LLVM 8.0.0: not tried yet)
    - Install LLVM 7.0.1 (http://releases.llvm.org/download.html, Windows pre-built libraries)
    - Install Clang Power Tools & LLVM Compiler Toolchain
      - https://marketplace.visualstudio.com...langPowerTools
      - https://marketplace.visualstudio.com...llvm-toolchain
  - update html docs
  - add clang-built DLLs to the released version
pinterf is offline   Reply With Quote
Old 24th March 2019, 19:34   #11  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by pinterf View Post
New build.
Download RemoveDirt v0.9.2
Just now: experimental (and for me quicker) clang build inside.
Original code is almost completely rewritten by now.


any plan to port RemoveGrainT to x64? it only one missed for run RemoveDirtMC_SE in x64
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 25th March 2019, 09:58   #12  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by real.finder View Post


any plan to port RemoveGrainT to x64? it only one missed for run RemoveDirtMC_SE in x64
Which function is used?
pinterf is offline   Reply With Quote
Old 25th March 2019, 18:43   #13  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by pinterf View Post
Which function is used?
TemporalRepair in TemporalDeGrain_SE
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 27th March 2019, 23:55   #14  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
Quote:
Originally Posted by pinterf View Post
New build.
Download RemoveDirt v0.9.2
Just now: experimental (and for me quicker) clang build inside.
Original code is almost completely rewritten by now.

Code:
- (20190324 v0.9.2)
  - RestoreMotionBlocks: 10-16 bit support. Relevant threshold and noise parameters are bit depth independent.
  - minor speedup
  - SCSelect: add support for 10-16 bits and 32 bit float clips
  - SCSelect: add support for planar RGB
  - FIX: SCSelect: make it work properly for large frames (>8MPixel)
  - FIX: SCSelect: Makes use the whole frame: now counts the rightmost non-mod32 pixels as well.
  - Clang 7.0.1 support (LLVM) with Visual Studio 2017 (15.9.9) (LLVM 8.0.0: not tried yet)
    - Install LLVM 7.0.1 (http://releases.llvm.org/download.html, Windows pre-built libraries)
    - Install Clang Power Tools & LLVM Compiler Toolchain
      - https://marketplace.visualstudio.com...langPowerTools
      - https://marketplace.visualstudio.com...llvm-toolchain
  - update html docs
  - add clang-built DLLs to the released version
Thank you!
Out of curiosity, what are the benefits of the Clang compiled version over the normal x86 version?

Thank you in advance.
FranceBB is offline   Reply With Quote
Old 28th March 2019, 15:17   #15  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Clang sometimes generates quicker code, it seems that it features with smarter optimizer than MS. For example the above mentioned TemporalRepair has modes that run 10-15% faster in clang version than with MS built DLL.
I was also looking at the generated assembly code based on pure C source. clang was able to vectorize (parallel computing of pixel data using mm registers) situations where MS simply stuck with linear one-by-one processing.
pinterf is offline   Reply With Quote
Old 28th March 2019, 16:28   #16  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,542
Quote:
Originally Posted by pinterf View Post
Clang sometimes generates quicker code, it seems that it features with smarter optimizer than MS.
It would be nice to try your MVTools, MaskTools and RgTools with Clang...
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 28th March 2019, 21:15   #17  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
I just tried clang in xp in vm, it's can't load the dll with error 0x36b1, normal one work fine, clang 64 bit work fine in windows server 2016
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 29th March 2019, 12:07   #18  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,542
Quote:
Originally Posted by real.finder View Post
I just tried clang in xp in vm, it's can't load the dll with error 0x36b1, normal one work fine, clang 64 bit work fine in windows server 2016
XP is 18 years old. Time for it to go out from parents' home
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 29th March 2019, 12:29   #19  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by real.finder View Post
I just tried clang in xp in vm, it's can't load the dll with error 0x36b1, normal one work fine, clang 64 bit work fine in windows server 2016
LLVM (clang) dropped XP support three years ago, since version 3.8. Now I'm using latest version (8.0)
pinterf is offline   Reply With Quote
Old 29th March 2019, 13:50   #20  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Quote:
Originally Posted by tormento View Post
It would be nice to try your MVTools, MaskTools and RgTools with Clang...
Not if it totally breaks XP compatibility for only small speed increase.
EDIT: Removedirt v0.9.1 looks to be XP compatible.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 18:15.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.