[FFmpeg-trac] #8590(undetermined:closed): 'telecine=pattern' error for p24, soft telecined sources

FFmpeg trac at avcodec.org
Thu Apr 2 04:56:39 EEST 2020


#8590: 'telecine=pattern' error for p24, soft telecined sources
-------------------------------------+-------------------------------------
             Reporter:  markfilipak  |                    Owner:
                 Type:  defect       |                   Status:  closed
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:  invalid
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by markfilipak):

 I'm heartened that this is now getting the attention it deserves... Thank
 you.

 May I reitterate that 'telecine=pattern=5555' works correctly for p24
 progressive (BD) video (i.e., 24/1.001 FPS video).

 The problem is with p24 soft telecined (DVD) video (i.e., 24/1.001 FPS
 video that has metadata that specifies 30/1.001 FPS playback). The
 transcoded DVD video (but not the audio) runs 20% fast because the
 'telecine' filter calculates PTS advance as 20/8*30/1.001 (incorrect)
 instead of 20/8*24/1.001 (correct). This mistake is probably due to a
 developer misunderstanding regarding what the 'frame_rate_code' MPEG flag
 means. The flag specifies playback (30/1.001), not what the stream
 actually is (24/1.001).

 "There is 24.000 and 23.976, how are you fixing for this?"
 BDs don't require any correction because 'telecine' correctly calculates
 PTS advance.
 DVDs require a '-r:v 24000/1001' directive (as a workaround) to force
 ffmpeg to 24/1.001 (i.e., to ignore the 30/1.001 MPEG flag). With the
 workaround, ffmpeg passes 24/1.001 to 'telecine', and 'telecine' then
 calculates the correct PTS advance. In my opinion, the workaround should
 not be more than a workaround. In my opinion, the best solution is for
 'telecine' to look at the interlace metadata, to recognize that the source
 is soft telecined, to recognize that 30/1.001 is bogus, and to apply
 24/1.001 on its own without being forced.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8590#comment:19>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list