telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

classic Classic list List threaded Threaded
37 messages Options
12
Reply | Threaded
Open this post in threaded view
|

telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
Basically, I have successfully telecined 24 FPS video to a higher frame rate and totally banished
judder on a 60Hz TV (which should be true of 120Hz TV, too). WOO-HOO!

After searching the net all night, I found one sample of a telecine command that used the 'pattern'
parameter -- see output (below).

Deinterlacing didn't work, and the audio is trashed, but I'm going to ignore those for now.

My big issue is this:
With a soft-telecined, 24/1.001 FPS source, and with a telecine pattern of 5555 (i.e., 8 fields to
20 fields), the output MKV should be 60/1.001 FPS. But it's not 60/1.001 FPS.

It's 75/1.001 FPS.

That's totally mystifying to me. Any idea how I can fix it?

Regards,
Mark.

 >ffmpeg -i H:\VIDEO_TS\VTS_01_1.VOB -vf "telecine=pattern=5555" -deinterlace -y TEST.MKV
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
   built with gcc 9.1.1 (GCC) 20190807
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls
--enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex
--enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
   libavutil      56. 33.100 / 56. 33.100
   libavcodec     58. 55.101 / 58. 55.101
   libavformat    58. 31.104 / 58. 31.104
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 58.101 /  7. 58.101
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
   libpostproc    55.  6.100 / 55.  6.100
Input #0, mpeg, from 'h:\VIDEO_TS\VTS_01_1.VOB':
   Duration: 00:22:07.55, start: 0.066633, bitrate: 6470 kb/s
     Stream #0:0[0x1bf]: Data: dvd_nav_packet
     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, progressive), 720x480 [SAR 32:27 DAR
16:9], 29.97 fps, 59.94 tbr, 90k tbn, 59.94 tbc
     Stream #0:2[0x83]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:3[0x82]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:4[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:5[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream mapping:
   Stream #0:1 -> #0:0 (mpeg2video (native) -> h264 (libx264))
   Stream #0:2 -> #0:1 (ac3 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[Parsed_telecine_0 @ 000002b0c85ead80] Telecine pattern 5555 yields up to 3 frames per frame, pts
advance factor: 8/20
[libx264 @ 000002b0c8b9aa00] using SAR=32/27
[libx264 @ 000002b0c8b9aa00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002b0c8b9aa00] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 000002b0c8b9aa00] 264 - core 158 r2984 3759fcb - H.264/MPEG-4 AVC codec - Copyleft
2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0
analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1
trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12
lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2
keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0
qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'C:\ToDo\test.mkv':
   Metadata:
     encoder         : Lavf58.31.104
     Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 720x480 [SAR 32:27 DAR 16:9],
q=-1--1, 74.93 fps, 1k tbn, 74.93 tbc
     Metadata:
       encoder         : Lavc58.55.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: 18446744073709551615
     Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 48000 Hz, 5.1(side), fltp
     Metadata:
       encoder         : Lavc58.55.101 libvorbis
[mpeg @ 000002b0c85293c0] New subtitle stream 0:6 at pos:4487182 and DTS:6.106s/s speed=6.41x
[mpeg @ 000002b0c85293c0] New subtitle stream 0:7 at pos:4489230 and DTS:6.106s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:8 at pos:55965710 and DTS:71.4713sspeed=5.57x
[mpeg @ 000002b0c85293c0] New subtitle stream 0:9 at pos:55967758 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:10 at pos:55969806 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:11 at pos:55971854 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:12 at pos:55982094 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:13 at pos:55984142 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:14 at pos:55986190 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:15 at pos:55988238 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:16 at pos:55990286 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:17 at pos:55992334 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:18 at pos:55994382 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:19 at pos:55996430 and DTS:71.4713s
[mpeg @ 000002b0c85293c0] New subtitle stream 0:20 at pos:60086286 and DTS:77.0102speed=5.53x
[mpeg @ 000002b0c85293c0] New subtitle stream 0:21 at pos:60088334 and DTS:77.0102s
[matroska @ 000002b0c853d080] Starting new cluster due to timestamp= 874.5kbits/s speed=5.16x
     Last message repeated 20 times
[matroska @ 000002b0c853d080] Starting new cluster due to timestamp= 881.0kbits/s speed=5.15x
     Last message repeated 40 times
[matroska @ 000002b0c853d080] Starting new cluster due to timestamp= 888.2kbits/s speed=5.14x
     Last message repeated 29 times

::::::::::::::::::::::::::::::::::::
::                                ::
::   Thousands of similar lines   ::
::                                ::
::::::::::::::::::::::::::::::::::::

[matroska @ 000002b0c853d080] Starting new cluster due to timestamp=1000.0kbits/s speed=4.65x
     Last message repeated 45 times
[matroska @ 000002b0c853d080] Starting new cluster due to timestamp= 999.1kbits/s speed=4.65x
     Last message repeated 47 times
[matroska @ 000002b0c853d080] Starting new cluster due to timestamp= 998.8kbits/s speed=4.65x
     Last message repeated 20 times
[mpeg2video @ 000002b0c8b9b7c0] ac-tex damaged at 16 17
[mpeg2video @ 000002b0c8b9b7c0] Warning MVs not available
[mpeg2video @ 000002b0c8b9b7c0] concealing 585 DC, 585 AC, 585 MV errors in B frame
H:\VIDEO_TS\VTS_01_1.VOB: corrupt decoded frame in stream 1
[matroska @ 000002b0c853d080] Starting new cluster due to timestamp
[ac3 @ 000002b0c8b9bc40] incomplete frame
H:\VIDEO_TS\VTS_01_1.VOB: corrupt decoded frame in stream 2
[matroska @ 000002b0c853d080] Starting new cluster due to timestamp
frame=79575 fps=278 q=-1.0 Lsize=  162271kB time=00:22:07.54 bitrate=1001.3kbits/s speed=4.64x
video:122768kB audio:37691kB subtitle:0kB other streams:0kB global headers:7kB muxing overhead:
1.129738%
[libx264 @ 000002b0c8b9aa00] frame I:564   Avg QP:21.02  size: 18152
[libx264 @ 000002b0c8b9aa00] frame P:24177 Avg QP:25.56  size:  3591
[libx264 @ 000002b0c8b9aa00] frame B:54834 Avg QP:25.29  size:   523
[libx264 @ 000002b0c8b9aa00] consecutive B-frames:  2.7% 10.8% 16.7% 69.9%
[libx264 @ 000002b0c8b9aa00] mb I  I16..4: 24.0% 56.8% 19.2%
[libx264 @ 000002b0c8b9aa00] mb P  I16..4:  0.8%  2.6%  0.6%  P16..4: 25.3%  6.6%  4.0%  0.0%  0.0%
   skip:60.1%
