[FFmpeg-trac] #8967(avcodec:new): FFmpeg fails with image2pipe while image2 works

FFmpeg trac at avcodec.org
Mon Nov 9 11:17:12 EET 2020


#8967: FFmpeg fails with image2pipe while image2 works
-------------------------------------+-------------------------------------
             Reporter:  fritsch      |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:  avcodec
              Version:  unspecified  |               Resolution:
             Keywords:  mjpeg        |               Blocked By:
  regression kodi                    |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by fritsch):

 See below my expectation using image2 instead of the pipe:

 fritsch at L380:~/Desktop/FFmpeg$
 {{{

 ./ffmpeg -loglevel trace -f image2 -i ~/schurz/5gOk0JtwjdIv.jpg hurz16.jpg

 }}}

 ffmpeg version N-99888-g5c7823ff1c Copyright (c) 2000-2020 the FFmpeg
 developers
   built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
   configuration: --disable-doc
   libavutil      56. 60.100 / 56. 60.100
   libavcodec     58.112.101 / 58.112.101
   libavformat    58. 64.100 / 58. 64.100
   libavdevice    58. 11.102 / 58. 11.102
   libavfilter     7. 89.100 /  7. 89.100
   libswscale      5.  8.100 /  5.  8.100
   libswresample   3.  8.100 /  3.  8.100
 Splitting the commandline.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument 'trace'.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'image2'.
 Reading option '-i' ... matched as input url with argument
 '/home/fritsch/schurz/5gOk0JtwjdIv.jpg'.
 Reading option 'hurz16.jpg' ... matched as output url.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option loglevel (set logging level) with argument trace.
 Successfully parsed a group of options.
 Parsing a group of options: input url
 /home/fritsch/schurz/5gOk0JtwjdIv.jpg.
 Applying option f (force format) with argument image2.
 Successfully parsed a group of options.
 Opening an input file: /home/fritsch/schurz/5gOk0JtwjdIv.jpg.
 [image2 @ 0x563e4267e780] Opening '/home/fritsch/schurz/5gOk0JtwjdIv.jpg'
 for reading
 [file @ 0x563e42689300] Setting default whitelist 'file,crypto,data'
 [AVIOContext @ 0x563e42691480] Statistics: 219805 bytes read, 0 seeks
 [mjpeg @ 0x563e42680500] marker=d8 avail_size_in_buf=219803
 [mjpeg @ 0x563e42680500] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x563e42680500] marker=e0 avail_size_in_buf=219801
 [mjpeg @ 0x563e42680500] marker parser used 16 bytes (128 bits)
 [mjpeg @ 0x563e42680500] marker=e1 avail_size_in_buf=219783
 [mjpeg @ 0x563e42680500] marker parser used 64481 bytes (515848 bits)
 [mjpeg @ 0x563e42680500] marker=db avail_size_in_buf=155299
 [mjpeg @ 0x563e42680500] index=0
 [mjpeg @ 0x563e42680500] qscale[0]: 1
 [mjpeg @ 0x563e42680500] marker parser used 67 bytes (536 bits)
 [mjpeg @ 0x563e42680500] marker=db avail_size_in_buf=155230
 [mjpeg @ 0x563e42680500] index=1
 [mjpeg @ 0x563e42680500] qscale[1]: 2
 [mjpeg @ 0x563e42680500] marker parser used 67 bytes (536 bits)
 [mjpeg @ 0x563e42680500] marker=c0 avail_size_in_buf=155161
 [mjpeg @ 0x563e42680500] Changing bps from 0 to 8
 [mjpeg @ 0x563e42680500] sof0: picture: 800x600
 [mjpeg @ 0x563e42680500] component 0 2:1 id: 0 quant:0
 [mjpeg @ 0x563e42680500] component 1 1:1 id: 1 quant:1
 [mjpeg @ 0x563e42680500] component 2 1:1 id: 2 quant:1
 [mjpeg @ 0x563e42680500] pix fmt id 21111100
 [mjpeg @ 0x563e42680500] Format yuvj422p chosen by get_format().
 [mjpeg @ 0x563e42680500] marker parser used 17 bytes (136 bits)
 [mjpeg @ 0x563e42680500] marker=c4 avail_size_in_buf=155142
 [mjpeg @ 0x563e42680500] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x563e42680500] marker=c4 avail_size_in_buf=155111
 [mjpeg @ 0x563e42680500] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x563e42680500] marker=c4 avail_size_in_buf=155032
 [mjpeg @ 0x563e42680500] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x563e42680500] marker=c4 avail_size_in_buf=155003
 [mjpeg @ 0x563e42680500] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x563e42680500] escaping removed 629 bytes
 [mjpeg @ 0x563e42680500] marker=da avail_size_in_buf=154946
 [mjpeg @ 0x563e42680500] marker parser used 154317 bytes (1234536 bits)
 [mjpeg @ 0x563e42680500] marker=d9 avail_size_in_buf=0
 [mjpeg @ 0x563e42680500] decode frame unused 0 bytes
 [image2 @ 0x563e4267e780] stream 0: start_time: 0 duration: 0.04
 [image2 @ 0x563e4267e780] format: start_time: 0 duration: 0.04 (estimate
 from stream) bitrate=0 kb/s
 Input #0, image2, from '/home/fritsch/schurz/5gOk0JtwjdIv.jpg':
   Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
     Stream #0:0, 1, 1/25: Video: mjpeg (Baseline), 1 reference frame,
 yuvj422p(pc, bt470bg/unknown/unknown, center), 800x600 [SAR 72:72 DAR
 4:3], 0/1, 25 tbr, 25 tbn, 25 tbc
 Successfully opened the file.
 Parsing a group of options: output url hurz16.jpg.
 Successfully parsed a group of options.
 Opening an output file: hurz16.jpg.
 Successfully opened the file.
 Stream mapping:
   Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
 Press [q] to stop, [?] for help
 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless
 if it occurs once at the start per stream)
 [mjpeg @ 0x563e42682140] marker=d8 avail_size_in_buf=219803
 [mjpeg @ 0x563e42682140] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x563e42682140] marker=e0 avail_size_in_buf=219801
 [mjpeg @ 0x563e42682140] marker parser used 16 bytes (128 bits)
 [mjpeg @ 0x563e42682140] marker=e1 avail_size_in_buf=219783
 [mjpeg @ 0x563e42682140] marker parser used 64481 bytes (515848 bits)
 [mjpeg @ 0x563e42682140] marker=db avail_size_in_buf=155299
 [mjpeg @ 0x563e42682140] index=0
 [mjpeg @ 0x563e42682140] qscale[0]: 1
 [mjpeg @ 0x563e42682140] marker parser used 67 bytes (536 bits)
 [mjpeg @ 0x563e42682140] marker=db avail_size_in_buf=155230
 [mjpeg @ 0x563e42682140] index=1
 [mjpeg @ 0x563e42682140] qscale[1]: 2
 [mjpeg @ 0x563e42682140] marker parser used 67 bytes (536 bits)
 [mjpeg @ 0x563e42682140] marker=c0 avail_size_in_buf=155161
 [mjpeg @ 0x563e42682140] sof0: picture: 800x600
 [mjpeg @ 0x563e42682140] component 0 2:1 id: 0 quant:0
 [mjpeg @ 0x563e42682140] component 1 1:1 id: 1 quant:1
 [mjpeg @ 0x563e42682140] component 2 1:1 id: 2 quant:1
 [mjpeg @ 0x563e42682140] pix fmt id 21111100
 [mjpeg @ 0x563e42682140] Format yuvj422p chosen by get_format().
 [mjpeg @ 0x563e42682140] marker parser used 17 bytes (136 bits)
 [mjpeg @ 0x563e42682140] marker=c4 avail_size_in_buf=155142
 [mjpeg @ 0x563e42682140] class=0 index=0 nb_codes=10
 [mjpeg @ 0x563e42682140] marker parser used 29 bytes (232 bits)
 [mjpeg @ 0x563e42682140] marker=c4 avail_size_in_buf=155111
 [mjpeg @ 0x563e42682140] class=1 index=0 nb_codes=58
 [mjpeg @ 0x563e42682140] marker parser used 77 bytes (616 bits)
 [mjpeg @ 0x563e42682140] marker=c4 avail_size_in_buf=155032
 [mjpeg @ 0x563e42682140] class=0 index=1 nb_codes=8
 [mjpeg @ 0x563e42682140] marker parser used 27 bytes (216 bits)
 [mjpeg @ 0x563e42682140] marker=c4 avail_size_in_buf=155003
 [mjpeg @ 0x563e42682140] class=1 index=1 nb_codes=36
 [mjpeg @ 0x563e42682140] marker parser used 55 bytes (440 bits)
 [mjpeg @ 0x563e42682140] escaping removed 629 bytes
 [mjpeg @ 0x563e42682140] marker=da avail_size_in_buf=154946
 [mjpeg @ 0x563e42682140] component: 0
 [mjpeg @ 0x563e42682140] component: 1
 [mjpeg @ 0x563e42682140] component: 2
 [mjpeg @ 0x563e42682140] marker parser used 154316 bytes (1234527 bits)
 [mjpeg @ 0x563e42682140] marker=d9 avail_size_in_buf=0
 [mjpeg @ 0x563e42682140] decode frame unused 0 bytes
 detected 8 logical cores
 [graph 0 input from stream 0:0 @ 0x563e4279a4c0] Setting 'video_size' to
 value '800x600'
 [graph 0 input from stream 0:0 @ 0x563e4279a4c0] Setting 'pix_fmt' to
 value '13'
 [graph 0 input from stream 0:0 @ 0x563e4279a4c0] Setting 'time_base' to
 value '1/25'
 [graph 0 input from stream 0:0 @ 0x563e4279a4c0] Setting 'pixel_aspect' to
 value '72/72'
 [graph 0 input from stream 0:0 @ 0x563e4279a4c0] Setting 'frame_rate' to
 value '25/1'
 [graph 0 input from stream 0:0 @ 0x563e4279a4c0] w:800 h:600
 pixfmt:yuvj422p tb:1/25 fr:25/1 sar:72/72
 [format @ 0x563e4279ad80] Setting 'pix_fmts' to value
 'yuvj420p|yuvj422p|yuvj444p'
 [AVFilterGraph @ 0x563e42799380] query_formats: 4 queried, 3 merged, 0
 already done, 0 delayed
 [mjpeg @ 0x563e42690d00] Forcing thread count to 1 for MJPEG encoding, use
 -thread_type slice or a constant quantizer if you want to use multiple cpu
 cores
 [mjpeg @ 0x563e42690d00] intra_quant_bias = 96 inter_quant_bias = 0
 Output #0, image2, to 'hurz16.jpg':
   Metadata:
     encoder         : Lavf58.64.100
     Stream #0:0, 0, 1/25: Video: mjpeg, 1 reference frame, yuvj422p(pc,
 bt470bg/unknown/unknown, progressive, center), 800x600 [SAR 72:72 DAR
 4:3], 0/1, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
     Metadata:
       encoder         : Lavc58.112.101 mjpeg
     Side data:
       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
 Clipping frame in rate conversion by 0.000008
 [image2 @ 0x563e42682580] Opening 'hurz16.jpg' for writing
 [file @ 0x563e429720c0] Setting default whitelist 'file,crypto,data'
 [AVIOContext @ 0x563e4295df00] Statistics: 0 seeks, 1 writeouts
 [out_0_0 @ 0x563e4279ab00] EOF on sink link out_0_0:default.
 No more output streams to write to, finishing.
 frame=    1 fps=0.0 q=5.4 Lsize=N/A time=00:00:00.04 bitrate=N/A
 speed=2.18x
 video:68kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 Input file #0 (/home/fritsch/schurz/5gOk0JtwjdIv.jpg):
   Input stream #0:0 (video): 1 packets read (219805 bytes); 1 frames
 decoded;
   Total: 1 packets (219805 bytes) demuxed
 Output file #0 (hurz16.jpg):
   '''Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (69577
 bytes);'''
   Total: 1 packets (69577 bytes) muxed
 1 frames successfully decoded, 0 decoding errors

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


More information about the FFmpeg-trac mailing list