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 > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th July 2016, 13:52   #41  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by ~SimpleX~ View Post
Oh, well, it doesn't. I have i7 2600k, which is Sandy Bridge.
then you have to compile a compatible binary yourself, auto compiling files for GCC are provided with the source code
feisty2 is offline   Reply With Quote
Old 30th July 2016, 21:15   #42  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,843
Is there a real gain in quality due to such a high precision implementation?
kolak is offline   Reply With Quote
Old 31st July 2016, 07:46   #43  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by kolak View Post
Is there a real gain in quality due to such a high precision implementation?
guess there's quality gain more or less, but mainly for being free of clamping (more mathematically correct) in floating point format rather than higher precision

Last edited by feisty2; 31st July 2016 at 07:48.
feisty2 is offline   Reply With Quote
Old 31st July 2016, 12:29   #44  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,843
I've tried it and have not seen any "real" difference.
kolak is offline   Reply With Quote
Old 31st July 2016, 20:10   #45  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by kolak View Post
I've tried it and have not seen any "real" difference.
you might not see any "real" difference between int8 and int16 most of the time, not to even mention int16 and float32

I started this for my OCD about placebo precision, wanted it to be as mathematically correct as possible, but the actual reason that makes this useful is there're HDR videos out there, HDR videos contain colors even brighter than white or even darker than black, and integers couldn't handle stuff like that, and floats could.
feisty2 is offline   Reply With Quote
Old 1st August 2016, 12:15   #46  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,843
I'm not trying to say your work is worthless.
Nothing wrong with having options as there may be cases when it may be useful (as you already mentioned).
kolak is offline   Reply With Quote
Old 3rd August 2016, 16:18   #47  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
r5
Bug Fixes
1. truemotion was corrupted(bug inherited from jackoneill's branch), fixed.
2. the SATD implementation was completely incorrect, did some research and rewrote that from the beginning, SATD works correctly now
feisty2 is offline   Reply With Quote
Old 3rd August 2016, 16:25   #48  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
@~SimpleX~
r5 features no SIMD extension, try it and it will probably not crash this time
feisty2 is offline   Reply With Quote
Old 4th August 2016, 00:13   #49  |  Link
~SimpleX~
Registered User
 
Join Date: Feb 2010
Location: Saint-Petersburg, Russia
Posts: 38
I've made some stupid compatibility layer for mv and mvsf (mvmulti, 8..32 bit support, incomplete function set). Maybe it would be useful for someone.

Last edited by ~SimpleX~; 4th August 2016 at 00:17.
~SimpleX~ is offline   Reply With Quote
Old 4th August 2016, 00:40   #50  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by ~SimpleX~ View Post
I've made some stupid compatibility layer for mv and mvsf (mvmulti, 8..32 bit support, incomplete function set). Maybe it would be useful for someone.
You should check sample_type, not the number of bits
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 4th August 2016, 07:50   #51  |  Link
~SimpleX~
Registered User
 
Join Date: Feb 2010
Location: Saint-Petersburg, Russia
Posts: 38
Quote:
Originally Posted by Myrsloik View Post
You should check sample_type, not the number of bits
Missed that part, thanks! Updated.
~SimpleX~ is offline   Reply With Quote
Old 4th August 2016, 08:41   #52  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by ~SimpleX~ View Post
Missed that part, thanks! Updated.
theoretically you cannot expand DegrainN to the partial sum of a series like ∑[x=1, y](DegrainRadius[x] * P[x]) (∑[x=1, y]Radius[x] = N, ∑[x=1, y]P[x]=1), it works but the result is very different from DegrainN

Code:
         mv123 = core.mv.Degrain3(clip, super, *v[:6], **kwargs) 
         mv456 = core.mv.Degrain3(clip, super, *v[6:], **kwargs) 
         sm = core.std.Merge(mv123, mv456, 0.4615)
is poles apart from mvsf.Degrain6, and you should not obfuscate them in your "degrain" function.

edit: made the statement more rigorous

Last edited by feisty2; 4th August 2016 at 09:41.
feisty2 is offline   Reply With Quote
Old 4th August 2016, 11:23   #53  |  Link
~SimpleX~
Registered User
 
Join Date: Feb 2010
Location: Saint-Petersburg, Russia
Posts: 38
Quote:
Originally Posted by feisty2 View Post
theoretically you cannot expand DegrainN to the partial sum of a series like ∑[x=1, y](DegrainRadius[x] * P[x]) (∑[x=1, y]Radius[x] = N, ∑[x=1, y]P[x]=1), it works but the result is very different from DegrainN

Code:
         mv123 = core.mv.Degrain3(clip, super, *v[:6], **kwargs) 
         mv456 = core.mv.Degrain3(clip, super, *v[6:], **kwargs) 
         sm = core.std.Merge(mv123, mv456, 0.4615)
is poles apart from mvsf.Degrain6, and you should not obfuscate them in your "degrain" function.

edit: made the statement more rigorous
I took that code from MCTemporalDenoise. I'd love to have Degrain at least up to 6 in jackoneill's plugin, but for now... Maybe I should remove that part completely and stick to Degrain1..Degrain3 for integral samples?
~SimpleX~ is offline   Reply With Quote
Old 4th August 2016, 11:29   #54  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by ~SimpleX~ View Post
I took that code from MCTemporalDenoise. I'd love to have Degrain at least up to 6 in jackoneill's plugin, but for now... Maybe I should remove that part completely and stick to Degrain1..Degrain3 for integral samples?
remove it, definitely, nothing wrong with this approach, it's just DIFFERENT from how DegrainN works in mvtools and you should never obfuscate different stuff together like they are the same stuff..
feisty2 is offline   Reply With Quote
Old 24th October 2016, 15:06   #55  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
r6:
new block sizes: 2x2, 64x64, 64x32, 128x128, 128x64, 256x256, 256x128
switched to fftw3.3.5
feisty2 is offline   Reply With Quote
Old 7th November 2016, 22:07   #56  |  Link
groucho86
Registered User
 
Join Date: Apr 2016
Posts: 85
Hi feisty2,
I'm using BlockFPS to get to a lower FPS (29.97i to 59.94p via QTGMC then to 23.976p) using this code :
Code:
clp = core.fmtc.bitdepth(clip,bits=32,fulls=False,fulld=True)
super = core.mvsf.Super(clp,pel=4,hpad=16,vpad=16,rfilter=4)
bw_1  = core.mvsf.Analyze(super,isb=True,blksize = 16,overlap=0,search=3,badrange =-24)
fw_1  = core.mvsf.Analyze(super,isb=False,blksize = 16,overlap=0,search=3,badrange =-24)
clp = core.mvsf.BlockFPS(clp, super, bw_1, fw_1, num=24000, den=1001, blend=False)

clp.set_output()
The video freezes about halfway through. I wonder if it's similar to the problem that was fixed in jackoneill's version.
groucho86 is offline   Reply With Quote
Old 19th December 2016, 11:30   #57  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
r7
Bug Fix
fixed a clip length calculation bug in BlockFPS, reported by groucho86
New Feature
extended SATD to 64x64 128x128 and 256x256 blocks
Uncategorized
replaced Hadamard ordered SATD with the Sequency ordered variant, levels faster..
feisty2 is offline   Reply With Quote
Old 3rd January 2017, 20:34   #58  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 724
Could you please do Mask too? I found it can be used to limit the destructive effect of temporal denoising.
__________________
...desu!
Mystery Keeper is offline   Reply With Quote
Old 4th January 2017, 08:43   #59  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by Mystery Keeper View Post
Could you please do Mask too? I found it can be used to limit the destructive effect of temporal denoising.
will do that for the next update
feisty2 is offline   Reply With Quote
Old 9th February 2017, 09:35   #60  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
r8
New Feature
mvsf.Mask
Uncategorized
converted some ugly C89 style code to C++14 style
feisty2 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 21:02.


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