[libx264 @ 000002b0c8b9aa00] mb B  I16..4:  0.0%  0.1%  0.0%  B16..8: 15.7%  0.6%  0.1%  direct:
1.3%  skip:82.1%  L0:46.5% L1:51.6% BI: 1.9%
[libx264 @ 000002b0c8b9aa00] 8x8 transform intra:62.3% inter:73.8%
[libx264 @ 000002b0c8b9aa00] coded y,uvDC,uvAC intra: 57.2% 46.5% 14.8% inter: 4.9% 2.5% 0.1%
[libx264 @ 000002b0c8b9aa00] i16 v,h,dc,p: 31% 45%  6% 18%
[libx264 @ 000002b0c8b9aa00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 17% 21%  5%  6%  8%  6%  7%  7%
[libx264 @ 000002b0c8b9aa00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 40% 13%  4%  6%  6%  5%  5%  5%
[libx264 @ 000002b0c8b9aa00] i8c dc,h,v,p: 59% 21% 16%  4%
[libx264 @ 000002b0c8b9aa00] Weighted P-Frames: Y:2.5% UV:0.5%
[libx264 @ 000002b0c8b9aa00] ref P L0: 56.9% 16.2% 19.7%  7.1%  0.1%
[libx264 @ 000002b0c8b9aa00] ref B L0: 85.3%  9.1%  5.5%
[libx264 @ 000002b0c8b9aa00] ref B L1: 98.5%  1.5%
[libx264 @ 000002b0c8b9aa00] kb/s:946.94
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Carl Eugen Hoyos-2
Am So., 29. März 2020 um 12:59 Uhr schrieb Mark Filipak
<[hidden email]>:

>  >ffmpeg -i H:\VIDEO_TS\VTS_01_1.VOB -vf "telecine=pattern=5555" -deinterlace -y TEST.MKV

Warning 1
The deinterlace option is deprecated, use a filter of your choice instead,
not sure why no warning is shown.

Warning 2
Above may work in some cases, but in general FFmpeg cannot deal with
vob files coming from a real dvd, you can use "mplayer -dumpstream"
to produce an mpeg stream that FFmpeg should always be able to
process.

More important though:
The yadif filter (which the deinterlace option adds to the filterchain) does
not detect if a frame contans interlaced content or not (remember that
FFmpeg cannot process fields, only frames) but always applies its
algorith, therefore permanently damaging frames with progressive
content. It should never be applied on telecined input that in theory can
be 100% "fixed" which is impossible after a deinterlaced was used.

If you have progressive content and want to increase the frame rate,
do not use a telecine filter.

If you have telecined content and want to display it without interlacing
artefacts, use an inverse telecine filter, not a deinterlacer.

If you have mixed telecined and progressive vfr content and want to
display it without interlaced artefacts, either use the pullup filter or a
combination of the fps filter (to produce cfr input) and the fieldmatch
filter.

If your mixed progressive and telecined content is cfr, then I cannot
imagine how fieldmatch and decimate can work, pullup should work
in these cases.

If you have mixed telecined and interlaced content that you want to
display without interlacing artefacts, and if you absolutely want to
do this automatically (without specifiying the time limits "manually")
you need a combination of fieldmatch and "yadif=deint=interlaced"
(which will only deinterlace frames that fieldmatch detected as
interlaced). This is explicitely mentioned as an example in the
documentation.
(I wonder how this can work if the input is cfr.)

In some of above cases, if the input file has uneven timestamps,
the dejudder filter (that does neither drop nor add frames, only
flattens time stamp differences between frames) may help as
first filter.

In the rare case where you produced your telecined content
yourself (and did not cut it), you can use the detelecine filter:
It does not do any detection but strictly applies a pattern, it
can therefore not be used on real-world streams (unless you
do some visual check before) because they are normally cut
at random pattern positions.

I live in PAL world, therefore above has little relevance for me
personally. That is the reason why I cannot tell you if "5555"
makes any sense.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
Hi Carl Eugen,

Given a 24/1.001 FPS source, how can I get -vf "telecine=pattern=5555,bwdif=mode=send_frame" to
produce 60/1.001 FPS instead of 75/1.001 FPS? That is the issue.

On 03/29/2020 07:53 AM, Carl Eugen Hoyos wrote:
> Am So., 29. März 2020 um 12:59 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>>   >ffmpeg -i H:\VIDEO_TS\VTS_01_1.VOB -vf "telecine=pattern=5555" -deinterlace -y TEST.MKV
>
> Warning 1
> The deinterlace option is deprecated, ...

Well, that's the hazard of having to find examples from the Internet when ffmpeg docs don't have
them. I don't like spending all night hunting for solutions, but what choice do I have?
> Warning 2
> Above may work in some cases, but in general FFmpeg cannot deal with
> vob files coming from a real dvd, you can use "mplayer -dumpstream"
> to produce an mpeg stream that FFmpeg should always be able to
> process.

...Because of PGCs (program chains), right? I know how to handle them.

> More important though:
> The yadif filter (which the deinterlace option adds ...

Above, you wrote that the deinterlace option is deprecated. I won't be using it. bwdif seems to work.

> If you have progressive content and want to increase the frame rate,
> do not use a telecine filter.

It appears you haven't been reading this thread. I'm telecining to 60 FPS using 5-5-5-5 pulldown in
order to defeat judder. It's working. Simply converting 24 FPS to 60 FPS doesn't defeat judder.

> If you have telecined content and want to display it without interlacing
> artefacts, use an inverse telecine filter, not a deinterlacer.

The source is p24.

> If your mixed progressive and telecined content is cfr, then I cannot
> imagine how fieldmatch and decimate can work ...

It's my understanding that fieldmatch is for detelecining prior to decimation. Kindly correct me if
that's wrong. I am not detelecining.

> In some of above cases, if the input file has uneven timestamps,
> the dejudder filter (that does neither drop nor add frames, only
> flattens time stamp differences between frames) may help as
> first filter.

I'll keep that in mind, but I think the problem is that telecine=pattern=5555 is producing 75/1.001
FPS instead of 60/1.001 FPS. Why it is doing that is my issue.

> In the rare case where you produced your telecined content
> yourself (and did not cut it), you can use the detelecine filter: ...

The source is not telecined. The source is p24. I'm doing the telecining.

H:\VIDEO_TS>ffmpeg -i b:\VIDEO_TS\VTS_04_1.VOB -vf "telecine=pattern=5555,bwdif=mode=send_frame" -y
C:\ToDo\test.mkv
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
   built with gcc 9.1.1 (GCC) 20190807
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls
--enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex
--enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
   libavutil      56. 33.100 / 56. 33.100
   libavcodec     58. 55.101 / 58. 55.101
   libavformat    58. 31.104 / 58. 31.104
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 58.101 /  7. 58.101
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
   libpostproc    55.  6.100 / 55.  6.100
Input #0, mpeg, from 'b:\VIDEO_TS\VTS_04_1.VOB':
   Duration: 00:18:45.54, start: 0.280633, bitrate: 7631 kb/s
     Stream #0:0[0x1bf]: Data: dvd_nav_packet
     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, progressive), 720x480 [SAR 32:27 DAR
16:9], 29.67 fps, 59.94 tbr, 90k tbn, 59.94 tbc
     Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
     Stream #0:3[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:4[0x82]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:5[0x83]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
   Stream #0:1 -> #0:0 (mpeg2video (native) -> h264 (libx264))
   Stream #0:2 -> #0:1 (ac3 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[Parsed_telecine_0 @ 000001ee6c272280] Telecine pattern 5555 yields up to 3 frames per frame, pts
advance factor: 8/20
[libx264 @ 000001ee6ca9edc0] using SAR=32/27
[libx264 @ 000001ee6ca9edc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000001ee6ca9edc0] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 000001ee6ca9edc0] 264 - core 158 r2984 3759fcb - H.264/MPEG-4 AVC codec - Copyleft
2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0
analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1
trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12
lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2
keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0
qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'C:\ToDo\test.mkv':
   Metadata:
     encoder         : Lavf58.31.104
     Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p(progressive), 720x480 [SAR
32:27 DAR 16:9], q=-1--1, 74.93 fps, 1k tbn, 74.93 tbc
     Metadata:
       encoder         : Lavc58.55.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: 18446744073709551615
     Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 48000 Hz, 5.1(side), fltp
     Metadata:
       encoder         : Lavc58.55.101 libvorbis
[mpeg @ 000001ee6c268fc0] New subtitle stream 0:6 at pos:38606862 and DTS:49.6633sspeed=4.79x
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 779.1kbits/s speed=4.94x
     Last message repeated 2 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 774.8kbits/s speed=4.95x
     Last message repeated 21 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 771.3kbits/s speed=4.97x
     Last message repeated 52 times

::::::::::::::::::::::::::::::::::::
::                                ::
::   Thousands of similar lines   ::
::                                ::
::::::::::::::::::::::::::::::::::::

[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 665.5kbits/s speed=4.73x
     Last message repeated 43 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 665.2kbits/s speed=4.73x
     Last message repeated 35 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 665.1kbits/s speed=4.73x
     Last message repeated 11 times
frame=67477 fps=284 q=-1.0 Lsize=   91660kB time=00:18:45.53 bitrate= 667.1kbits/s speed=4.73x
video:58416kB audio:31753kB subtitle:0kB other streams:0kB global headers:7kB muxing overhead: 1.653409%
[libx264 @ 000001ee6ca9edc0] frame I:1104  Avg QP:20.91  size:  7958
[libx264 @ 000001ee6ca9edc0] frame P:20496 Avg QP:23.99  size:  1759
[libx264 @ 000001ee6ca9edc0] frame B:45877 Avg QP:22.54  size:   326
[libx264 @ 000001ee6ca9edc0] consecutive B-frames:  2.4% 19.8%  3.0% 74.8%
[libx264 @ 000001ee6ca9edc0] mb I  I16..4: 37.5% 56.8%  5.7%
[libx264 @ 000001ee6ca9edc0] mb P  I16..4:  1.6%  2.5%  0.2%  P16..4: 20.0%  3.9%  1.9%  0.0%  0.0%
   skip:69.8%
[libx264 @ 000001ee6ca9edc0] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 16.0%  0.4%  0.1%  direct:
0.1%  skip:83.2%  L0:41.9% L1:56.7% BI: 1.4%
[libx264 @ 000001ee6ca9edc0] 8x8 transform intra:57.3% inter:85.7%
[libx264 @ 000001ee6ca9edc0] coded y,uvDC,uvAC intra: 35.3% 45.3% 15.0% inter: 2.3% 3.0% 0.2%
[libx264 @ 000001ee6ca9edc0] i16 v,h,dc,p: 37% 35%  8% 21%
[libx264 @ 000001ee6ca9edc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 27% 18%  4%  5%  6%  6%  5%  5%
[libx264 @ 000001ee6ca9edc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 29% 16%  4%  6%  6%  6%  4%  4%
[libx264 @ 000001ee6ca9edc0] i8c dc,h,v,p: 57% 23% 15%  4%
[libx264 @ 000001ee6ca9edc0] Weighted P-Frames: Y:1.9% UV:1.0%
[libx264 @ 000001ee6ca9edc0] ref P L0: 64.1% 15.1% 12.5%  8.0%  0.3%
[libx264 @ 000001ee6ca9edc0] ref B L0: 88.4%  8.0%  3.6%
[libx264 @ 000001ee6ca9edc0] ref B L1: 97.5%  2.5%
[libx264 @ 000001ee6ca9edc0] kb/s:531.36
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Carl Eugen Hoyos-2
Am So., 29. März 2020 um 14:51 Uhr schrieb Mark Filipak
<[hidden email]>:

> > If you have progressive content and want to increase the frame rate,
> > do not use a telecine filter.

> The source is not telecined. The source is p24. I'm doing the telecining.

Then I cannot help you, see above.

That being said, please feel free to report a bug with the telecine filter
if you can provide a sample that allows to reproduce (if you find one).

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
On 03/29/2020 09:26 AM, Carl Eugen Hoyos wrote:

> Am So., 29. März 2020 um 14:51 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>>> If you have progressive content and want to increase the frame rate,
>>> do not use a telecine filter.
>
>> The source is not telecined. The source is p24. I'm doing the telecining.
>
> Then I cannot help you, see above.
>
> That being said, please feel free to report a bug with the telecine filter
> if you can provide a sample that allows to reproduce (if you find one).
>
> Carl Eugen

Thanks, Carl Eugen. I'll try a variety of sources to see if the malfunction is container or stream
dependent. Then I'll report it.

I'm curious though -- I'm might learn something -- Why do you say that if I want to increase the
frame rate I should *not* telecine? How else would I go from p24 to p30?
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Carl Eugen Hoyos-2
Am So., 29. März 2020 um 16:10 Uhr schrieb Mark Filipak
<[hidden email]>:

> Why do you say that if I want to increase the
> frame rate I should *not* telecine?

The question seems strange to me:
telecine is a technology that was once needed
for displays that do not exist anymore, it has no
inherent advantages (but many disadvantages).

> How else would I go from p24 to p30?

In general, you should leave your source at the
framerate it has (and leave the rest to your
display), if you want to increase it, the
minterpolate filter comes to mind.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
In reply to this post by Mark Filipak
Related threads:
Copy all subtitle streams? Possible?
1920x1080p24 AVC to HEVC compression options?

I'm trying this:
ffmpeg -i IN.M2TS -vf "telecine=pattern=5555,bwdif=mode=send_frame" -compression_level 3 -c:v
libx265 -c:a copy -c:s copy OUT.MKV

I'll post a full report of the results. ...I'm excited!
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Carl Eugen Hoyos-2
In reply to this post by Mark Filipak
Am So., 29. März 2020 um 12:59 Uhr schrieb Mark Filipak
<[hidden email]>:

> With a soft-telecined, 24/1.001 FPS source, and with a telecine pattern of 5555 (i.e., 8 fields
> to 20 fields), the output MKV should be 60/1.001 FPS. But it's not 60/1.001 FPS.
>
> It's 75/1.001 FPS.

Use the following filterchain to telecine soft-telecined input to 60000/1001 Hz:

-vf fps=24000/1001,telecine=pattern=5

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
On 03/31/2020 06:01 AM, Carl Eugen Hoyos wrote:

> Am So., 29. März 2020 um 12:59 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>> With a soft-telecined, 24/1.001 FPS source, and with a telecine pattern of 5555 (i.e., 8 fields
>> to 20 fields), the output MKV should be 60/1.001 FPS. But it's not 60/1.001 FPS.
>>
>> It's 75/1.001 FPS.
>
> Use the following filterchain to telecine soft-telecined input to 60000/1001 Hz:
>
> -vf fps=24000/1001,telecine=pattern=5
>
> Carl Eugen

Thanks, Carl Eugen. You're tip arrived a little too late. I'm doing a run right now with this
command line:
ffmpeg -r:v 24000/1001 -i %1 -vf "telecine=pattern=5555,bwdif=mode=send_frame" -avoid_negative_ts 1
-c:v libx265 -crf 20 -preset medium -c:a copy -c:s copy %AVOut%\OUT.MKV

The source (passed in as %1) is a soft-telecined DVD movie (VOB). I'll get back to you in a few
minutes with the results.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
In reply to this post by Carl Eugen Hoyos-2
On 03/31/2020 06:01 AM, Carl Eugen Hoyos wrote:

> Am So., 29. März 2020 um 12:59 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>> With a soft-telecined, 24/1.001 FPS source, and with a telecine pattern of 5555 (i.e., 8 fields
>> to 20 fields), the output MKV should be 60/1.001 FPS. But it's not 60/1.001 FPS.
>>
>> It's 75/1.001 FPS.
>
> Use the following filterchain to telecine soft-telecined input to 60000/1001 Hz:
>
> -vf fps=24000/1001,telecine=pattern=5
>
> Carl Eugen

ohmygod! It works! At last, after working on this for 4 months; judder-free movies on 60Hz TVs.

For BD movies:
ffmpeg -i IN.M2TS -vf "telecine=pattern=5555,bwdif=mode=send_frame" -avoid_negative_ts 1 -c:v
libx265 -crf 20 -preset medium -c:a copy -c:s copy OUT.MKV
For soft-telecined DVD movies:
ffmpeg -r:v 24000/1001 -i IN.VOB -vf "telecine=pattern=5555,bwdif=mode=send_frame"
-avoid_negative_ts 1 -c:v libx265 -crf 20 -preset medium -c:a copy -c:s copy OUT.MKV

For some reason, in the DVD movie, I'm getting only Japanese dialog, but the video is stunning *and
judder-free*.

I will work on this more and provide a good documentation write-up.

(I think this is a game changer regarding telecine.)
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Carl Eugen Hoyos-2
Am Di., 31. März 2020 um 19:53 Uhr schrieb Mark Filipak
<[hidden email]>:

> (I think this is a game changer regarding telecine.)

No.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
On 03/31/2020 03:16 PM, Carl Eugen Hoyos wrote:
> Am Di., 31. März 2020 um 19:53 Uhr schrieb Mark Filipak
> <[hidden email]>:
>
>> (I think this is a game changer regarding telecine.)
>
> No.
>
> Carl Eugen

You must have a good reason. What is it?
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Carl Eugen Hoyos-2
Am Di., 31. März 2020 um 21:21 Uhr schrieb Mark Filipak
<[hidden email]>:
>
> On 03/31/2020 03:16 PM, Carl Eugen Hoyos wrote:
> > Am Di., 31. März 2020 um 19:53 Uhr schrieb Mark Filipak
> > <[hidden email]>:
> >
> >> (I think this is a game changer regarding telecine.)
> >
> > No.

> You must have a good reason. What is it?

Apart from the telecine process damaging the image and
the deinterlacer permanently ruining it?

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
On 03/31/2020 04:23 PM, Carl Eugen Hoyos wrote:

> Am Di., 31. März 2020 um 21:21 Uhr schrieb Mark Filipak
> <[hidden email]>:
>>
>> On 03/31/2020 03:16 PM, Carl Eugen Hoyos wrote:
>>> Am Di., 31. März 2020 um 19:53 Uhr schrieb Mark Filipak
>>> <[hidden email]>:
>>>
>>>> (I think this is a game changer regarding telecine.)
>>>
>>> No.
>
>> You must have a good reason. What is it?
>
> Apart from the telecine process damaging the image...

Yes, telecine damages the output image.

I assume you agree that a telecine that produces
20% combing @ 12Hz & no cadence (i.e., 5-5-5-5 pull-down in the raw frames)
is better than
40% combing @ 6Hz & 2-3-2-3 cadence (i.e., 4-6-4-6 pull-down by the TV).

> ...and the deinterlacer permanently ruining it?

Does a deinterlacer ruin the image? If the picture is progressive and if all the deinterlacer does
is deinterlace?

But it appears that 'bwdif=mode=send_frame' is doing more than deinterlace. It appears to be
decombing, even for the 8 of 10 frames that are not combed.

Is there an alternative to 'dwdif'?


Carl Eugen,
are you a developer or a user? I ask that question innocently because I really don't know.

I looked at the libavfilter source code. I searched for telecine. Who's name do I see in
vf_telecine.c? "Paul B Mahol". I had no idea that Paul was a developer -- why would I?


Paul Mahol,
I don't know how my questions have irritated you. I don't know your code at all. I don't know how it
works or, aside from pretty vague descriptions, what it does. Certainly, I don't know what it does
in detail. But, I apologize for any offense. I meant none, honestly.


Now, good news.

A person at 'https://trac.ffmpeg.org/ticket/8590' (handle: "pdr0") posted a video,
23.976p.mp4
I used it to create
'telecine=pattern=5' 59.940i.mkv
'telecine=pattern=5,bwdif=mode=send_frame' 59.940p.mkv

ffmpeg -i IN -vf "telecine=pattern=5" OUT

does exactly what I wanted. P (progressive) & C (combed) frames are
P P C P P P P C P P



_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

kumowoon1025
Hey,

>> Apart from the telecine process damaging the image...
>
> Yes, telecine damages the output image.
>
> I assume you agree that a telecine that produces
> 20% combing @ 12Hz & no cadence (i.e., 5-5-5-5 pull-down in the raw frames)
> is better than
> 40% combing @ 6Hz & 2-3-2-3 cadence (i.e., 4-6-4-6 pull-down by the TV).
>
>> ...and the deinterlacer permanently ruining it?
>
> Does a deinterlacer ruin the image? If the picture is progressive and if all the deinterlacer does is deinterlace?
>
> But it appears that 'bwdif=mode=send_frame' is doing more than deinterlace. It appears to be decombing, even for the 8 of 10 frames that are not combed.

Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either?


> Carl Eugen,
> are you a developer or a user? I ask that question innocently because I really don't know.
>
> I looked at the libavfilter source code. I searched for telecine. Who's name do I see in vf_telecine.c? "Paul B Mahol". I had no idea that Paul was a developer -- why would I?

Maybe not for that filter/file but as someone *trying* to contribute, I can attest to Carl being an active maintainer, his name is hard to miss in the commit history.

Regards,
Ted Park

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
On 04/04/2020 11:52 PM, Ted Park wrote:

> Hey,
>
>>> Apart from the telecine process damaging the image...
>>
>> Yes, telecine damages the output image.
>>
>> I assume you agree that a telecine that produces
>> 20% combing @ 12Hz & no cadence (i.e., 5-5-5-5 pull-down in the raw frames)
>> is better than
>> 40% combing @ 6Hz & 2-3-2-3 cadence (i.e., 4-6-4-6 pull-down by the TV).
>>
>>> ...and the deinterlacer permanently ruining it?
>>
>> Does a deinterlacer ruin the image? If the picture is progressive and if all the deinterlacer does is deinterlace?
>>
>> But it appears that 'bwdif=mode=send_frame' is doing more than deinterlace. It appears to be decombing, even for the 8 of 10 frames that are not combed.
>
> Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either?

Frames 3, 8, 13, 18, etc. are combed. The rest of the frames are progressive. The progressive frames
display the effects of decombing.

The source is a 24fps progressive H.264 AVC video. I'm transcoding it to, among other test
transcodes, 5-5-5-5 pull-down @ 60fps progressive, H.264 AVC. I'm not sure what you mean by
"assuming a raw uncompressed source and no compression afterwards", but I hope I've responded
appropriately.

Source:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'M:\Test Videos\23.976p.mp4':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: mp42mp41isom
     creation_time   : 2020-04-02T02:32:09.000000Z
   Duration: 00:00:10.01, start: 0.000000, bitrate: 542 kb/s
     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR
1:1 DAR 16:9], 539 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
     Metadata:
       creation_time   : 2020-04-02T02:32:09.000000Z
       handler_name    : L-SMASH Video Media Handler
       encoder         : AVC Coding
frames.frame.0.best_effort_timestamp_time="0:00:00.000000"
frames.frame.0.interlaced_frame=0
frames.frame.0.top_field_first=0
frames.frame.0.repeat_pict=0
frames.frame.1.interlaced_frame=0
frames.frame.1.top_field_first=0
frames.frame.1.repeat_pict=0
frames.frame.2.interlaced_frame=0
frames.frame.2.top_field_first=0
frames.frame.2.repeat_pict=0
frames.frame.3.interlaced_frame=0
frames.frame.3.top_field_first=0
frames.frame.3.repeat_pict=0

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'M:\Test Videos\23.976p.mp4':
     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR
1:1 DAR 16:9], 539 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Output #0, rawvideo, to 'NUL':
     Stream #0:0(und): Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9],
q=2-31, 596600 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc (default)
frame=  240 fps=0.0 q=-0.0 Lsize=  729000kB time=00:00:10.01 bitrate=596600.2kbits/s speed=10.4x
[Parsed_idet_0 @ 00000249369575c0] Repeated Fields: Neither:   240 Top:     0 Bottom:     0
[Parsed_idet_0 @ 00000249369575c0] Multi frame detection: TFF:     0 BFF:     0 Progressive:   240
Undetermined:     0

Target:

Input #0, matroska,webm, from 'M:\Test Videos\'telecine=pattern=5' 59.940i.mkv':
   Metadata:
     COMPATIBLE_BRANDS: mp42mp41isom
     MAJOR_BRAND     : mp42
     MINOR_VERSION   : 0
     ENCODER         : Lavf58.31.104
   Duration: 00:00:10.01, start: 0.000000, bitrate: 865 kb/s
     Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 59.94 fps,
59.94 tbr, 1k tbn, 119.88 tbc (default)
     Metadata:
       HANDLER_NAME    : L-SMASH Video Media Handler
       ENCODER         : Lavc58.55.101 libx264
       DURATION        : 00:00:10.010000000
frames.frame.0.best_effort_timestamp_time="0:00:00.000000"
frames.frame.0.interlaced_frame=0
frames.frame.0.top_field_first=0
frames.frame.0.repeat_pict=0
frames.frame.1.interlaced_frame=0
frames.frame.1.top_field_first=0
frames.frame.1.repeat_pict=0
frames.frame.2.interlaced_frame=0
frames.frame.2.top_field_first=0
frames.frame.2.repeat_pict=0
frames.frame.3.interlaced_frame=0
frames.frame.3.top_field_first=0
frames.frame.3.repeat_pict=0

Input #0, matroska,webm, from 'M:\Test Videos\'telecine=pattern=5' 59.940i.mkv':
     Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 59.94 fps,
59.94 tbr, 1k tbn, 119.88 tbc (default)
Output #0, rawvideo, to 'NUL':
     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9],
q=2-31, 1491500 kb/s, 59.94 fps, 59.94 tbn, 59.94 tbc (default)
frame=  600 fps=257 q=-0.0 Lsize= 1822500kB time=00:00:10.00 bitrate=1491500.6kbits/s speed=4.29x
[Parsed_idet_0 @ 0000020947b97f40] Repeated Fields: Neither:   360 Top:   120 Bottom:   120
[Parsed_idet_0 @ 0000020947b97f40] Multi frame detection: TFF:   599 BFF:     0 Progressive:     0
Undetermined:     1
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

kumowoon1025

>> Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either?
>
> Frames 3, 8, 13, 18, etc. are combed. The rest of the frames are progressive. The progressive frames display the effects of decombing.
>
> The source is a 24fps progressive H.264 AVC video. I'm transcoding it to, among other test transcodes, 5-5-5-5 pull-down @ 60fps progressive, H.264 AVC. I'm not sure what you mean by "assuming a raw uncompressed source and no compression afterwards", but I hope I've responded appropriately.

I mean I know what combing artifacts look like, but I wouldn’t know how to produce combing artifacts in an encode deliberately if asked if I knew how so take this with a grain of salt but I think the general “every encode reduces information” caveat applies, especially as you’re doing some image processing in between.

You might say that technically, it is a reversible process, but multiple iterations of de/compression with an efficiency-focused codec such as H.264 will quickly show diminishing returns despite any novel techniques to enhance perceived quality that you use in between decompression and compression.
 
I liken it to one of those pitch-shifting or retiming plugins/effects in audio apps; you can use those to maintain pitch while you stretch the duration of the recording but if you make edits and “freeze” it as part of a submix, it’s not going to sound the same when you shrink it back down to its original time.

I don’t know if there would be other limitations if you kept the raw yuv video throughout, but then as efficient as H.264 is, you’d be talking something like ~100,000kbps in that case :/

Regards,
Ted Park

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
Hi Ted,

On 04/05/2020 03:04 AM, Ted Park wrote:
>
>>> Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either?
>>
>> Frames 3, 8, 13, 18, etc. are combed. The rest of the frames are progressive. The progressive frames display the effects of decombing.
>>
>> The source is a 24fps progressive H.264 AVC video. I'm transcoding it to, among other test transcodes, 5-5-5-5 pull-down @ 60fps progressive, H.264 AVC. I'm not sure what you mean by "assuming a raw uncompressed source and no compression afterwards", but I hope I've responded appropriately.
>
> I mean I know what combing artifacts look like, but I wouldn’t know how to produce combing artifacts in an encode deliberately ...

Whenever you telecine you are deliberately creating combing. The combing is a consequence of the
standard, 2-3-2-3 pull-down telecine. Any 24fps video displayed on a 60Hz TV must be telecined
somehow. The question is, will it be telecined by the player? by the TV? or in advance by the user
via a transcode?

If telecine is performed by the player or the TV, it is 2-3-2-3 pull-down telecined. That telecine
exhibits so-called telecine judder because of the 2-3-2-3 cadence.

If telecine is performed in advance by the user and it's a 5-5-5-5 pull-down telecine, there is no
judder on playback on a 60Hz TV because there is no cadence and because the video is already 60fps.

A 5-5-5-5 pull-down telecine does have combing, but the combing is 2 frames out of every 10 frames
(i.e., 20%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_][A/a_][A/b_][B/b_][B/b_][C/c_][C/c_][C/d_][D/d_][D/d_]   ...5-5-5-5 telecine
P     P     C     P     P     P     P     C     P     P           20% combing @ 12Hz
A-------------AB-------------BC-------------CD-------------D      judder free
<----1/24s----><----1/24s----><----1/24s----><----1/24s---->

A 2-3-2-3 pull-down telecine also has combing, and the combing is 2 frames out of every 5
frames(i.e., 40%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_______][B/b_______][B/c_______][C/d_______][D/d_______]   ...2-3-2-3 telecine (player)
[A/a_][A/a_][B/b_][B/b_][B/c_][B/c_][C/d_][C/d_][D/d_][D/d_]   ...frame rate doubled (TV)
P     P     P     P     C     C     C     C     P     P           40% combing @ 6Hz
A----------AB----------------BC----------CD----------------D      10% judder @ 12Hz
<---1/30s--><------1/20s-----><---1/30s--><------1/20s----->

A 2-3-2-3 pull-down telecine also has combing, and the combing is 2 frames out of every 5
frames(i.e., 40%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_][A/a_][B/b_][B/b_][B/b_][C/c_][C/d_][D/d_][D/d_][D/d_]   ...4-6-4-6 telecine (player)
P     P     P     P     P     P     P     P     P     P           comb free
A----------AB----------------BC----------CD----------------D      10% judder @ 12Hz
<---1/30s--><------1/20s-----><---1/30s--><------1/20s----->

Those are the facts. I don't think 5-5-5-5 telecine to 60fps has ever been done before. Some people
are opposed to it as though it is religious heresy. That's not going to stop me.

Earlier today I posted a request for help with crafting a special minterpolate filter that operates
solely on the combed frames (frames 3, 8, 13, 18, etc.). That post is titled
"minterpolate only frames 3, 8, 13, 18, etc.".
I hope that someone will respond to it. But even without decombing, I consider the 60fps video to be
superior to any 2-3-2-3 pull-down telecine because I hate judder.

>... if asked if I knew how so take this with a grain of salt but I think the general “every encode reduces information” caveat applies, especially as you’re doing some image processing in between.
>
> You might say that technically, it is a reversible process, but multiple iterations of de/compression with an efficiency-focused codec such as H.264 will quickly show diminishing returns despite any novel techniques to enhance perceived quality that you use in between decompression and compression.

Once transcoded to 60fps, why would I ever reverse it? If I ever get a 120Hz TV, I'll simply drag
out the original disc and remux to a p24 MKV container with zero loss. In the meantime I will have a
60fps video to watch that's as good as the original and is free of telecine judder.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
In reply to this post by kumowoon1025
Resend due to Ooops!

Hi Ted,

On 04/05/2020 03:04 AM, Ted Park wrote:
>
>>> Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either?
>>
>> Frames 3, 8, 13, 18, etc. are combed. The rest of the frames are progressive. The progressive frames display the effects of decombing.
>>
>> The source is a 24fps progressive H.264 AVC video. I'm transcoding it to, among other test transcodes, 5-5-5-5 pull-down @ 60fps progressive, H.264 AVC. I'm not sure what you mean by "assuming a raw uncompressed source and no compression afterwards", but I hope I've responded appropriately.
>
> I mean I know what combing artifacts look like, but I wouldn’t know how to produce combing artifacts in an encode deliberately ...

Whenever you telecine you are deliberately creating combing. The combing is a consequence of the
standard, 2-3-2-3 pull-down telecine. Any 24fps video displayed on a 60Hz TV must be telecined
somehow. The question is, will it be telecined by the player? by the TV? or in advance by the user
via a transcode?

If telecine is performed by the player or the TV, it is 2-3-2-3 pull-down telecined. That telecine
exhibits so-called telecine judder because of the 2-3-2-3 cadence.

If telecine is performed in advance by the user and it's a 5-5-5-5 pull-down telecine, there is no
judder on playback on a 60Hz TV because there is no cadence and because the video is already 60fps.

A 5-5-5-5 pull-down telecine does have combing, but the combing is 2 frames out of every 10 frames
(i.e., 20%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_][A/a_][A/b_][B/b_][B/b_][C/c_][C/c_][C/d_][D/d_][D/d_]   ...5-5-5-5 telecine
P     P     C     P     P     P     P     C     P     P           20% combing @ 12Hz
A-------------AB-------------BC-------------CD-------------D      judder free
<----1/24s----><----1/24s----><----1/24s----><----1/24s---->

A 2-3-2-3 pull-down telecine also has combing, and the combing is 2 frames out of every 5
frames(i.e., 40%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_______][B/b_______][B/c_______][C/d_______][D/d_______]   ...2-3-2-3 telecine (player)
P           P           C           C           P
[A/a_][A/a_][B/b_][B/b_][B/c_][B/c_][C/d_][C/d_][D/d_][D/d_]   ...frame rate doubled (TV)
P     P     P     P     C     C     C     C     P     P           40% combing @ 6Hz
A----------AB----------------BC----------CD----------------D      10% judder @ 12Hz
<---1/30s--><------1/20s-----><---1/30s--><------1/20s----->

A 4-6-4-6 pull-down telecine also has combing, and the combing is 2 frames out of every 5
frames(i.e., 40%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_][A/a_][B/b_][B/b_][B/b_][C/c_][C/d_][D/d_][D/d_][D/d_]   ...4-6-4-6 telecine (player)
P     P     P     P     P     P     P     P     P     P           comb free
A----------AB----------------BC----------CD----------------D      10% judder @ 12Hz
<---1/30s--><------1/20s-----><---1/30s--><------1/20s----->

Those are the facts. I don't think 5-5-5-5 telecine to 60fps has ever been done before. Some people
are opposed to it as though it is religious heresy. That's not going to stop me.

Earlier today I posted a request for help with crafting a special minterpolate filter that operates
solely on the combed frames (frames 3, 8, 13, 18, etc.). That post is titled
"minterpolate only frames 3, 8, 13, 18, etc.".
I hope that someone will respond to it. But even without decombing, I consider the 60fps video to be
superior to any 2-3-2-3 pull-down telecine because I hate judder.

>... if asked if I knew how so take this with a grain of salt but I think the general “every encode reduces information” caveat applies, especially as you’re doing some image processing in between.
>
> You might say that technically, it is a reversible process, but multiple iterations of de/compression with an efficiency-focused codec such as H.264 will quickly show diminishing returns despite any novel techniques to enhance perceived quality that you use in between decompression and compression.

Once transcoded to 60fps, why would I ever reverse it? If I ever get a 120Hz TV, I'll simply drag
out the original disc and remux to a p24 MKV container with zero loss. In the meantime I will have a
60fps video to watch that's as good as the original and is free of telecine judder.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Mark Filipak
In reply to this post by kumowoon1025
Ooops again! Sorry, maybe I'll get it right this time.

Hi Ted,

On 04/05/2020 03:04 AM, Ted Park wrote:
>
>>> Even if that were true (which I have no idea to be honest) are you sure you’re not assuming a raw uncompressed source and no compression afterwards either?
>>
>> Frames 3, 8, 13, 18, etc. are combed. The rest of the frames are progressive. The progressive frames display the effects of decombing.
>>
>> The source is a 24fps progressive H.264 AVC video. I'm transcoding it to, among other test transcodes, 5-5-5-5 pull-down @ 60fps progressive, H.264 AVC. I'm not sure what you mean by "assuming a raw uncompressed source and no compression afterwards", but I hope I've responded appropriately.
>
> I mean I know what combing artifacts look like, but I wouldn’t know how to produce combing artifacts in an encode deliberately ...

Whenever you telecine you are deliberately creating combing. The combing is a consequence of the
standard, 2-3-2-3 pull-down telecine. Any 24fps video displayed on a 60Hz TV must be telecined
somehow. The question is, will it be telecined by the player? by the TV? or in advance by the user
via a transcode?

If telecine is performed by the player or the TV, it is 2-3-2-3 pull-down telecined. That telecine
exhibits so-called telecine judder because of the 2-3-2-3 cadence.

If telecine is performed in advance by the user and it's a 5-5-5-5 pull-down telecine, there is no
judder on playback on a 60Hz TV because there is no cadence and because the video is already 60fps.

A 5-5-5-5 pull-down telecine does have combing, but the combing is 2 frames out of every 10 frames
(i.e., 20%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_][A/a_][A/b_][B/b_][B/b_][C/c_][C/c_][C/d_][D/d_][D/d_]   ...5-5-5-5 telecine
P     P     C     P     P     P     P     C     P     P           20% combing @ 12Hz
A-------------AB-------------BC-------------CD-------------D      judder free
<----1/24s----><----1/24s----><----1/24s----><----1/24s---->

A 2-3-2-3 pull-down telecine also has combing, and the combing is 2 frames out of every 5
frames(i.e., 40%). The combing (C) versus progressive (P) frames looks like this:
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_______][B/b_______][B/c_______][C/d_______][D/d_______]   ...2-3-2-3 telecine (player)
P           P           C           C           P
[A/a_][A/a_][B/b_][B/b_][B/c_][B/c_][C/d_][C/d_][D/d_][D/d_]   ...frame rate doubled (TV)
P     P     P     P     C     C     C     C     P     P           40% combing @ 6Hz
A----------AB----------------BC----------CD----------------D      10% judder @ 12Hz
<---1/30s--><------1/20s-----><---1/30s--><------1/20s----->

