[FFmpeg-trac] #1040(avfilter:open): yadif filter with movie source causes assertion failure

FFmpeg trac at avcodec.org
Thu Mar 8 23:28:38 CET 2012

#1040: yadif filter with movie source causes assertion failure
             Reporter:  ls          |                    Owner:
                 Type:  defect      |                   Status:  open
             Priority:  normal      |                Component:  avfilter
              Version:  git-master  |               Resolution:
             Keywords:  yadif       |               Blocked By:
             Blocking:              |  Reproduced by developer:  1
Analyzed by developer:  0           |

Comment (by ls):

 Ok I tried various combinations of movie and yadif. The behavior looks
 good to me if I do not use lavfi.

 Example 1:
 ffmpeg -i 00001.MTS -vf movie=00001.MTS,yadif=1,setpts=PTS-
 STARTPTS,[mov]overlay=0:0 -y out.mp4

 Example 2:
 ffmpeg -i 00001.MTS -vf movie=00001.MTS,yadif=1,setpts=PTS-
 STARTPTS,scale=1280:720[mov],[in]setpts=PTS-STARTPTS,[mov]overlay=0:0 -y
 In example 2 the overlay is slow motion, which makes sense to me.

 In case of using lavfi strange error messages appear. It does not matter
 if the patches are applied or not. The resulting file seems to have only
 key frames encoded: frame rate 1fps
 $ ffmpeg -f lavfi -i
 'movie=00001.MTS,scale=1280:720[mov];movie=00001.MTS,[mov]overlay=0:0' -y

 ffmpeg version N-32897-g12c65ef Copyright (c) 2000-2012 the FFmpeg
   built on Mar  8 2012 21:52:52 with gcc 4.6.1
   configuration: --prefix=/home/ls/ffmpeg --enable-shared --disable-static
 --enable-gpl --enable-nonfree --enable-libme --enable-libx264 --enable-
 libxvid --enable-sram --cpu=core2 --enable-hwaccel=h264_vaapi --enable-
 hwaccel=mpeg2_vaaenable-hwaccel=mpeg4_vaapi --enable-libfaac --enable-
 x11grab --disable-ffserver --enable-libvpx --enable-libvorbis --e-libass
   libavutil      51. 42.100 / 51. 42.100
   libavcodec     54. 10.100 / 54. 10.100
   libavformat    54.  2.100 / 54.  2.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 63.100 /  2. 63.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  7.100 /  0.  7.100
   libpostproc    52.  0.100 / 52.  0.100
 [h264 @ 0x17893a0] mmco: unref short failure
     Last message repeated 1 times
 [h264 @ 0x17893a0] Increasing reorder buffer to 1
 [movie @ 0x17850a0] seek_point:0 format_name:(null) file_name:00001.MTS
 [h264 @ 0x183e400] mmco: unref short failure
     Last message repeated 1 times
 [h264 @ 0x183e400] Increasing reorder buffer to 1
 [movie @ 0x181a4a0] seek_point:0 format_name:(null) file_name:00001.MTS
 [scale @ 0x1819bc0] w:1920 h:1080 fmt:yuv420p -> w:1280 h:720 fmt:yuva420p
 [overlay @ 0x1821280] main w:1920 h:1080 fmt:yuv420p overlay x:0 y:0
 w:1280 h:720 fmt:yuva420p
 [overlay @ 0x1821280] main_tb:1/90000 overlay_tb:1/90000 -> tb:1/90000
 [h264 @ 0x1822700] mmco: unref short failure
     Last message repeated 1 times
 [h264 @ 0x178b0a0] mmco: unref short failure
     Last message repeated 1 times
 [lavfi @ 0x17843e0] Estimating duration from bitrate, this may be
 Input #0, lavfi, from
   Duration: N/A, start: 2637.561589, bitrate: N/A
     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080
 [SAR 1:1 DAR 16:9], 1 tbr, 90k tbn, 90k
 [buffer @ 0x7f3d08b3db80] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000
 sar:1/1 sws_param:
 [libx264 @ 0x7f3d086a2a00] using SAR=1/1
 [libx264 @ 0x7f3d086a2a00] using cpu capabilities: MMX2 SSE2Fast SSSE3
 FastShuffle SSE4.2
 [libx264 @ 0x7f3d086a2a00] profile High, level 4.0
 [libx264 @ 0x7f3d086a2a00] 264 - core 120 r0+2 01f7a33 - H.264/MPEG-4 AVC
 codec - Copyleft 2003-2012 - http://www.vid.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_rme_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0
 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_thr0 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 tb=1 open_gop=0 weightp=2
 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf
 mbtree=1 crf=23.mp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
 Output #0, mp4, to 'out.mp4':
     encoder         : Lavf54.2.100
     Stream #0:0: Video: h264 (![0][0][0] / 0x0021), yuv420p, 1920x1080
 [SAR 1:1 DAR 16:9], q=-1--1,
 Stream mapping:
   Stream #0:0 -> #0:0 (rawvideo -> libx264)
 Press [q] to stop, [?] for help
 DTS 14400, next:2120000 st:0 invalid droping
 DTS 108000, next:3120000 st:0 invalid droping
 DTS 21600, next:4120000 st:0 invalid droping
 DTS 115200, next:5120000 st:0 invalid droping
 DTS 28800, next:6120000 st:0 invalid droping
 DTS 122400, next:7120000 st:0 invalid droping
 DTS 36000, next:8120000 st:0 invalid droping
 DTS 129600, next:9120000 st:0 invalid droping
 DTS 43200, next:10120000 st:0 invalid dropinge=00:00:00.00 bitrate=
 0.0kbits/s dup=0 drop=1
 DTS 136800, next:11120000 st:0 invalid droping
 DTS 50400, next:12120000 st:0 invalid droping
 DTS 144000, next:13120000 st:0 invalid droping

 If the video is scaled down further than in the example above things work:
 ffmpeg -f lavfi -i 'movie=00001.MTS,yadif=1,scale=1700:-1' out.mp4

 It seems to be an issue with the lavfi input device, since the following
 call does not produce correct results either:
 ffmpeg -f lavfi -i 'movie=00001.MTS' out.mp4

 Without using lavfi things work:
 ffmpeg -i 00001.MTS -vf 'yadif=1,scale=1750:-1' out.mp4

 Probably this is another issue but it blocks answering your second

Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1040#comment:6>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list