On 8/5/18, Michael Koch <[email protected]> wrote: > Am 05.08.2018 um 15:42 schrieb Gyan Doshi: >> >> >> On 05-08-2018 06:41 PM, Michael Koch wrote: >>> I'd like to ask if it's possible to make an exponential decay effect >>> with FFmpeg. >>> Let's assume a pixel is fashing to luminance = 1 in just one frame. >>> Then in the output video I'd like to have the pixel flashing to 1 >>> immediately, followed by an exponential decay with a time constant of >>> a few seconds. >>> >>> The mathematics would be something like this: >>> >>> luminance = 0.95 * luminance_in_last_frame; // exponential decay >>> if (luminance_in_new_frame > luminance) >>> luminance = luminance_in_new_frame; >> >> So, >> >> frame 0 --> luminance 0 >> frame 1 --> luminance 1 >> frame 2 --> as per exprs above >> ... >> frame 2+T --> " >> frame NEXT --> source luminance >> ... >> frame LAST --> " >> >> ? >> >> Or would the exponential decay restart each time a pixel of lum 1 is >> encountered? >> > > Every time when the input becomes brighter than the last output frame, > the output is set to the input value. If input is below the last output > value, then exponential decay. > I have a timelapse video of the night sky with meteors. Each meteor is > visible only in one frame. I'd like to make them visible a little > longer, decaying over several frames. > > Example: > Input Output > 0 0 > 1 1 // set to input value > 0 0.95 // exponential decay begins > 0 0.90 > 0.50 0.86 > 0.50 0.81 // until here > 0.90 0.90 // now set again to input value, because input is > brighter > 0.90 0.90 // keep at the same level > 0.60 0.86 // exponential decay begins > 0.60 0.81 > 0.60 0.77
If it is calculating global luma instead of local one, it can be added to deflicker filter. Otherwise you will need to write new video filter. _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
