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 Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 8th October 2012, 20:05   #1  |  Link
FuPP
TotalEclipseOfTheBrain
 
FuPP's Avatar
 
Join Date: Sep 2002
Posts: 347
HybridFuPP 0.992b (10/08/2012)

HybridFuPP 0.992b <- download


Changelog from 0.991b :


Fixed a bug about deblocking

Fixed a bug about motion compensation (overlapping)

Added some parameters : DB_M_Only and DB_D_Only


see Readme for complete history
.


This Avisynth script allows both resizing and filtering of your videos.

Distinct filters can be applied on different parts of a same picture (edges, static areas, motion, dark and bright areas, skin...) : HybridFuPP is a kind of adaptive processor, allowing picture cleaning, general perception improvements and compressibility gain.

Main idea consists in filtering strongly the less visible parts of the picture, and very softly the more visible. HybridFuPP uses masks to detect areas to process.

In most recent versions, HybridFuPP proposes a more aggressive “psychovisual” approach (although very empirical), allowing to “force” codecs, used while re-encoding output clip, to allocate more bits where and when it is considered to be critical, especially at low bitrates (dark scenes, skinned areas...). All of these new features are of course optional, but are generally activated by default when using preset 'HybridQ'.

Standard processings proposed are : resizing (8 possibilities), denoising (optionally motion-compensated), dark and bright areas special denoising, dark scenes enhancement, edges sharpening or softening (distinct horizontal and vertical settings), edges brightness control, deringing (removing artefacts around edges), deblocking (removing blocks effect generated by mpeg compression) and skin processing.

Although HybridFuPP has been originally designed to process rather clean materials, filtering package used is flexible and powerful enough to be used with more noisy materials too (depending on noise type) : increasing default settings could be though required.

HybridFuPP is provided with some presets allowing beginners to use the script easily and other people to use these presets as basis for their explorations. Moreover, HybridFuPP allows users to define their own processing chains : lot of things become then possible !


Presets available (names are quality related, except for HybridQ, Anime1 and Anime2) :

Very Low
Low
Medium
High
Very High

HybridQ

Anime1
Anime2


Please refer to the doc to see what features are activated or not in each preset


HybridFuPP requires Avisynth v 2.58 or v 2.6.

Put HybridFuPP.avsi and provided filters in your avisynth plug-ins directory (by default : C:\Program Files\AviSynth 2.5\plugins). FFT3DFilter.dll requires an additional dll (FFTW3.dll) that must placed into you windows\system32 (or windows\sysWOW directory for Vista).
NB : these DLLs are included in some compressed files, you need first to extract them from each archive

Be sure that UnFilter.dll (v1.5), Deen.dll (v1.0 beta 1), FFT3DFilter.dll (2.1.1), MVTools2.dll (2.5.11.3), MT_Masktools.dll (v2.0.a48), Deblock (v1.2) and Addgrain (v1.0) are loaded in your main script.

Be aware that 2 dlls are provided for masktools : one is for avisynth 2.5, the other one for avisynth 2.6.

C A U T I O N : You MUST use filters versions provided with HybridFuPP, or you will probably get unexpected results or errors !


I strongly recommend you to read the doc if you want to fully understand the possibilities and the meaning of all parameters available.

FuPP

Last edited by FuPP; 17th October 2012 at 10:48.
FuPP is offline   Reply With Quote
Old 10th October 2012, 19:57   #2  |  Link
cretindesalpes
͡҉҉ ̵̡̢̛̗̘̙̜̝̞̟̠͇̊̋̌̍̎̏̿̿
 
cretindesalpes's Avatar
 
Join Date: Feb 2009
Location: No support in PM
Posts: 610
Quote:
Originally Posted by FuPP View Post
HybridFuPP 0.992b <- download
"Access denied"
__________________
dither 1.27.2 for AviSynth | avstp 1.0.3 for AviSynth development | fmtconv r19 for Vapoursynth | trimx264opt segmented encoding
cretindesalpes is offline   Reply With Quote
Old 10th October 2012, 21:05   #3  |  Link
FuPP
TotalEclipseOfTheBrain
 
FuPP's Avatar
 
Join Date: Sep 2002
Posts: 347
Ok... Do you know where I can upload the file ?

FuPP
FuPP is offline   Reply With Quote
Old 11th October 2012, 01:04   #4  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 5,791
Mediafire is generally recommended
__________________
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 online now   Reply With Quote
Old 13th October 2012, 16:00   #5  |  Link
nibus
Telewhining
 
Join Date: Mar 2010
Posts: 275
HybridFuPP rocks!

Mediafire Mirror:

http://www.mediafire.com/?6g09aazs4z7m11a

Quote:
Originally Posted by FuPP View Post
Tested M_Str with MP_Mode = 2, could not reproduce your problem (I can see a difference between 0 and 255, for instance... Of course only in motion areas)

