[FFmpeg-trac] #6837(undetermined:new): overlay fails on pix_fmt change without an error message

FFmpeg trac at avcodec.org
Wed Nov 15 02:37:19 EET 2017


#6837: overlay fails on pix_fmt change without an error message
-------------------------------------+-------------------------------------
               Reporter:  cehoyos    |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  normal     |              Component:
                Version:  git-       |  undetermined
  master                             |               Keywords:  overlay
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 http://ffmpeg.org/pipermail/ffmpeg-user/2017-November/037828.html

 Create an image sequence:
 {{{
 $ ffmpeg -f lavfi -i testsrc2=s=pal -vframes 5 out%1d.jpg
 }}}
 Change the pix_fmt for one frame:
 {{{
 $ ffmpeg -i out1.jpg -pix_fmt yuvj422p out3.jpg
 }}}
 Overlay fails for the third frame and does not recover:
 {{{
 $ ffmpeg -loglevel verbose -i out%1d.jpg -i fate-suite/lena.pnm
 -filter_complex overlay -qscale 2 out.avi
 ffmpeg version N-89041-g91a565e Copyright (c) 2000-2017 the FFmpeg
 developers
   built with gcc 6.3.0 (GCC)
   configuration: --enable-gpl
   libavutil      56.  0.100 / 56.  0.100
   libavcodec     58.  3.101 / 58.  3.101
   libavformat    58.  2.100 / 58.  2.100
   libavdevice    58.  0.100 / 58.  0.100
   libavfilter     7.  0.101 /  7.  0.101
   libswscale      5.  0.101 /  5.  0.101
   libswresample   3.  0.101 /  3.  0.101
   libpostproc    55.  0.100 / 55.  0.100
 Input #0, image2, from 'out%1d.jpg':
   Duration: 00:00:00.20, start: 0.000000, bitrate: N/A
     Stream #0:0: Video: mjpeg, 1 reference frame, yuvj420p(pc,
 bt470bg/unknown/unknown, center), 720x576 [SAR 1:1 DAR 5:4], 25 fps, 25
 tbr, 25 tbn, 25 tbc
 Input #1, ppm_pipe, from 'fate-suite/lena.pnm':
   Duration: N/A, bitrate: N/A
     Stream #1:0: Video: ppm, 1 reference frame, rgb24, 256x256, 25 tbr, 25
 tbn, 25 tbc
 Please use -q:a or -q:v, -qscale is ambiguous
 Stream mapping:
   Stream #0:0 (mjpeg) -> overlay:main
   Stream #1:0 (ppm) -> overlay:overlay
   overlay -> Stream #0:0 (mpeg4)
 Press [q] to stop, [?] for help
 [graph 0 input from stream 0:0 @ 0x3db8840] w:720 h:576 pixfmt:yuvj420p
 tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
 [graph 0 input from stream 1:0 @ 0x3db9600] w:256 h:256 pixfmt:rgb24
 tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
 [auto_scaler_0 @ 0x3dba500] w:iw h:ih flags:'bilinear' interl:0
 [Parsed_overlay_0 @ 0x3db8020] auto-inserting filter 'auto_scaler_0'
 between the filter 'graph 0 input from stream 1:0' and the filter
 'Parsed_overlay_0'
 [auto_scaler_1 @ 0x3db9a20] w:iw h:ih flags:'bilinear' interl:0
 [format @ 0x3db8580] auto-inserting filter 'auto_scaler_1' between the
 filter 'Parsed_overlay_0' and the filter 'format'
 [auto_scaler_0 @ 0x3dba500] w:256 h:256 fmt:rgb24 sar:0/1 -> w:256 h:256
 fmt:yuva420p sar:0/1 flags:0x2
 [Parsed_overlay_0 @ 0x3db8020] main w:720 h:576 fmt:yuvj420p overlay w:256
 h:256 fmt:yuva420p
 [Parsed_overlay_0 @ 0x3db8020] [framesync @ 0x3db8148] Selected 1/25 time
 base
 [Parsed_overlay_0 @ 0x3db8020] [framesync @ 0x3db8148] Sync level 2
 [swscaler @ 0x3e6abe0] deprecated pixel format used, make sure you did set
 range correctly
 [auto_scaler_1 @ 0x3db9a20] w:720 h:576 fmt:yuvj420p sar:1/1 -> w:720
 h:576 fmt:yuv420p sar:1/1 flags:0x2
 Output #0, avi, to 'out.avi':
   Metadata:
     ISFT            : Lavf58.2.100
     Stream #0:0: Video: mpeg4, 1 reference frame (FMP4 / 0x34504D46),
 yuv420p, 720x576 [SAR 1:1 DAR 5:4], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25
 tbc (default)
     Metadata:
       encoder         : Lavc58.3.101 mpeg4
     Side data:
       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
 [graph 0 input from stream 0:0 @ 0x3db9f00] w:720 h:576 pixfmt:yuvj422p
 tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
 [graph 0 input from stream 1:0 @ 0x3dcb4c0] w:256 h:256 pixfmt:rgb24
 tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
 [scaler_out_0_0 @ 0x3db8660] w:720 h:576 flags:'bicubic' interl:0
 [auto_scaler_0 @ 0x42c1240] w:iw h:ih flags:'bilinear' interl:0
 [Parsed_overlay_0 @ 0x3daa440] auto-inserting filter 'auto_scaler_0'
 between the filter 'graph 0 input from stream 0:0' and the filter
 'Parsed_overlay_0'
 [auto_scaler_1 @ 0x4564d40] w:iw h:ih flags:'bilinear' interl:0
 [Parsed_overlay_0 @ 0x3daa440] auto-inserting filter 'auto_scaler_1'
 between the filter 'graph 0 input from stream 1:0' and the filter
 'Parsed_overlay_0'
 [swscaler @ 0x3e4ff00] deprecated pixel format used, make sure you did set
 range correctly
 [auto_scaler_0 @ 0x42c1240] w:720 h:576 fmt:yuvj422p sar:1/1 -> w:720
 h:576 fmt:yuva420p sar:1/1 flags:0x2
 [auto_scaler_1 @ 0x4564d40] w:256 h:256 fmt:rgb24 sar:0/1 -> w:256 h:256
 fmt:yuva420p sar:0/1 flags:0x2
 [Parsed_overlay_0 @ 0x3daa440] main w:720 h:576 fmt:yuva420p overlay w:256
 h:256 fmt:yuva420p
 [Parsed_overlay_0 @ 0x3daa440] [framesync @ 0x3da5228] Selected 1/25 time
 base
 [Parsed_overlay_0 @ 0x3daa440] [framesync @ 0x3da5228] Sync level 2
 [scaler_out_0_0 @ 0x3db8660] w:720 h:576 fmt:yuva420p sar:1/1 -> w:720
 h:576 fmt:yuv420p sar:1/1 flags:0x4
 [graph 0 input from stream 0:0 @ 0x3daa440] w:720 h:576 pixfmt:yuvj420p
 tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
 [graph 0 input from stream 1:0 @ 0x4564d40] w:256 h:256 pixfmt:rgb24
 tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
 [scaler_out_0_0 @ 0x3dba660] w:720 h:576 flags:'bicubic' interl:0
 [auto_scaler_0 @ 0x3e7d740] w:iw h:ih flags:'bilinear' interl:0
 [Parsed_overlay_0 @ 0x4217020] auto-inserting filter 'auto_scaler_0'
 between the filter 'graph 0 input from stream 1:0' and the filter
 'Parsed_overlay_0'
 [auto_scaler_0 @ 0x3e7d740] w:256 h:256 fmt:rgb24 sar:0/1 -> w:256 h:256
 fmt:yuva420p sar:0/1 flags:0x2
 [Parsed_overlay_0 @ 0x4217020] main w:720 h:576 fmt:yuvj420p overlay w:256
 h:256 fmt:yuva420p
 [Parsed_overlay_0 @ 0x4217020] [framesync @ 0x3da5228] Selected 1/25 time
 base
 [Parsed_overlay_0 @ 0x4217020] [framesync @ 0x3da5228] Sync level 2
 [swscaler @ 0x3e816c0] deprecated pixel format used, make sure you did set
 range correctly
 [scaler_out_0_0 @ 0x3dba660] w:720 h:576 fmt:yuvj420p sar:1/1 -> w:720
 h:576 fmt:yuv420p sar:1/1 flags:0x4
 [Parsed_overlay_0 @ 0x4217020] [framesync @ 0x3da5228] Sync level 0
 No more output streams to write to, finishing.
 frame=    5 fps=0.0 q=2.0 Lsize=     183kB time=00:00:00.20
 bitrate=7510.3kbits/s speed=6.22x
 video:178kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 3.236342%
 Input file #0 (out%1d.jpg):
   Input stream #0:0 (video): 5 packets read (142592 bytes); 5 frames
 decoded;
   Total: 5 packets (142592 bytes) demuxed
 Input file #1 (fate-suite/lena.pnm):
   Input stream #1:0 (video): 1 packets read (196668 bytes); 1 frames
 decoded;
   Total: 1 packets (196668 bytes) demuxed
 Output file #0 (out.avi):
   Output stream #0:0 (video): 5 frames encoded; 5 packets muxed (181872
 bytes);
   Total: 5 packets (181872 bytes) muxed
 }}}
 Old versions of FFmpeg used to hang on the third frame, the current
 behaviour is reproducible since 76e13bde.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6837>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list