Log in

View Full Version : HybridFuPP 0.98a (11/18/2007)


Pages : 1 2 [3]

rkalwaitis
22nd March 2009, 07:35
Gracias Senor Killa

FuPP
23rd March 2009, 16:01
I'm back. Did I miss anything ? :)

rkalwaitis
23rd March 2009, 16:40
Yeah

teach us old wise one how to use you auto sharpening with the unfilter.dll as an independent function.

Are you gonna update to mvtools2? And are you going to set up the autosharp to always be one regardless of whether or not the resizing is being done?
To be honest, I almost never resize. I usually just crop and then encode. I was informed that resizing isnt as important with x264 as it is with xvid.

I was talking to Sagekilla in search of a way to pull the edges from a source. Hold them as original or slightly enhanced and then placing them back overtop of the denoised source. ??? Just an idea, as you seem to have a good grasp on edges and mvtools.

And yes I am typing with all my fingers, well except for one of them :)

But I just use that one for pointing at things.

FuPP
23rd March 2009, 18:21
Are you gonna update to mvtools2
yes I will.

And are you going to set up the autosharp to always be one regardless of whether or not the resizing is being done
sharpening strength auto-computation has been designed to take care of downsizing (taking into account X and Y axis).

I am not sure of what you would like to do, so develop please.

teach us old wise one how to use you auto sharpening with the unfilter.dll as an independent function.

This function is based on a very simple affine function. Parameters are computed separetely for the X and Y axis of the video. The slope is for now hardcoded but could be input as a parameter.

Not sure that it would be adapted in all cases (as an external function), so tell me please what you want to do :)

search of a way to pull the edges from a source. Hold them as original or slightly enhanced and then placing them back overtop of the denoised source
HybridFuPP already do that : simply set 'Fast=false' :)

When Fast=true, edges enhancement is computed from the denoised frame. When set to False, from the original frame (except if you have activated deblocking, which is then computed before sharpening).

Here is the code in the script :
Def_E1 = "UnFilter(E_Str_X, E_Str_Y).Addgrain(E_Str_N,0,0)"
_input = Deblock && DB_M_Only == false ? input.Deblock(DB_Q, DB_Off_A, DB_Off_B) : input
Static = Eval("_input."+(N1 !="" ? N1 + "." : N1)+"Resizer(width, height, Resizer)"+(N2 !="" ? "." + N2 : N2))
clip = Fast ? Static : _input.Resizer(width, height, Resizer)
Edges = E_process ? Eval("Clip."+ (E1 != "" ? E1 + "." : E1) + "Resizer(width, height, Resizer)"
\ + (E2 !="" ? "." + E2 : E2)) : NOP()
And at the end of the process, after all other masks (except motion processing), sharpening is added :
Final = E_process ? mt_Merge(Final, Edges, EM) : Final

rkalwaitis
23rd March 2009, 20:32
If sharpening strength was developed for down sizing, I can live with that :) Just thought it would be cool if you could make an autosharpener. My lofty goals for you. sorry :)

I did not know that about fast being set to false and deblock off.

Edges = E_process ? Eval("Clip."+ (E1 != "" ? E1 + "." : E1) + "Resizer(width, height, Resizer)"
\ + (E2 !="" ? "." + E2 : E2)) : NOP()

so that line is the culprit is it? Does it have to use unfilter and addgrain? Ive been playing with mvtools trying to figure out how to pull the edge and keep it. Denoise and then put it back. I came up with something like this.

emask = mt_edge()##pull your edge, still no idea how to enhance them once Ive got them :( . SageKilla has helped me a lot with this.

super = MSuper(pel=2, sharp=1)
backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4)
backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4)
forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4)
forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4)
denoise = src.MDegrain2(super,backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=300)##however you denoise worried about keeping edges for now :)

merged = mt_merge(denoise, src, emask)
return(merged)


Do you know if I put the src in my merged? It does not make sense to put the clip i just cleaned up with my denoised clip and combine them. ????

