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 13th October 2015, 14:42   #21  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
@sl1pkn07
thanks to Are_'s help, the compiling files are available now
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 13th October 2015, 15:00   #22  |  Link
sl1pkn07
Pajas Mentales...
 
Join Date: Dec 2004
Location: Spanishtán
Posts: 448
zankius!
sl1pkn07 is offline   Reply With Quote
Old 21st January 2016, 14:43   #23  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
https://github.com/IFeelBloated/vapo...ses/tag/test13
test13
precision boost
1. SAD (float -> double)
2. SATD (int16_t -> double)
3. DCT (uint8_t -> even more precise than float)
and also features some cosmetic changes from @ jackoneill
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 5th February 2016, 16:24   #24  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
https://github.com/IFeelBloated/vapo...ses/tag/test14
test14
A. Full Precision Boost
1. DCT (float -> double)
2. Motion Analysis (float -> double)
3. Super (float -> double)
4. Overlap (float -> double)
5. Variance (float -> double)
6. Degrain (float -> double)
and more...
basically everything works at double precision, rounded to single precision only at the final output stage
B. Bug Fixes
fixed a bug inherited from the avisynth plugin (bit shift operation on negative values, reported by @Are_ via runtime debugging)
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 5th February 2016, 16:38   #25  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 2,002
Quote:
Originally Posted by feisty2 View Post
https://github.com/IFeelBloated/vapo...ses/tag/test14
test14
A. Full Precision Boost
1. DCT (float -> double)
2. Motion Analysis (float -> double)
3. Super (float -> double)
4. Overlap (float -> double)
5. Variance (float -> double)
6. Degrain (float -> double)
and more...
basically everything works at double precision, rounded to single precision only at the final output stage
B. Bug Fixes
fixed a bug inherited from the avisynth plugin (bit shift operation on negative values, reported by @Are_ via runtime debugging)
I'm curious now. Did you compare the speed between your single and double precision versions? I suspect you've made it even slower now.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is online now   Reply With Quote
Old 5th February 2016, 16:51   #26  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
Quote:
Originally Posted by Myrsloik View Post
I'm curious now. Did you compare the speed between your single and double precision versions? I suspect you've made it even slower now.
the speed is only a little bit slower than single precision version long as FFTW stays out of business, but drops heavily (~2x slower on my i7-4790k) if FFTW gets involved (dct=1-4)
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 7th February 2016, 12:04   #27  |  Link
MonoS
Registered User
 
Join Date: Aug 2012
Posts: 176
Probably you'll see some speed difference if you enable auto vectorization [on GCC -O3 and -march=corei7-avx]. Right now it isn't any slower because latency between float and double is the same [5 cycles on the latest intel generation], the little speed difference is probably due to memory access, fftw is 2x slower due to loss in vectorization [in a 128bit vector register can fit 4 floats but only 2 doubles].

I'll be more interested to know if this precision boost is really useful
MonoS is offline   Reply With Quote
Old 8th February 2016, 07:30   #28  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
Quote:
Originally Posted by MonoS View Post
I'll be more interested to know if this precision boost is really useful
floats lose precision as the calculation goes on, and giant plugin like mvtools comes with hell lot of calculations, double precision is required to do the intermediate stuff if you want the final output features a real single precision, otherwise it's just low precision data in a single precision format..
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 12th February 2016, 22:43   #29  |  Link
MonoS
Registered User
 
Join Date: Aug 2012
Posts: 176
Quote:
Originally Posted by feisty2 View Post
floats lose precision as the calculation goes on, and giant plugin like mvtools comes with hell lot of calculations, double precision is required to do the intermediate stuff if you want the final output features a real single precision, otherwise it's just low precision data in a single precision format..
Sorry if i ask, but i'd like to see some real world example.

While i understand the using of single precision for this kind of calculation, i think that double is rather overkill.
But let make clear that this my statement is not supported by actual facts, i'm willing to change my mind [but please, try to make some better example than the one you did on fmtc thread]
MonoS is offline   Reply With Quote
Old 8th April 2016, 17:09   #30  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
https://github.com/IFeelBloated/vapo...ses/tag/test15
test15
A. Colorspace
all floating point colorspaces are supported now, GrayS, RGBS and YUV4xxPS (note that dct 1-4 on YUV clips might be kind of buggy, as chroma features a different range from luma, will be fixed in the next release)
B. Degrain
the stupid "thsadc" and "limitc" parameters got their asses canceled, "thsad" and "limit" have been made arrays
"plane" parameter won't do nothing on RGB and GRAY clips, all planes will be processed
C. stuff, here and there..
bug fixes shamelessly copied from @jackoneill
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated

