Log in

View Full Version : TComb for VapourSynth


jackoneill
1st September 2014, 15:34
https://github.com/dubhater/vapoursynth-tcomb/releases

This is a port of TComb v2.0 beta 2 for Avisynth.

The "opt" parameter is no more. The other parameters should all behave the same.

If someone really needs 16 bit support, let me know and I may look into that.

mastrboy
4th September 2014, 01:29
Thanks.

For 16bit, It's always useful to have so you don't have to go back and forth between 8/10/16 bit, I always prefer to have my entire filter chain at the highest bit level supported.

jackoneill
4th September 2014, 07:02
Thanks.

For 16bit, It's always useful to have so you don't have to go back and forth between 8/10/16 bit, I always prefer to have my entire filter chain at the highest bit level supported.

This is supposed to go right after the source filter, so unless you have a high bit depth source, I won't bother.

Reel.Deel
5th September 2014, 01:22
A true high bit depth source with dot crawl/rainbows is probably as rare as they come. The only dot crawl and rainbows I've ever encountered are on DVDs. On another note, the documentation says cross-luminance (rainbowing) and cross-chrominance (dot crawl) but shouldn't it be the other way around?

feisty2
5th September 2014, 05:55
there're some cheesy mastertapes with this crap also.
and 16bpc could be useful,
sometimes a single method doesn't work so well on composite videos
there're some other methods like "MDegrain" approach and "Frfun7" approach work pretty well as well
if you want to merge the results of these methods, 16bpc is useful, since MDegrain is 16bpc

jackoneill
5th September 2014, 09:08
On another note, the documentation says cross-luminance (rainbowing) and cross-chrominance (dot crawl) but shouldn't it be the other way around?

Uh, no idea.

zerowalker
8th September 2014, 04:17
indeed it should. Luminance brings dot-crawl while Chroma brings rainbowing (quite hard for Luma (Black/White) to make a rainbow;P).

jackoneill
8th September 2014, 08:15
indeed it should. Luminance brings dot-crawl while Chroma brings rainbowing (quite hard for Luma (Black/White) to make a rainbow;P).

Actually no, luminance does not bring dot crawl. Dot crawl is found in the luma, but it's caused by a bit of the chroma leaking into the luma. (Rainbows are caused by a bit of luma leaking into the chroma.)

feisty2
8th September 2014, 09:09
cross luminance = crossing luminance = high frequent luma information is interfering chroma channels = rainbow
same goes for dot crawl, that's my guess