Code:
Hybridfupp(608, 320, show="", MP_Mode=2, M_Str=255)
Please test with 0.992b. If still the same post your entire HybridFuPP line in the new thread.

A few thoughts : could be related to the preset used. Use show="P" to check what is said about M_Str. Did you check if some motion was detected, using show="M" where you checked ? This parameter is only useful in motion areas...

FuPP
I didn't realize that M_Str was only applied to motion areas. In that case, it is working properly. However, is there an option to tweak the regular denoising strength in D_Mode=2 (mvtools) for HybridQ?

Because of the lack of this option, I usually specify SMDegrain as my 2nd denoiser. It allows for much more tweaking, as well as contra-sharpening. In addition, the regular D_Mode=2 option eventually starts slowing down on my system, while SMDegrain continues to use 90+% of my CPU. I also add Spresso and STpresso to the pre-resize denoising chain to further increase compression:

Sample script:
Code:
hybridFupp(width=768, height=320, preset="HybridQ", M_TRadius=0, D_Mode=0, MP_Mode=0, N1="Spresso(4,25,4).STpresso(4,24,17,24,3,49,1)", 
N2="SMDegrain(tr=3, thSAD=400, blksize=8, amp=0.0625, RefineMotion=True, prefilter=0, Contrasharp=true, overlap=2, pel=1)", Resizer=7, 
ME_Resizer=7, Bl_Size=16, Fast=false, B_Thr=0, D_Thr=20, DS_Enh=false, ARAdjust=false, Skin=true, Enh_Str=1, EM_Mode=1, E_Thr=140, 
E_Auto_Str=false, E_Str_X=50, E_Str_Y=50)

The real beauty of the FuPP script is the "skin" setting that adds grain to skin tones. My main gripe with denoising is that it makes faces and skin look pasty and fake. But using the skin setting does wonders to minimize this. However, I have found scenes where the tone of an actor's skin has been somewhat different, and therefore did not have grain applied to it. Would it be possible to add an option to expand, or change the tone of skin that grain is applied to? Even better, apply a different skin tone mask to a specific set of frames?

Overall it's a great script that I have found immensely useful. Here is a 720p sample at only 382kbps, thanks mostly to these two scripts and some x264 tweaking. (Granted they are only talking heads ) The source had quite a bit of grain in it.
http://www.mediafire.com/?lc3azxfl55dnf3v
nibus is offline   Reply With Quote
Old 17th October 2012, 01:07   #6  |  Link
jinkazuya
Registered User
 
Join Date: Jul 2010
Posts: 89
This filter is great. However is there a way to reduce the strength of denoising or use custom denoising? It helps a great deal with deringing artifacts but the outcome of the video is a bit too washed-out. Quite a bit of details are lost.
jinkazuya is offline   Reply With Quote
Old 17th October 2012, 18:58   #7  |  Link
FuPP
TotalEclipseOfTheBrain
 
FuPP's Avatar
 
Join Date: Sep 2002
Posts: 347
@nibus

First, thanks for the mirror. I have updated the link in my first post

About skin detection : for now, parameters are hardcoded. Moreover, a threshold is used to desactivate skin detection if too many things are detected : I did it this way because sometimes skin detection can be messed up by, for instance, a brick wall, or any background in the picture whose color is close to skin tones.

I could add parameters for skin detection but be aware this is very difficult to tweak because something that is ok in a given scene could be bad in another one...


@nibus + jinkazuya

When using D_Mode = 2, you can only tweak M_TRadius (temporal radius, ie number of frames taken into account when computing motion compensation), and M_SCD (scene change detection). This is a choice... (mine )

If you want more tweakability, you have to use D_Mode = 3 or D_mode = 1. It is possible to apply motion compensation even when using these modes.


@jinkazuya

Did not get the point about deringing. What parameters did you use ?


FuPP

Last edited by FuPP; 17th October 2012 at 21:16. Reason: typos
FuPP is offline   Reply With Quote
Old 17th October 2012, 20:19   #8  |  Link
Eluent
Registered User
 
Eluent's Avatar
 
Join Date: Jul 2007
Posts: 10
Thx so much for HybridFupp !
Just what I needed.
I'm moding the script a bit, but apart from that so happy to have some good dark and skin detection engine. Whith that I can get some quite insane low bitrate on my DVD encryption.

I'm not too sure about adding grain on skins in HybridQ mode tough, does seem to be counter productive, at least on the sample I tried. Not visible if Enh_Str=1, too visible if >=2..

Strong(er) sharpening on "skins" seems more like what we(I) would want to do, and it would still drive x264 to allocate more bitrate to these "skins" part wouldn't it ?
Eluent is offline   Reply With Quote
Old 17th October 2012, 20:42   #9  |  Link
nibus
Telewhining
 