Last edited by feisty2; 8th April 2016 at 17:11.
feisty2 is offline   Reply With Quote
Old 9th April 2016, 09:40   #31  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
so I been testing, RGB colorspace has been supported but,
I found motion estimating under RGB is not some kind of nice thing to do, I mean, it works, but the quality sucks comparing to just do it under YUV 4:4:4
convert your RGB input to YUV before applying mvtools on it, or, anyways, mvtools will happily take the RGB input and feed you back with some shitty motion estimation if you give it like some RGB input directly
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 16th April 2016, 13:24   #32  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
https://github.com/IFeelBloated/vapo...eleases/tag/r1
r1
first stable release!!!
A. sanity check.
will raise an error if the input is not single precision fp or features varying dimensions
B. DCT
fixed dct stuff on YUV input
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 16th April 2016, 19:37   #33  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 711
Works awesomely. Thank you!
__________________
...desu!
Mystery Keeper is offline   Reply With Quote
Old 6th June 2016, 13:53   #34  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
r2
merged bug fixes from jackoneill's branch since his last release
currently no plan to add depanning stuff
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 24th June 2016, 14:26   #35  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
r3
A. BlockFPS
1. added support to overlap (merged from Fizick's master branch)
2. new modes, mode 6-8, occlusion mask weighted on SAD (merged from Fizick's master branch)
B. Compensate
1. new parameter "time", use it to do partial time compensation (merged from Fizick's master branch)
C. Bug Fixes
1. vector length was clamped to 127/pel on motion flow functions, now it's 2147483647/pel, practically unlimited (Fizick relaxed it to 32767/pel, I decided to do it more thoroughly)
D. Precision Boost
1. internal masking for motion flow (uint8_t -> double)
2. simpleresize for masks (uint8_t -> double)
floating point precision MMask should be super easy to implement now (all internal stuff are double already), but I didn't do it anyways like, yeah, I'm all fucked up lazy
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 25th June 2016, 00:16   #36  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 711
You say it is possible to write QTGMC analog for floating point. Can you please give a code to replace TemporalSoften?
__________________
...desu!
Mystery Keeper is offline   Reply With Quote
Old 5th July 2016, 09:23   #37  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
r4
New Filter
binary: added mvsf.Flow
mvmulti: added mvmulti.Flow
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 30th July 2016, 13:11   #38  |  Link
~SimpleX~
Registered User
 
Join Date: Feb 2010
Location: Saint-Petersburg, Russia
Posts: 38
VS Editor crashes on simple
Code:
import vapoursynth as vs
core = vs.get_core()

src = core.d2v.Source(...)
last = core.fmtc.bitdepth(src, bits=32, fulls=False, fulld=True)
super = core.mvsf.Super(last)
last.set_output()
Latest test version of VS r33, mvsf r4.

Last edited by ~SimpleX~; 30th July 2016 at 13:35.
~SimpleX~ is offline   Reply With Quote
Old 30th July 2016, 13:42   #39  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Los Angeles, California
Posts: 2,132
Quote:
Originally Posted by ~SimpleX~ View Post
VS Editor crashes on simple
Code:
import vapoursynth as vs
core = vs.get_core()

src = core.d2v.Source(...)
last = core.fmtc.bitdepth(src, bits=32, fulls=False, fulld=True)
super = core.mvsf.Super(last)
last.set_output()
Latest test version of VS r33, mvsf r4.
does your CPU feature the AVX2 extension?
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 30th July 2016, 13:49   #40  |  Link
~SimpleX~
Registered User
 
Join Date: Feb 2010
Location: Saint-Petersburg, Russia
Posts: 38
Quote:
Originally Posted by feisty2 View Post
does your CPU feature the AVX2 extension?
Oh, well, it doesn't. I have i7 2600k, which is Sandy Bridge.
~SimpleX~ 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 08:35.


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