Reel.Deel
8th September 2014, 15:56
Did a little bit of research. From the Doom9 guides (12.3 Removing rainbow effects and dot crawls (www.doom9.org/index.html?/capture/chroma_artefacts.html)): "The technical terms are as follows: rainbow effects is cross color (hi-frequency luma data upsets the chroma demodulator) and dot crawl is cross luminance (chroma leftovers in the Y signal)". Another reference is from the book CCTV: Networking and Digital Technology: "Chroma crawl. An artifact of encoded video, also known as dot crawl or cross-luminance. Occurs in the video picture around the edges of highly saturated colors as a continuous series of crawling dots and is a result of color information being confused as luminance information by the decoder circuits." I also translated CC (http://avisynth.nl/index.php/CC), DeCross (http://avisynth.nl/index.php/DeCross), and DeDot (http://avisynth.nl/index.php/DeDot) and they also use the same terminology. Really TComb is the only one that uses this terminology backwards, it made me wonder when I added it to the wiki some time ago.

jackoneill
8th September 2014, 16:39
Fixed.

jackoneill
20th February 2016, 14:46
Unexpectedly, v2 is here. (https://github.com/dubhater/vapoursynth-tcomb/releases/tag/v2)

* Fix a bug in the asm

There is a 64 bit Linux binary now.

KingLir
13th February 2017, 12:20
Hi all, I am unable to build on macOS (latest 10.12.3), failed on make:

Undefined symbols for architecture x86_64:
"_tcomb_horizontalBlur6_c", referenced from:
_HorizontalBlur6 in tcomb.o

And here is the entire console log:
https://mega.nz/#!Ik4VUYqT!Wg6Yc8by-Az9cDb-k_3ntw1n6DRbhSsOprBqPEs-GEA

Anyone can help/fix ? Or if you already have .dylib build for macOS - can you share it with me ?

jackoneill
13th February 2017, 13:45
Hi all, I am unable to build on macOS (latest 10.12.3), failed on make:

Undefined symbols for architecture x86_64:
"_tcomb_horizontalBlur6_c", referenced from:
_HorizontalBlur6 in tcomb.o


I have no idea what's wrong there.

jackoneill
13th February 2017, 13:56
On second thought, try this patch: https://dpaste.de/FDdc/raw

KingLir
13th February 2017, 14:42
On second thought, try this patch: https://dpaste.de/FDdc/raw

Sorry for the newbie question, but I download zip from GitHub "Clone or Download" green button.
Then executed the following on terminal (1.diff holds all 193 lines from your patch):
git apply 1.diff

I am getting this:
warning: src/tcomb.c has type 100755, expected 100644
error: patch failed: src/tcomb.c:76
error: src/tcomb.c: patch does not apply

It seems the end of the patch is missing (should be more than 193 lines).

jackoneill
13th February 2017, 14:54
193 lines is exactly right.

This should fix the error:

chmod -x src/tcomb.c


To avoid errors like that in the future download the tar.gz instead of the zip, or use git. Edit: I see the Clone or download button doesn't have a tar.gz option. In this case, you can just download the v2 release as tar.gz. It's the same code you got already.

KingLir
13th February 2017, 15:39
193 lines is exactly right.

This should fix the error:

chmod -x src/tcomb.c


To avoid errors like that in the future download the tar.gz instead of the zip, or use git. Edit: I see the Clone or download button doesn't have a tar.gz option. In this case, you can just download the v2 release as tar.gz. It's the same code you got already.

Tried and with both I am getting now:
error: patch failed: src/tcomb.c:76
error: src/tcomb.c: patch does not apply

jackoneill
13th February 2017, 16:04
Then just read the patch and apply the changes manually with your favourite text editor.

KingLir
13th February 2017, 16:27
Then just read the patch and apply the changes manually with your favourite text editor.

Sorry, I don't know how to do that without mistakes.

I also tried SourceTree "Apple Patch" but everything is detected as "rejected hunks".
May you just do a commit ? And if for some reason you won't be happy with it in the future - do a revert.

Are_
13th February 2017, 16:31
Did you try it? You only have to add the word "static" at the beginning of the lines the patch tells you.

KingLir
13th February 2017, 16:55
Did you try it? You only have to add the word "static" at the beginning of the lines the patch tells you.

Thanks! everything works great now.
jackoneill - you can safely do that commit :)

jackoneill
13th February 2017, 21:24
Okay, I pushed a commit.

jackoneill
16th February 2017, 23:10
v3 is here (https://github.com/dubhater/vapoursynth-tcomb/releases/tag/v3).


* Fix small rounding error in the asm (bug introduced in v1).
* 32 bit builds may be faster now, about as fast as the Avisynth plugin, maybe.


The rounding error probably didn't change the output visibly.

I converted the external asm into intrinsics, because there are other things I should be doing.

KingLir
19th February 2017, 11:48
v3 is here (https://github.com/dubhater/vapoursynth-tcomb/releases/tag/v3).


Thanks! Here is the macOS build - you can add it to the "releases" on GitHub.

https://mega.nz/#!1hwVmTLI!fS0nznbJX1TB7QqcdSuWh2DVuwRrano6d6hRPFvdPLs

jackoneill
19th February 2017, 12:02
Thanks! Here is the macOS build - you can add it to the "releases" on GitHub.

https://mega.nz/#!1hwVmTLI!fS0nznbJX1TB7QqcdSuWh2DVuwRrano6d6hRPFvdPLs

Thanks, but I'd rather not upload anything I didn't compile myself.