[FFmpeg-user] minterpolate questions

Mark Filipak (ffmpeg) markfilipak at bog.us
Wed Jan 27 02:13:32 EET 2021

I ask 4 questions toward the end of this message. But first is my beautification of the documentation.

minterpolate   ...Convert the video to specified frame rate using motion interpolation.
minterpolate=fps=60:mi_mode=Ø:scd=fdiff:scd_threshold=10   ...Defaults (Ø means no default).
                  :          :     :                   :
                  :          :     :                   Scene change detection threshold.
                  :          :     Scene change detection method. [1]
                  :          :     none    ...Disable scene change detection.
                  :          :     fdiff   ...Frame difference. [2]
                  :          Motion interpolation mode.
                  :          dup   ...Duplicate previous or next frame for interpolating new ones.
                  :          blend   ...Blend source frames. [3]
                  :          mci   ...Motion compensated interpolation:
                  :          mci=Ø   ...Default (Ø means no default).
                  :              :
                  :              mc_mode   ...Motion compensation mode:
                  :              mc_mode=obmc   ...Default.
                  :                      :
                  :                      ombc    ...Overlapped block.
                  :                      aobmc   ...Adaptive overlapped block. [4]
                  :              me_mode   ...Motion estimation mode:
                  :              me_mode=bilat   ...Default.
                  :                      :
                  :                      bidir   ...Bidirectional motion estimation. [5]
                  :                      bilat   ...Bilateral motion estimation. [6]
                  :              me   ...Motion estimation algorithm to be applied.
                  :              me=epzs   ...Default.
                  :                 :
                  :                 esa   ...Exhaustive search algorithm.
                  :                 tss   ...Three step search algorithm.
                  :                 tdls   ...Two dimensional logarithmic search algorithm.
                  :                 ntss   ...New three step search algorithm.
                  :                 fss   ...Four step search algorithm.
                  :                 ds     ...Diamond search algorithm.
                  :                 hexbs   ...Hexagon-based search algorithm.
                  :                 epzs   ...Enhanced predictive zonal search algorithm.
                  :                 umh   ...Uneven multi-hexagon search algorithm.
                  The output frame rate. [7]
[1] Scene change leads motion vectors to be in random direction. Scene change detection replaces 
interpolated frames by duplicated ones. May not be needed for other modes.
[2] Corresponding pixel values are compared and, if they do not exceed the scd_threshold, scene 
change is detected.
[3] Interpolated frames are the mean of previous and next frames.
[4] To reduce oversmoothing, window weighting coefficients are controlled adaptively according to 
the reliability of the neighboring motion vectors.
[5] Motion vectors are estimated for each source frame in both forward and backward directions.
[6] Motion vectors are estimated directly for interpolated frame.
[7] This can be rational e.g. 60000/1001. Frames are dropped if fps is lower than source fps.

Does 'mi_mode' actually have no default?
Does 'mi_mode=mci' actually have no default?
Are 'mc_mode', 'me_mode', and 'me' mutually exclusive? If not, what delimiter is used to separate them?
Does 'me' apply solely to 'me_mode' or also to 'mc_mode'?

Thanks so much!

Someone's sneaking in and turning up the range so that my food burns.
I'm sure of it.
And the older I get, the more sure of it I become.

More information about the ffmpeg-user mailing list