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. |
![]() |
#1 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
Dotkill - spatial dotcrawl remover
Outdated stuff removed. See https://github.com/myrsloik/DotKill for documentation and current release.
Now it's spatio-temporal too unlike what the topic implies. Things change...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet Last edited by Myrsloik; 31st July 2021 at 19:13. |
![]() |
![]() |
![]() |
#3 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
No, it's currently a prototype filter where I try different ideas and I don't plan on releasing the source until I have added more parts to it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#4 | Link | |
Registered User
Join Date: Jan 2017
Posts: 146
|
Quote:
BTW- any progress on this ? If not, maybe you can consider releasing the source or and/or macOS build ? |
|
![]() |
![]() |
![]() |
#5 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
No real progress, I try some ideas now and then but most fail horribly or require more time to prototype than I can spare. I guess I could release the source since there are about 0 other spatial only dotcrawl removers and the idea is relatively simple. Will clean it up in a few days.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#6 | Link | |
Registered User
Join Date: Jan 2017
Posts: 146
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 | Link |
Registered User
Join Date: Jan 2017
Posts: 146
|
BTW- did you saw this script ?
https://forum.doom9.org/showthread.p...72#post1673472 |
![]() |
![]() |
![]() |
#8 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
Quote:
There are some interesting tricks you could use for telecined material though (since you know fields are duplicated in a pattern) but it doesn't appear like that script uses it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
![]() |
![]() |
![]() |
#9 | Link | |
Registered User
Join Date: Jan 2017
Posts: 146
|
Quote:
Will the source of DeDot will help ? http://avisynth.nl/index.php/DeDot |
|
![]() |
![]() |
![]() |
#10 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet Last edited by Myrsloik; 24th November 2017 at 21:43. |
|
![]() |
![]() |
![]() |
#12 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#13 | Link | |
Registered User
Join Date: Jan 2017
Posts: 146
|
Quote:
1. I was managed to build on macOS with the following: gcc -c -fPIC ${CFLAGS} ${CPPFLAGS} -I. $(pkg-config --cflags vapoursynth) -o main.o dotkill1.cpp g++ -dynamiclib -undefined suppress -flat_namespace *.o -o libdotkill.dylib 2. It does seems to remove nice amount of DotCrawl but not for frames before and after scene change. It's like it takes time for it to "kick in". Got an idea how to fix this ? 3. When you have to use de-interlacer like QTGMC ( for PAL DVD- 24fps master that was converted to 25fps ) it seems it work best when you apply DotKill before QTGMC. Does it make sense ? Last edited by KingLir; 25th November 2017 at 00:17. |
|
![]() |
![]() |
![]() |
#14 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
2. It's not temporal so I'd need a sample and script to figure out why that happens
3. It's the worst on interlaced since it will blur between fields. Progressive and after ivtc are the optimal cases. Before qtgmc is probably the best best place. What is the source material anyway? Field duplicated 24fps to make it 25fps?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#15 | Link | |
Registered User
Join Date: Jan 2017
Posts: 146
|
Quote:
https://mega.nz/#!xwhSyCZR!pwCAjPq2q...6Sc8Sbpf056aM8 I am trying to remove dot crawl from the carpet and above the door (first scene) and from the kitchen wall white lines (second scene). I only manage to remove some from the white lines but not all - and only with high napply values (I even tried napply=45 with the same result as 4 or 5). Cool to know that it's best place before qtgmc - which is a must (unfortunately) in this case, following by srestore. |
|
![]() |
![]() |
![]() |
#16 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
The scenechanges are easily explained. The source was probably smart bobbed to make it progressive before converting it to pal framerate. And it was a really shitty filter as is customary in PAL dvds. So even static detail is discarded near scene changes for no real reason and dotcrawl detection doesn't work when fields are interpolated.
The dotcrawl most likely existed in the NTSC source that was used as input for the PAL conversion. So then you destroy the original dotcrawl structure and also any possibility of recovering detail. Blend two adjacent frames together and the dotcrawl is still there. I guess what I'm trying to say is that your source material is shit and death is the only way out.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#17 | Link | |
Registered User
Join Date: Jan 2017
Posts: 146
|
Quote:
![]() Another member helped me to remove all dots in a very complex way while preserving most of the details. If you like, I can share the details (script lines) over PM. |
|
![]() |
![]() |
![]() |
#18 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
Fixed a reference leak in it. For those of you who compile it yourselves...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#19 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,598
|
Almost a year ago I updated the filter with many new functions and ideas. The main takeaway is that it now use the temporal redundancy of telecined material to be able to achieve much better recovery than many other filters. The only downside is that you need to manually set the telecine pattern offset.
Nobody apart from a few discord users seem to have realized this so I thought I'd post it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|