On 02/12/2021 10:34 AM, pdr0 wrote:
Mark Filipak (ffmpeg) wrote

-snip-

"72fps" or "144fps" equivalent in a cinema is not the same thing - the
analogy would be the cinema is repeating frames, vs interpolating new
in-between frames on a motion flow TV. ...

To some transcodes, repeating frames does apply. To interpolation, some other considerations apply. Also, I contend that, due to its real-time schedule, a motion flow TV can't faithfully reproduce 24 pictures per second converted to 60 pictures per second via motion vector interperpolation.

I respectfully submit that words alone are inadequate to describe what we 
discuss.

I present the following to introduce a notation, not to be pedantic -- I know you know this stuff, but you're not familiar with the notation. Consider these:

60fps24pps.repeat(30fps24pps.telecine(24fps24pps))
60fps24pps.telecine(48fps24pps.repeat(24fps24pps))
60fps48pps.telecine(48fps48pps.interpolate(24fps24pps))
60fps60pps.interpolate(24fps24pps)

Expansions & diagrams -- I apologize if your email client makes soup of the diagrams by wrapping lines. If so, kindly copy this whole message into a plain text editor. Hopefully your email client will preserve all the spaces properly.

60fps[24pps].repeat(30fps[24pps].telecine(24fps[24pps])) is 24pps @ 24fps telecined to 30fps, then frame repeated to 60fps. +----------------------------------------------------------------------------------------------------------------------+ 1/6 second [A.a_________________________][B.b_________________________][C.c_________________________][D.d_________________________] 24fps[24pps] source [A.a___________________][B.b___________________][B.c___________________][C.d___________________][D.d___________________] 30fps[24pps].telecine(24fps[24pps]) [A.a_______][A.a_______][B.b_______][B.b_______][B.c_______][B.c_______][C.d_______][C.d_______][D.d_______][D.d_______] 60fps[24pps].repeat(30fps[24pps].telecine(24fps[24pps])) cccccccccccccccccccccccccccccccccccccccccccccccc 40% comb @ 6Hz <----------------------><----------------------------------><----------------------><----------------------------------> 25% judder @ 12Hz

60fps24pps.telecine(48fps24pps.repeat(24fps24pps)) is 24pps @ 24fps frame repeated to 48fps, then telecined to 60fps. Judder is 1/24 sec. @ 12Hz. Combing is 20%. +----------------------------------------------------------------------------------------------------------------------+ 1/6 second [A.a_________________________][B.b_________________________][C.c_________________________][D.d_________________________] 24fps[24pps] source [A.a__________][A.a__________][B.b__________][B.b__________][C.c__________][C.c__________][D.d__________][D.d__________] 48fps24pps.repeat(24fps24pps) [A.a_______][A.a_______][A.b_______][B.b_______][B.b_______][C.c_______][C.c_______][C.d_______][D.d_______][D.d_______] 60fps24pps.telecine(48fps24pps.repeat(24fps24pps)) cccccccccccc cccccccccccc 20% comb @ 12Hz <----------------------------><----------------------------><----------------------------><----------------------------> zero judder

60fps48pps.telecine(48fps48pps.interpolate(24fps24pps)) is 24pps interpolated to 48pps @ 48fps, then telecined to 60fps. Judder is 1/48 sec. @ +----------------------------------------------------------------------------------------------------------------------+ 1/6 second [A.a_________________________][B.b_________________________][C.c_________________________][D.d_________________________] 24fps[24pps] source [A.a__________][AB.ab________][B.b__________][BC.bc________][C.c__________][CD.cd________][D.d__________][DE.de________] 48fps48pps.interpolate(24fps24pps) [A.a_______][AB.ab_____][AB.b______][B.bc______][BC.bc_____][C.c_______][CD.cd_____][CD.d______][D.de______][DE.de_____] 60fps48pps.telecine(48fps48pps.interpolate(24fps24pps)) cccccccccccccccccccccccc cccccccccccccccccccccccc 40% comb @ 12Hz
<------><----------><------><----------><------><----------><------><---------->
 33% judder @ 24Hz

60fps60pps.interpolate(24fps24pps) is 24pps interpolated to 60pps @ 60fps. Judder is 1/60 sec. @ 60Hz (essentially imperceptible). +----------------------------------------------------------------------------------------------------------------------+ 1/6 second [A.a_________________________][B.b_________________________][C.c_________________________][D.d_________________________] 24fps[24pps] source [A.a_______][AAB.aab___][AB.ab_____][B.b_______][BC.bc_____][C.c_______][CCD.ccd___][CD.cd_____][D.d_______][DE.de_____] 60fps60pps.interpolate(24fps24pps)

                     zero comb
<----------><----------><----------><----------><----------><----------><----------><----------><----------><----------> zero judder

-snip-

--
The U.S. Senate and House should follow the ancient Roman model.
Their Princeps Senatus and Tribunus Plebis had their own armies.
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to