Join Date: Mar 2010
Posts: 275
Quote:
Originally Posted by FuPP View Post
About skin detection : for now, parameters are hardcoded. Moreover, a threshold is used to deactivate skin detection if too many things are detected : I did it this way because sometimes skin detection can be messed up by, for instance, a brick wall, or any background in the picture whose color is close to skin tones.
I had actually wondered about this. It is already very good; I've noticed very few scenes where it was applied erroneously to other materials. Still, it could be beneficial to be able to tweak the values. If anything, the video could be split up with trim() ++ trim() and different hybridFuPP command lines.
nibus is offline   Reply With Quote
Old 17th October 2012, 21:21   #10  |  Link
FuPP
TotalEclipseOfTheBrain
 
FuPP's Avatar
 
Join Date: Sep 2002
Posts: 347
Quote:
Originally Posted by Eluent View Post
I'm not too sure about adding grain on skins in HybridQ mode tough, does seem to be counter productive, at least on the sample I tried. Not visible if Enh_Str=1, too visible if >=2..

Strong(er) sharpening on "skins" seems more like what we(I) would want to do, and it would still drive x264 to allocate more bitrate to these "skins" part wouldn't it ?
Depending on the codec and the bitrate, adding grain can be useful. But yes I could split this into two parameters, one for sharpening, the other one for grain.


@nibus

ok, will see


FuPP
FuPP is offline   Reply With Quote
Old 18th October 2012, 01:29   #11  |  Link
Eluent
Registered User
 
Eluent's Avatar
 
Join Date: Jul 2007
Posts: 10
Fupp, D_Mode should default at 3 at preset Very High, in 0.992b Very High doesn't use fft3dfilter unless you add D_Mode = 3 :
HybridFuPP(newWidth,newHeight,preset="Very High",D_Mode=3)
Eluent is offline   Reply With Quote
Old 18th October 2012, 02:22   #12  |  Link
jinkazuya
Registered User
 
Join Date: Jul 2010
Posts: 89
This is the script I used FuPP

Quote:
HybridFuPP(width=720,height=544,resizer=3,preset="HybridQ",fast=false,Enh_Str=5,D_Mode=2,S_Dist=0.1,ME_Resizer=5,EM_Mode=1,DS_Enh=true,E_Str_N=20,Db_M_Only=true,DB_D_Only=true,skin=false)
Kinda bit slow though used with QTGMC function filter. Or maybe QTGMC is too slow due to the NNEDI3.

Last edited by jinkazuya; 18th October 2012 at 02:25.
jinkazuya is offline   Reply With Quote
Old 18th October 2012, 22:45   #13  |  Link
FuPP
TotalEclipseOfTheBrain
 
FuPP's Avatar
 
Join Date: Sep 2002
Posts: 347
@jinkazuya

a few comments :

Db_M_Only=true and DB_D_Only=true are useless, unless you activate deblocking with deblock=true

S_Dist=0.1 is only used when Dmode=1, so useless here

Resizer = 3 but ME_resizer= 5 seems quite strange...

Enh_Str = 5 seems very strong

E_Str_N = 20 -> what are you trying to do here ?


Quote:
but the outcome of the video is a bit too washed-out. Quite a bit of details are lost
Do you mean before encoding or after ?

If before, try Resizer = 6, Aradjust=false, and possibly D_mode=3

If after, try E_Str_N=0, Enh_Str=1 or 2, ME_Resizer=0
FuPP is offline   Reply With Quote
Old 20th October 2012, 08:37   #14  |  Link
jinkazuya
Registered User
 
Join Date: Jul 2010
Posts: 89
It appears after encoding.

So what is your suggestion on using the degrain filters?

Because I am trying to encode a 45 minutes video, the size of which is 500MB.

I know making a video from the original into 500MB (compressed size) some of the details are lost but is there a way to minimize it but getting rid of the artifact due to compression?

Last edited by jinkazuya; 20th October 2012 at 08:39.
jinkazuya is offline   Reply With Quote
Old 20th October 2012, 08:54   #15  |  Link
nibus
Telewhining
 
Join Date: Mar 2010
Posts: 275
jinkazuya, could you post a sample of your video?
nibus is offline   Reply With Quote
Old 28th May 2013, 19:10   #16  |  Link
Jynrion
Registered User
 
Join Date: Mar 2008
Posts: 2
Sincerely I just love what this scipt does to my videos... FuPP you are really great for us. All you need easy and quick.
Thanks a lot.
Jynrion is offline   Reply With Quote
Old 28th May 2013, 19:17   #17  |  Link
FuPP
TotalEclipseOfTheBrain
 
FuPP's Avatar
 
Join Date: Sep 2002
Posts: 347
Thanks a lot for your kind words

FuPP
FuPP 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 13:25.


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