Log in

View Full Version : YATTA for VapourSynth (real name: Wobbly)


Pages : [1] 2

jackoneill
20th August 2015, 15:28
I lovingly crafted these programs for y'all: https://github.com/dubhater/Wobbly

What is Yatta, you might ask? According to its name, it is "yet another telecide tool for Avisynth^Wanime". It's a program you may use if you want to control the field matching process down to the last fully black frame, or if you don't trust TDecimate to drop the right frames, or if you want to apply some filtering to certain scenes only, or if you need to deal with video that can't decide if it's 24 fps or 30 fps. Anyway, all of that applies to Wobbly as well, except the part where it's for Avisynth.

I suppose this first release would be labelled "beta", if I believed in using such labels. Expect crashes and other less-than-ideal behaviour. Please report everything. I don't use the software myself, so it's up to you to really test it.

There is no documentation yet, besides the readme.rst, but maybe you can figure it out on your own.
There is some documentation now: https://github.com/dubhater/Wobbly/blob/master/doc

Here is the list of VapourSynth plugins you'll need, besides those included in the VapourSynth installer:
d2vsource (https://github.com/dwbuiten/d2vsource/releases)
L-SMASH-Works (https://www.dropbox.com/sh/3i81ttxf028m1eh/AAABkQn4Y5w1k-toVhYLasmwa?dl=0)
FieldHint (https://github.com/dubhater/vapoursynth-fieldhint/releases) (v3 or newer)
scxvid (https://github.com/dubhater/vapoursynth-scxvid/releases)
Put them in one of the autoload (http://www.vapoursynth.com/doc/autoloading.html) folders.

mastrboy
20th August 2015, 17:24
Interesting, is it based on the YATTA code or written from scratch?

I could never really get YATTA to work properly as the documentation is lacking and the learning curve is quite high.

jackoneill
20th August 2015, 17:49
Interesting, is it based on the YATTA code or written from scratch?

I could never really get YATTA to work properly as the documentation is lacking and the learning curve is quite high.

It's written from scratch.

~ VEGETA ~
20th August 2015, 18:09
Thanks for creating such a tool. It will really help YATTA lovers like me. However, what does "Wobbly" mean? and, the A in YATTA means Anime xD. Nevermind.

I installed everything but when running wibbly I get:

______________

The procedure entry point vsscript_creatscript@4 could not be located in the dynamic link library vsscript.dll

______________

and the same for wobbly. but @8 rather than @4.


I hope you clarify that... VS itself is not working properly in my device, and I reported the issue in 2 threads but no answer yet.

thanks, I will contribute in documentation when this project gets better and I could use it.

jackoneill
20th August 2015, 18:14
Thanks for creating such a tool. It will really help YATTA lovers like me. However, what does "Wobbly" mean? and, the A in YATTA means Anime xD. Nevermind.

I installed everything but when running wibbly I get:

______________

The procedure entry point vsscript_creatscript@4 could not be located in the dynamic link library vsscript.dll

______________

and the same for wobbly. but @8 rather than @4.


I hope you clarify that... VS itself is not working properly in my device, and I reported the issue in 2 threads but no answer yet.

thanks, I will contribute in documentation when this project gets better and I could use it.

Have you tried just reinstalling VapourSynth?

~ VEGETA ~
20th August 2015, 18:22
I just reinstalled VS but the problem stays the same.

jackoneill
20th August 2015, 20:13
I thought it was the same problem you had with VapourSynth earlier, but it looks like I just compiled the 32 bit version incorrectly. Please download it again.

~ VEGETA ~
20th August 2015, 20:22
Now it works well. thanks.

It seems a bit hard to get started immediately... gonna need sometime to get used to it. Can you do some getting started tutorial?

jackoneill
24th August 2015, 22:20
Here is some documentation for Wibbly: https://github.com/dubhater/Wobbly/blob/master/doc/wibbly.rst. Let me know what's missing.

Mentar
25th August 2015, 09:43
A full rewrite? :)

Gotta have a look at it... thanks for your efforts. Let's see which functionalities remain.

jackoneill
28th August 2015, 15:35
And here is some documentation for Wobbly: https://github.com/dubhater/Wobbly/blob/master/doc/wobbly.rst

Tormaid
1st September 2015, 02:29
The "wibbly" program becomes unresponsive every time I try to gather metrics on a .d2v file. CPU usage remains high, then drops off after a while, but the process doesn't seem to complete, as the resulting file is blank. Any thoughts?

Edit: I now get the following error message when opening wibbly.

http://i.imgur.com/3FH1n2g.png?1

jackoneill
1st September 2015, 07:03
The "wibbly" program becomes unresponsive every time I try to gather metrics on a .d2v file. CPU usage remains high, then drops off after a while, but the process doesn't seem to complete, as the resulting file is blank. Any thoughts?

Edit: I now get the following error message when opening wibbly.

http://i.imgur.com/3FH1n2g.png?1

You get that error with the job that wouldn't complete? Are you quite sure the file name ends with "d2v"?

Tormaid
1st September 2015, 18:33
You get that error with the job that wouldn't complete? Are you quite sure the file name ends with "d2v"?

Yes, because it seems to save auto-load the last job I get it until I remove it manually and re-open the program.

I don't /think/ it's a problem with the .d2v file. I re-indexed it just in case, using DGIndex 1.5.8. No differences. I also replicated the issue on another computer.

jackoneill
1st September 2015, 20:58
Yes, because it seems to save auto-load the last job I get it until I remove it manually and re-open the program.

I don't /think/ it's a problem with the .d2v file. I re-indexed it just in case, using DGIndex 1.5.8. No differences. I also replicated the issue on another computer.
32 bit (http://ulozto.net/xWAzqaEG/wibbly-v1-bollocks-win32-7z) or 64 bit (http://ulozto.net/xf8PCbKp/wibbly-v1-bollocks-win64-7z)?

Please try again with this test build and post a screenshot of the message that begins with "Not an error".

Tormaid
3rd September 2015, 03:26
32 bit (http://ulozto.net/xWAzqaEG/wibbly-v1-bollocks-win32-7z) or 64 bit (http://ulozto.net/xf8PCbKp/wibbly-v1-bollocks-win64-7z)?

Please try again with this test build and post a screenshot of the message that begins with "Not an error".

I've been using the 64-bit version. Here's the error I got with your patched build after opening the .d2v: http://i.imgur.com/M5QKeOn.png

jackoneill
3rd September 2015, 10:41
I've been using the 64-bit version. Here's the error I got with your patched build after opening the .d2v: http://i.imgur.com/M5QKeOn.png

It picked the right source filter, so it should be working. Do you have another job on the list, one that isn't a d2v file?

Tormaid
3rd September 2015, 15:28
It picked the right source filter, so it should be working. Do you have another job on the list, one that isn't a d2v file?

Yes, it's just a single .d2v file. Could it have to do with the fact that it's an index of multiple streams together (split DVD .vob files), though? Here is the file in question: http://www.mediafire.com/download/mp4pkxgae8m2cqw/FC_01.d2v

Edit: I tried indexing just a single stream from the same source. No difference. I guess it's not that.

Hagi
20th November 2015, 03:57
Building on Debian GNU/Linux fails with the following errors:

Full log: http://pastebin.com/TJ7HkRRT

qtbase5-dev installed version is 5.3.2

jackoneill
20th November 2015, 09:50
Building on Debian GNU/Linux fails with the following errors:

Full log: http://pastebin.com/TJ7HkRRT

qtbase5-dev installed version is 5.3.2

That is very strange. The documentation for Qt 5.3 (https://doc.qt.io/archives/qt-5.3/qjsonvalue.html) says that those functions have one optional parameter, just like in later versions. Something must be wrong with your copy of Qt.

Hagi
21st November 2015, 06:14
That is very strange. The documentation for Qt 5.3 (https://doc.qt.io/archives/qt-5.3/qjsonvalue.html) says that those functions have one optional parameter, just like in later versions. Something must be wrong with your copy of Qt.

Well, I just built Wobbly on Debian testing where qtbase5-dev version is 5.5.1. I guess it has something to do with the stable branch QT version, despite what the docs say...

EDIT: Wobbly wouldn't work on the stable branch anyway as it needs an higher version of libstdc++6:
wobbly: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by wobbly)

jackoneill
28th January 2016, 16:11
v2 is possibly more usable: https://github.com/dubhater/Wobbly/releases/tag/v2

https://github.com/dubhater/Wobbly/blob/v2/changes.rst

hector40
30th January 2016, 18:42
I got this error
http://i.imgur.com/nqnQpBK.jpg

My .json
http://www.mediafire.com/download/bfu8asn1chr290e/test.ts.zip

My source is a mpeg2.ts

jackoneill
30th January 2016, 19:49
I got this error

My .json
http://www.mediafire.com/download/bfu8asn1chr290e/test.ts.zip

My source is a mpeg2.ts

Oh. Does this work better? http://ulozto.net/xzQGdW9F/wobbly-v2-win64-7z

hector40
30th January 2016, 22:29
Oh. Does this work better? http://ulozto.net/xzQGdW9F/wobbly-v2-win64-7z

Yes, work better.

edit: same error, with preview(f5).

jackoneill
30th January 2016, 22:55
Yes, work better.

edit: same error, with preview(f5).

http://ulozto.net/xp5GNGY2/wobbly-v2-win64-7z

hector40
30th January 2016, 23:41
http://ulozto.net/xp5GNGY2/wobbly-v2-win64-7z

No error with this build.

How to create a custom list with nnedi3?

jackoneill
30th January 2016, 23:50
No error with this build.

How to create a custom list with nnedi3?

Make a preset that calls nnedi3. Make a custom list that uses the preset. Example preset:

clip = c.nnedi3.nnedi3(clip=clip, field=0)

hector40
30th January 2016, 23:53
Make a preset that calls nnedi3. Make a custom list that uses the preset. Example preset:

clip = c.nnedi3.nnedi3(clip=clip, field=0)


But how to put this custom list with a range?

off topic:
jackoneill can you make a port of RemapFrames http://forum.doom9.org/showthread.php?p=1644971#post1644971 for vapoursynth?

jackoneill
31st January 2016, 13:10
But how to put this custom list with a range?

off topic:
jackoneill can you make a port of RemapFrames http://forum.doom9.org/showthread.php?p=1644971#post1644971 for vapoursynth?

You select the custom list using X or Z, then press E at the first frame, then press C at the last frame. Or, if you're adding a single frame, just press C. (These are the default shortcuts.

I'll have a look at that plugin.

hector40
31st January 2016, 16:42
You select the custom list using X or Z, then press E at the first frame, then press C at the last frame. Or, if you're adding a single frame, just press C. (These are the default shortcuts.

I'll have a look at that plugin.

Thank you.

jackoneill
8th April 2016, 19:14
v3 is here (https://github.com/dubhater/Wobbly/releases/tag/v3), mostly to keep up with the removal of std.PlaneAverage in VapourSynth r32.

Mad_Hatter
22nd April 2016, 08:33
Can we have a port of the Try/Use pattern function from the original yatta? Since PG is more effort than worth, with lots of false errors due to short sections/static with minimal movement scenes, and most streams nowadays are constant pattern anyway, Try/Use pattern is actually faster and less error-prone(to experienced users, at least). If there's already something, I probably missed it(can't find anything in the options).

jackoneill
22nd April 2016, 10:23
Can we have a port of the Try/Use pattern function from the original yatta? Since PG is more effort than worth, with lots of false errors due to short sections/static with minimal movement scenes, and most streams nowadays are constant pattern anyway, Try/Use pattern is actually faster and less error-prone(to experienced users, at least). If there's already something, I probably missed it(can't find anything in the options).

Sort of. As you may have heard elsewhere, "there is no try". You can set a pattern for the current section or for a range. If you don't like the result, you can reset the matches to the original ones (though I think this leaves the decimation alone).

Keyboard shortcuts to look at:

"Reset the match(es) for the current frame or a range"
"Reset the matches for the current section"
"Rotate the patterns and apply them to the current section"
"Set match pattern to range"
"Set decimation pattern to range"
"Set match and decimation patterns to range"

The last three have no default shortcut, so you'll have to pick something yourself.

groucho86
12th May 2016, 17:20
Hi,
I'm attempting to compile Wobbly under Mac OS 10.9.5.

After installing QT5 via Homebrew ./configure finished successfully.

./make gives me 6 warnings and the following error (let me know if the warnings could be of interest):
src/shared/WobblyProject.cpp:178:139: error: chosen constructor is explicit in copy-initialization
, pattern_guessing{ PatternGuessingFromMics, 10, UseThirdNMatchNever, DropFirstDuplicate, PatternCCCNN | PatternCCNNN | PatternCCCCC, { } }
^~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:838:14: note: constructor declared here
explicit map(const key_compare& __comp = key_compare())

Any help would be greatly appreciated!

jackoneill
12th May 2016, 20:17
Hi,
I'm attempting to compile Wobbly under Mac OS 10.9.5.

After installing QT5 via Homebrew ./configure finished successfully.

./make gives me 6 warnings and the following error (let me know if the warnings could be of interest):
src/shared/WobblyProject.cpp:178:139: error: chosen constructor is explicit in copy-initialization
, pattern_guessing{ PatternGuessingFromMics, 10, UseThirdNMatchNever, DropFirstDuplicate, PatternCCCNN | PatternCCNNN | PatternCCCCC, { } }
^~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:838:14: note: constructor declared here
explicit map(const key_compare& __comp = key_compare())

Any help would be greatly appreciated!

Any change your clang is old?

groucho86
12th May 2016, 20:43
clang --version

The above command gives me the following:

Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

As I need to stay on Mavericks a while longer, I'm going to research if there's any sort of update for xcode/clang.

jackoneill
12th May 2016, 21:21
clang --version

The above command gives me the following:

Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

As I need to stay on Mavericks a while longer, I'm going to research if there's any sort of update for xcode/clang.

It's probably not that old.

Does this help?

diff --git a/src/shared/WobblyProject.cpp b/src/shared/WobblyProject.cpp
index dc9a7ce..1f551cb 100644
--- a/src/shared/WobblyProject.cpp
+++ b/src/shared/WobblyProject.cpp
@@ -175,7 +175,7 @@ WobblyProject::WobblyProject(bool _is_wobbly)
, mic_search_minimum(20)
, c_match_sequences_minimum(20)
, is_wobbly(_is_wobbly)
- , pattern_guessing{ PatternGuessingFromMics, 10, UseThirdNMatchNever, DropFirstDuplicate, PatternCCCNN | PatternCCNNN | PatternCCCCC, { } }
+ , pattern_guessing{ PatternGuessingFromMics, 10, UseThirdNMatchNever, DropFirstDuplicate, PatternCCCNN | PatternCCNNN | PatternCCCCC, std::map<int, FailedPatternGuessing>() }
, resize{ false, 0, 0, "spline16" }
, crop{ false, false, 0, 0, 0, 0 }
, depth{ false, 8, false, "random" }

groucho86
12th May 2016, 21:54
It's probably not that old.

Does this help?

diff --git a/src/shared/WobblyProject.cpp b/src/shared/WobblyProject.cpp
index dc9a7ce..1f551cb 100644
--- a/src/shared/WobblyProject.cpp
+++ b/src/shared/WobblyProject.cpp
@@ -175,7 +175,7 @@ WobblyProject::WobblyProject(bool _is_wobbly)
, mic_search_minimum(20)
, c_match_sequences_minimum(20)
, is_wobbly(_is_wobbly)
- , pattern_guessing{ PatternGuessingFromMics, 10, UseThirdNMatchNever, DropFirstDuplicate, PatternCCCNN | PatternCCNNN | PatternCCCCC, { } }
+ , pattern_guessing{ PatternGuessingFromMics, 10, UseThirdNMatchNever, DropFirstDuplicate, PatternCCCNN | PatternCCNNN | PatternCCCCC, std::map<int, FailedPatternGuessing>() }
, resize{ false, 0, 0, "spline16" }
, crop{ false, false, 0, 0, 0, 0 }
, depth{ false, 8, false, "random" }


Yup, that fixed it! Thank you!

no1d
17th July 2016, 08:56
Hi, a few things:
1. I can't make Left and Right arrows to work, even if I close all widgets.
2. Interlaced fades either lead to wrong frame or crash program.

I'm on Windows.

jackoneill
17th July 2016, 10:10
Hi, a few things:
1. I can't make Left and Right arrows to work, even if I close all widgets.
2. Interlaced fades either lead to wrong frame or crash program.

I'm on Windows.

Which application? Please list all the steps required to reproduce the crash or "wrong frame", starting with "1. double click on executable". What is a wrong frame anyway? Describe it, please.

no1d
17th July 2016, 11:59
1. In Wibbly add d2v, check all options, trim segment (I have 900 frames), Engage.
2. Load project in Wobby. There is a list of interlaced sections like 90-119, 542-543, 547-548 (even if I set to ignore 2-3 frame gaps)
3. When I click on 90, it jumps to frame 878.
4. When I click on 119, it jumps to frame 22.
5. When I click on 542 (and probably everything else), program crashes.

And another thing - if in Wibbly I uncheck Decimate, I can't then load project in Wobbly.

jackoneill
18th July 2016, 12:38
1. In Wibbly add d2v, check all options, trim segment (I have 900 frames), Engage.
2. Load project in Wobby. There is a list of interlaced sections like 90-119, 542-543, 547-548 (even if I set to ignore 2-3 frame gaps)
3. When I click on 90, it jumps to frame 878.
4. When I click on 119, it jumps to frame 22.
5. When I click on 542 (and probably everything else), program crashes.

And another thing - if in Wibbly I uncheck Decimate, I can't then load project in Wobbly.

Fixed all three.

If you unchecked "Decimate", you can still load that project if you delete the "decimate metrics" key. Use a text editor. Projects created by the next version won't have this problem.

Now what about those left and right arrows? In which application do they fail? What happens?

no1d
18th July 2016, 12:38
Judging from source you just mixed up Interlaced fades and C match sequences widgets.

Edit: I guess I'm late :d

Edit2: Problem with arrows was in Wobbly. I remapped them before, and now I was trying to reset them, but with no luck. Deleting registry key solved it for me. And I can reproduce it.

no1d
18th July 2016, 15:26
Ok, I need to clear UI state in my old projects, or it breaks again.

jackoneill
18th July 2016, 15:55
How do you reproduce it?

no1d
18th July 2016, 16:49
I can't anymore. I guess last time it was project settings thing.

jackoneill
18th July 2016, 18:00
Okay. Here is v4: https://github.com/dubhater/Wobbly/releases/tag/v4

https://github.com/dubhater/Wobbly/blob/v4/changes.rst

blaze077
3rd May 2017, 03:30
Could you explain why the hardcoded values are chosen as they are for the metrics? It's almost the same as in YATTA but even then, I did not understand why those values were the default ones.

Thank you.

jackoneill
3rd May 2017, 10:43
Could you explain why the hardcoded values are chosen as they are for the metrics? It's almost the same as in YATTA but even then, I did not understand why those values were the default ones.

Thank you.

Sorry, I don't know either. I probably just took the values from Yatta.