But looking at your script I could not translate that to mvtools very easily.

hhhhmmmmmmm off to look at this in HFupp, thanks for your help as always.

FuPP
23rd March 2009, 21:24
no idea how to enhance them once Ive got them
unfilter() <HybridFuPP default>
sharpen()
xsharpen()
levels()
...

For what you want to do (in this example, I use Xsharpen() as an edge enhancer :


Function MyDenoising(clip src)
{
super = src.MSuper(pel=2, sharp=1)
backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4)
backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4)
forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4)
forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4)
return src.MDegrain2(super,backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=300)
}

HybridFuPP(your_clip, N2="MyDenoising()", M="", fast=false, E1="xsharpen()")



if you want to do it without HybridFuPP (I would get disappointed though ;)) :

Function MyDenoising(clip src)
{
super = src.MSuper(pel=2, sharp=1)
backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4)
backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4)
forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4)
forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4)
return src.MDegrain2(super,backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=300)
}

return mt_merge(MyDenoising(), xsharpen(), mt_Edge)

rkalwaitis
23rd March 2009, 22:06
But using xsharpen like that, doesnt that sharpen everything? Just not the edges?

and yes ill use them in HybridFupp. :) off to play again with this.

FuPP
24th March 2009, 01:19
when using HybridFuPP, E1 (-> edge filtering chain -> 'Edges') is applied on the clip (denoised one if fast=true, original one if fast=false -> 'Final') and merged to the denoised clip through 'EM' (edge mask)

Remember :
Final = E_process ? mt_Merge(Final, Edges, EM) : Final

This is the same principle in the example I gave you without using HybridFuPP :
mt_merge(MyDenoising(), xsharpen(), mt_Edge)

This will apply clip 'last.xsharpen' on the clip 'last.MyDenoising()', through the clip (mask) last.mt_Edge

FuPP

rkalwaitis
2nd April 2009, 15:05
Fupp how did you change the colors or your masks. For instance your edgemask may show as red, but how do you make it black?

FuPP
2nd April 2009, 15:38
change :

EM_Blank = BlankClip(1, w, h, color=$FF0808, pixel_type="yv12")

to :

EM_Blank = BlankClip(1, w, h, color=$000000, pixel_type="yv12")


and

i = EShow != 0 ? Overlay(i, EM_Blank, Mask=em, Mode="chroma", opacity=0.6) : i

to :

i = EShow != 0 ? Overlay(i, EM_Blank, Mask=em, Mode="blend", opacity=1) : i

FuPP

rkalwaitis
2nd April 2009, 16:21
thanks Fupp how goes the update?

FuPP
2nd April 2009, 16:28
Work in progress...

FuPP

MadRat
5th April 2009, 08:05
Looking forward to the next update.

rkalwaitis
6th April 2009, 08:31
Fupp,

What settings do I need to manipulate to reduce blocking appearing in the sky on my project. Im using HybridQ, dering and deblock to true.

K

