View Single Post
Old 30th April 2017, 22:35   #15  |  Link
Joachim Buambeki
Registered User
 
Join Date: May 2010
Location: Germany, Munich
Posts: 49
Quote:
Originally Posted by Myrsloik View Post
I'll increase it to 63 for the next version. But be aware that once a frames only changes +-1% it probably won't have a visible impact at all. All calculations are done with no loss of precision.
Great, thanks - would it be possible to get even more? I am aiming for at least a 30x speedup, which would mean 30*3,8 (19/5) frames (if the function above is used to determine the weight for each frame) need to be processed.


Quote:
Originally Posted by Myrsloik View Post
How accurate does it have to be? Chopped off sinc not good enough?
I replicated the effect in Photoshop and a few percent off never made a visible difference. If possible, I would still prefer a fair degree of precision but in the end, if I can load a ProRes444 (12bit) file and render to EXR or DPX without any degradation I am fine.

Here is a sketch for the script, obviously this is in AVS style and even there I don't really have an idea how to do it but it should give an idea what I have in mind. If you have any ideas what to improve conceptually or how to actually execute it, feel free to post it. :-)

Code:
function haventcomeupwithacoolnameyet(parameters)

{
speedup = default( speedup, 5 ) # speedup rate, float
pre_speedup = default( pre_speedup, 0 ) # if this offers no speed gain, use it to determine the threshold where more samples don't make the result any smoother

shutter = default(shutter, 1 )  # 1 = symmetrical blend (the one posted)
                                # 2 = asymmetrical blend
                                # 3 = square shutter, can be >360°, rounded to nearest possible value
                                # 4 = experimental idea, after first pass, pixels with higher local contrast are given more weight in second pass

cutoff = default(false)         # cutoff negative weights 

pad = default(false)            # optional padding to 360° shutter for >360° shutter sources with MVtools before frame averaging, optional denoising

warnings = default(true)        # show only warnings
OSD = default(false)            # displays parameters, frame count pre/post and warnings
bars = default(false)           # visualises how blending works by generating blank clip with white bars on grey background with clip properties (optionally show video as pip in corner)

# generate_frame_weights() outputs weight for each frame based on the selected blend type
# For square shutters, round to multiple of 360°/speedup

generate_frame_weights(speedup, shutter) #outputs weight for each frame based on the selected shutter type
{however that might work...}    # generates w1, w2, w4, ...,w99

c.misc.AverageFrames(clip, [w1, w2, w4, ...,w99])
}

Last edited by Joachim Buambeki; 5th May 2017 at 16:55.
Joachim Buambeki is offline   Reply With Quote