[FFmpeg-trac] #9990(ffmpeg:new): Too many output streams causes wrong output

FFmpeg trac at avcodec.org
Tue Oct 25 20:11:04 EEST 2022


#9990: Too many output streams causes wrong output
-------------------------------------+-------------------------------------
             Reporter:  U. Artie     |                     Type:  defect
  Eoff                               |
               Status:  new          |                 Priority:  important
            Component:  ffmpeg       |                  Version:  git-
                                     |  master
             Keywords:  regression   |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 ffmpeg creates too many output streams and also dishonors vframes.  MD5
 output is wrong and YUV output is wrong.  Also seeing lots of "dropping
 frame" messages.  All input frames get decoded regardless of vframes
 setting.

 This is a regression somewhere in the following commit window:
 https://github.com/ffmpeg/ffmpeg/compare/1af499cde0958264d4cc03f0ff6371c5ae8edbf4...7aa5ea237f84429a563c386f00fb035f48834273

 Prior to this commit window, the YUV and MD5 are correct.

 How to reproduce:
 {{{
 % ffmpeg -v verbose -i AUD_MW_E.264 -lavfi 'null' -c:v rawvideo \
  -pix_fmt yuv420p -fps_mode passthrough -autoscale 0 -vframes 4 \
  -y -f tee -map 0:v 'out.yuv|[f=md5]pipe:1'

 ffmpeg version N-108846-g9bed814e1d44 Copyright (c) 2000-2022 the FFmpeg
 developers
   built with gcc 11 (GCC)
   configuration: --prefix=/home/uaeoff/Work/workspace/media/install
 --disable-static --enable-shared --enable-libdrm --enable-vaapi --enable-
 libmfx --disable-amf --disable-audiotoolbox --disable-cuda --disable-cuda-
 sdk --disable-cuvid --disable-d3d11va --disable-dxva2 --disable-libnpp
 --disable-mmal --disable-nvdec --disable-nvenc --disable-omx --disable-
 omx-rpi --disable-rkmpp --disable-v4l2-m2m --disable-vdpau --disable-
 videotoolbox --enable-gpl --enable-libx264 --enable-libx265
   libavutil      57. 39.101 / 57. 39.101
   libavcodec     59. 51.100 / 59. 51.100
   libavformat    59. 34.101 / 59. 34.101
   libavdevice    59.  8.101 / 59.  8.101
   libavfilter     8. 49.101 /  8. 49.101
   libswscale      6.  8.112 /  6.  8.112
   libswresample   4.  9.100 /  4.  9.100
   libpostproc    56.  7.100 / 56.  7.100
 [h264 @ 0x23dd080] Reinit context to 176x144, pix_fmt: yuv420p
 Input #0, h264, from '/home/uaeoff/Work/workspace/media/src/otc-
 media/assets/bat/avc/AUD_MW_E.264':
   Duration: N/A, bitrate: N/A
   Stream #0:0: Video: h264 (Constrained Baseline), 1 reference frame,
 yuv420p(progressive), 176x144, 25 fps, 25 tbr, 1200k tbn
 Stream mapping:
   Stream #0:0 (h264) -> null:default (graph 0)
   null:default (graph 0) -> Stream #0:0 (rawvideo)
   Stream #0:0 -> #0:1 (h264 (native) -> rawvideo (native))
 Press [q] to stop, [?] for help
 [h264 @ 0x23f9b40] Reinit context to 176x144, pix_fmt: yuv420p
 [graph 0 input from stream 0:0 @ 0x2633bc0] w:176 h:144 pixfmt:yuv420p
 tb:1/1200000 fr:25/1 sar:0/1
 [graph 1 input from stream 0:0 @ 0x2640a40] w:176 h:144 pixfmt:yuv420p
 tb:1/1200000 fr:25/1 sar:0/1
 [tee @ 0x24209c0] filename:'out.yuv' format:rawvideo
 [tee @ 0x24209c0]     stream:0 codec:rawvideo type:video bsfs: null
 [tee @ 0x24209c0]     stream:1 codec:rawvideo type:video bsfs: null
 [tee @ 0x24209c0] filename:'pipe:1' format:md5
 [tee @ 0x24209c0]     stream:0 codec:rawvideo type:video bsfs: null
 [tee @ 0x24209c0]     stream:1 codec:rawvideo type:video bsfs: null
 Output #0, tee, to 'out.yuv|[f=md5]pipe:1':
   Metadata:
     encoder         : Lavf59.34.101
   Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449),
 yuv420p(progressive), 176x144 (0x0), q=2-31, 7603 kb/s, 25 fps, 25 tbn
 (default)
     Metadata:
       encoder         : Lavc59.51.100 rawvideo
   Stream #0:1: Video: rawvideo, 1 reference frame (I420 / 0x30323449),
 yuv420p(progressive), 176x144 (0x0), q=2-31, 7603 kb/s, 25 fps, 25 tbn
     Metadata:
       encoder         : Lavc59.51.100 rawvideo
 *** dropping frame 4 from stream 0 at ts 4  0kB time=-577014:32:22.77
 bitrate=  -0.0kbits/s speed=N/A
 *** dropping frame 4 from stream 0 at ts 5
 *** dropping frame 4 from stream 0 at ts 6
 *** dropping frame 4 from stream 0 at ts 7
 *** dropping frame 4 from stream 0 at ts 8
 *** dropping frame 4 from stream 0 at ts 9
 *** dropping frame 4 from stream 0 at ts 10
 *** dropping frame 4 from stream 0 at ts 11
 *** dropping frame 4 from stream 0 at ts 12
 *** dropping frame 4 from stream 0 at ts 13
 *** dropping frame 4 from stream 0 at ts 14
 *** dropping frame 4 from stream 0 at ts 15
 *** dropping frame 4 from stream 0 at ts 16
 *** dropping frame 4 from stream 0 at ts 17
 *** dropping frame 4 from stream 0 at ts 18
 *** dropping frame 4 from stream 0 at ts 19
 *** dropping frame 4 from stream 0 at ts 20
 *** dropping frame 4 from stream 0 at ts 21
 *** dropping frame 4 from stream 0 at ts 22
 *** dropping frame 4 from stream 0 at ts 23
 *** dropping frame 4 from stream 0 at ts 24
 *** dropping frame 4 from stream 0 at ts 25
 *** dropping frame 4 from stream 0 at ts 26
 *** dropping frame 4 from stream 0 at ts 27
 *** dropping frame 4 from stream 0 at ts 28
 *** dropping frame 4 from stream 0 at ts 29
 *** dropping frame 4 from stream 0 at ts 30
 *** dropping frame 4 from stream 0 at ts 31
 *** dropping frame 4 from stream 0 at ts 32
 *** dropping frame 4 from stream 0 at ts 33
 *** dropping frame 4 from stream 0 at ts 34
 *** dropping frame 4 from stream 0 at ts 35
 *** dropping frame 4 from stream 0 at ts 36
 *** dropping frame 4 from stream 0 at ts 37
 *** dropping frame 4 from stream 0 at ts 38
 *** dropping frame 4 from stream 0 at ts 39
 *** dropping frame 4 from stream 0 at ts 40
 *** dropping frame 4 from stream 0 at ts 41
 *** dropping frame 4 from stream 0 at ts 42
 *** dropping frame 4 from stream 0 at ts 43
 *** dropping frame 4 from stream 0 at ts 44
 *** dropping frame 4 from stream 0 at ts 45
 *** dropping frame 4 from stream 0 at ts 46
 *** dropping frame 4 from stream 0 at ts 47
 *** dropping frame 4 from stream 0 at ts 48
 *** dropping frame 4 from stream 0 at ts 49
 *** dropping frame 4 from stream 0 at ts 50
 *** dropping frame 4 from stream 0 at ts 51
 *** dropping frame 4 from stream 0 at ts 52
 *** dropping frame 4 from stream 0 at ts 53
 *** dropping frame 4 from stream 0 at ts 54
 *** dropping frame 4 from stream 0 at ts 55
 *** dropping frame 4 from stream 0 at ts 56
 *** dropping frame 4 from stream 0 at ts 57
 *** dropping frame 4 from stream 0 at ts 58
 *** dropping frame 4 from stream 0 at ts 59
 *** dropping frame 4 from stream 0 at ts 60
 *** dropping frame 4 from stream 0 at ts 61
 *** dropping frame 4 from stream 0 at ts 62
 *** dropping frame 4 from stream 0 at ts 63
 *** dropping frame 4 from stream 0 at ts 64
 *** dropping frame 4 from stream 0 at ts 65
 *** dropping frame 4 from stream 0 at ts 66
 *** dropping frame 4 from stream 0 at ts 67
 *** dropping frame 4 from stream 0 at ts 68
 *** dropping frame 4 from stream 0 at ts 69
 *** dropping frame 4 from stream 0 at ts 70
 *** dropping frame 4 from stream 0 at ts 71
 *** dropping frame 4 from stream 0 at ts 72
 *** dropping frame 4 from stream 0 at ts 73
 *** dropping frame 4 from stream 0 at ts 74
 *** dropping frame 4 from stream 0 at ts 75
 *** dropping frame 4 from stream 0 at ts 76
 *** dropping frame 4 from stream 0 at ts 77
 *** dropping frame 4 from stream 0 at ts 78
 *** dropping frame 4 from stream 0 at ts 79
 *** dropping frame 4 from stream 0 at ts 80
 *** dropping frame 4 from stream 0 at ts 81
 *** dropping frame 4 from stream 0 at ts 82
 *** dropping frame 4 from stream 0 at ts 83
 *** dropping frame 4 from stream 0 at ts 84
 *** dropping frame 4 from stream 0 at ts 85
 *** dropping frame 4 from stream 0 at ts 86
 *** dropping frame 4 from stream 0 at ts 87
 *** dropping frame 4 from stream 0 at ts 88
 EOF in input file 0
 Terminating demuxer thread 0
 *** dropping frame 4 from stream 0 at ts 89
 *** dropping frame 4 from stream 0 at ts 90
 *** dropping frame 4 from stream 0 at ts 91
 *** dropping frame 4 from stream 0 at ts 92
 *** dropping frame 4 from stream 0 at ts 93
 *** dropping frame 4 from stream 0 at ts 94
 *** dropping frame 4 from stream 0 at ts 95
 *** dropping frame 4 from stream 0 at ts 96
 *** dropping frame 4 from stream 0 at ts 97
 *** dropping frame 4 from stream 0 at ts 98
 *** dropping frame 4 from stream 0 at ts 99
 No more output streams to write to, finishing.
 All streams finished for output file #0
 Terminating muxer thread 0
 [AVIOContext @ 0x2c94f80] Statistics: 304128 bytes written, 0 seeks, 2
 writeouts
 MD5=c575f094f0b5d28dc9bd38f43b3bbb54
 [AVIOContext @ 0x2c9f040] Statistics: 37 bytes written, 0 seeks, 1
 writeouts
 frame=    4 fps=0.0 q=-0.0 Lq=-0.0 size=N/A time=00:00:00.12 bitrate=N/A
 dup=0 drop=96 speed=14.3x
 video:297kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 Input file #0 (/home/uaeoff/Work/workspace/media/src/otc-
 media/assets/bat/avc/AUD_MW_E.264):
   Input stream #0:0 (video): 100 packets read (54828 bytes); 100 frames
 decoded;
   Total: 100 packets (54828 bytes) demuxed
 Output file #0 (out.yuv|[f=md5]pipe:1):
   Output stream #0:0 (video): 4 frames encoded; 4 packets muxed (152064
 bytes);
   Output stream #0:1 (video): 4 frames encoded; 4 packets muxed (152064
 bytes);
   Total: 8 packets (304128 bytes) muxed
 [AVIOContext @ 0x23e48c0] Statistics: 54828 bytes read, 0 seeks
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9990>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list