FuPP
6th April 2009, 09:27
Here are available parameters (from Deblock.dll doc, I have simply added HybridFuPP's parameters names) :


DB_Q (quant) : the higher the quant, the stronger the deblocking. It can range from 0 to 60.

DB_Off_a (aOffset) : quant modifier to the blocking detector threshold. Setting it higher means than more edges will deblocked.

DB_Off_b (bOffset) : another quant modifier, for block detecting and for deblocking's strength. There again, the higher, the stronger.


Defaults are :

DB_Q (quant) = 25
DB_Off_a (aOffset) = 0
DB_Off_b (bOffset) = 0

If quant + aOffset is inferior to 16, the filter does nothing at all. The same goes for quant + bOffset.


see also this post (http://forum.doom9.org/showthread.php?p=810932#post810932) for more informations about alpha and beta parameters.


FuPP

hartford
7th April 2009, 02:38
I'm getting an error from using v098a. It is in this line (246):

"Invalid arguments to function "Deen"

Def_N2 = """Deen("a3d", S_Radius, S_Str, 3*C_Str, T_Str, C_Str, S_Dist, 9)"""

I am using Deen-b2.dll, mt_masktools_2.0a28.dll, Unfilter-16-01-2003, mvtools-v1.8.5.1, AddGrain 23-06-2003

Input video is YV12.

Would appreciate some advise on how to resolve this problem.

EDIT: Here is my AVS file

Loadplugin("Deen-b2.dll")
Loadplugin("mt_masktools_2.0a28.dll")
Loadplugin("UnFilter.dll")
Loadplugin("mvtools-v1.8.5.1.dll")
Loadplugin("AddGrain.dll")

Import("HybridFuPP_v098a.avsi")


Avisource("13-2.avi")

ConvertToYV12()

HybridFupp()


TIA.

(note: I choose to name all my "import" files avsi because I do no auto import of anything in order to prevent and/or sort-out problems with plugins and scripts.)

FuPP
7th April 2009, 09:27
Hi,

Please try to use dlls provided in HybridFuPP 0.985a package (on page #5 of this thread), and let me know.

FuPP

DarkT
8th April 2009, 12:25
There's a preset - anime2, which is really nice, but I wish It'd be possible to have something in between anime1 and anime2... I tried tweaking the anime2 preset, for an hour or so... I believe I went through every variable... It seems like the filtering chain is not very tweaking-friendly though... Couldn't get it to work the way I wanted to...

FuPP
8th April 2009, 13:27
Hi DarkT,

something in between anime1 and anime2
Couldn't get it to work the way I wanted to
Could you be more precise, please ?

Main differences between both presets are related to denoising (more agressive on anime2) and resizing algorithm.

Parameters you may want to tweak are therefore

- Resizer

and about denoising :

- S_Radius (Spatial radius)
- S_Str (Spatial strength)
- T_Str (Temporal strength)

FuPP

rkalwaitis
9th April 2009, 09:17
Top of the morning FuPP

I added the following to the script so I could use a denoising function as per your help :)


Function MyDenoising(clip src)
{

super = src.MSuper(pel=2, sharp=1)
backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4)
backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4)
forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4)
forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4)
return src.MDegrain2(super,backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=300)
}

and modified the two lines as Sagekilla suggested so that I could use MDegrain2.

here is my line I call:::

HybridFuPP(N2="MyDenoising()", M="", fast=false, E1="msharpen(threshold=9,strength=80,highq=true)", skin=true, S_Enh_Str=1, deblock=true, DS_enh=true, dering=true, show="-F" )

My problem is manipulating the skin (S_Enh_Str) the html with the HybridFupp Package states from what I understand is a setting from 0 through 20 to keep the grain on the faces. Of course I tried negative numbers which worked too. My question is does the ability of the use of a negative number suggest that the function is not necessarily working correctly? I find 0 and 1 to be the best for my source, is 0 the same as off or no change? Anything over 2 really makes the faces look like someone was rolling in sand. :)

Also since we like the skin enhance ideas ( I do, I think it is very interesting), is there away to slightly enhance the colors of the detected faces? Just an idea. Instead of adjusting the whole images colors, just slightly enhancing the skin areas. Just a tad more color. I know the idea is to preserve the features of the face and reduce the washed out look. But putting a bit of color back would also enhance the function.

I am waiting for the update :)

rkalwaitis
9th April 2009, 10:15
Hartford Im using deen 0.1 beta. It works for me.

FuPP
9th April 2009, 16:43
E1="msharpen(threshold=9,strength=80,highq=true)"
This is a wrong choice because both HybridFuPP and msharpen include an edge mask algorithm.

Anything over 2 really makes the faces look like someone was rolling in sand
I have already improved that a lot in the coming release :)

is there away to slightly enhance the colors of the detected faces
Obviously :) But what would be the aim of that (ie increasing color saturation on faces only) ?