A 4-6-4-6 pull-down telecine is comb free but still has judder.
[A/a__________][B/b__________][C/c__________][D/d__________]   ...original p24 video
[A/a_][A/a_][B/b_][B/b_][B/b_][C/c_][C/d_][D/d_][D/d_][D/d_]   ...4-6-4-6 telecine (player)
P     P     P     P     P     P     P     P     P     P           comb free
A----------AB----------------BC----------CD----------------D      10% judder @ 12Hz
<---1/30s--><------1/20s-----><---1/30s--><------1/20s----->

Those are the facts. I don't think 5-5-5-5 telecine to 60fps has ever been done before. Some people
are opposed to it as though it is religious heresy. That's not going to stop me.

Earlier today I posted a request for help with crafting a special minterpolate filter that operates
solely on the combed frames (frames 3, 8, 13, 18, etc.). That post is titled
"minterpolate only frames 3, 8, 13, 18, etc.".
I hope that someone will respond to it. But even without decombing, I consider the 60fps video to be
superior to any 2-3-2-3 pull-down telecine because I hate judder.

>... if asked if I knew how so take this with a grain of salt but I think the general “every encode reduces information” caveat applies, especially as you’re doing some image processing in between.
>
> You might say that technically, it is a reversible process, but multiple iterations of de/compression with an efficiency-focused codec such as H.264 will quickly show diminishing returns despite any novel techniques to enhance perceived quality that you use in between decompression and compression.

Once transcoded to 60fps, why would I ever reverse it? If I ever get a 120Hz TV, I'll simply drag
out the original disc and remux to a p24 MKV container with zero loss. In the meantime I will have a
60fps video to watch that's as good as the original and is free of telecine judder.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

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