I am waiting for the update
You will have to be a bit patient. I have modified a lot of things and I therefore need to do a lot of tests.

Moreover, I would like to test some other denoisers than deen. I like it because of the easy control it gives and his very decent results, but I would like to give a try to some others, especially to FFT3DFilter. But it could require a bit time to test it (or them) extensively...

FuPP

rkalwaitis
9th April 2009, 17:47
okay ill play with something else besides msharpen() :) As far as denoisers go, I like the MVDegrains and FFT3dFilter. You can do a lot with FFT3dfilter from dehalo to sharpen. It is handy. I can do simple little scripts to denoise a clip with them, but nothing as fancy as the options you have. Heck, Im not even sure sometimes the difference between deringing and dehalo :|

As far as the faces go, after I denoise, there seems to be a slight color difference. It could be because of deen. It is not horrible and I can live with it. But I thought it would add still more enhancement to the skin option as the focus usually is on the people in the clip. Its just an opinion.

Thanks again for your patience with my questions.
I patiently await the next edition of FuPP, coming to a forum near me.

FuPP
9th April 2009, 18:48
what settings do you use about deen ? Maybe chroma denoising settings are too heavy...

FuPP

rkalwaitis
9th April 2009, 22:45
I use the settings that are default to Hybridfupp.

FuPP
9th April 2009, 23:28
HybridFuPP's default settings for chroma denoising were... a little bit heavy :D

FuPP

Benus_MinO
16th April 2009, 15:36
I wanna encode BD-ISO to 720p, but the quality of this BD isn't good. So i tested something like this: HybridFuPP(1280,720,preset="anime1",skin=false,E_Auto_Str=false,E_Str_X=30,E_Str_Y=20,Enh_Str=15)

Screens:
http://img411.imageshack.us/img411/980/coin.th.jpg (http://img411.imageshack.us/my.php?image=coin.jpg)
http://img58.imageshack.us/img58/4971/76819240.th.jpg (http://img58.imageshack.us/my.php?image=76819240.jpg)
But the efect is too bad, how i can improve quality of that video?

FuPP
16th April 2009, 20:53
I can see blocking artefacts and bad gradients on these pictures.

use deblock=true for removing blocks.

try to set S_Radius to 2 and see if it helps for gradients. If it blurs too much, set S_Str to something between 1 and 5.

FuPP

Benus_MinO
17th April 2009, 20:57
It look worse than before, but i change some settings and the final version look good.

FuPP
17th April 2009, 22:13
You maybe want to share with us the settings you used ? Could be useful for some other people, you know :thanks:

FuPP

Bexley
8th May 2011, 19:49
Sorry to bump an old thread, but I am having a problem with severe artefacts from using this filter. Every few seconds the image will display severe blocking that only lasts for a single frame. I have verified that I am using all the correct plugin versions that are bundled with the function, and I am not using any SetMTMode calls.

I've tried versions .991b and .98a on every preset and gotten the same result, and the effects are not random - it's always the same frames.

http://img231.imageshack.us/img231/9290/frame2094.th.png (http://img231.imageshack.us/i/frame2094.png/)

http://img194.imageshack.us/img194/7094/frame3276.th.png (http://imageshack.us/photo/my-images/194/frame3276.png/)

Has anyone else seen this effect?

FuPP
10th May 2011, 13:53
Hi Bexley,

Can you provide to me a sample of your source ?


FuPP

TheProfileth
17th May 2011, 01:36
btw are you ever going to release your newest version?
I mean I would be happy to see what you have done even if it is not completely working, or has issues.

FuPP
17th May 2011, 09:39
Profileth,

Latest version, HybridFuPP 0.991b, can be found here (http://forum.doom9.org/showthread.php?p=1278707#post1278707).

I use HybridFuPP myself quite often and I have not experienced any misfunctionment. This is the reason why I have asked a sample, to be sure the problem is related to HybridFuPP.

0.991b could have been '1.0', except I did not get enough feedback when I released it...

FuPP