[FFmpeg-trac] #3424(avcodec:new): JPEG Decoder fails to decode valid jpeg file (all other major implementations work)

FFmpeg trac at avcodec.org
Thu Feb 27 18:16:42 CET 2014


#3424: JPEG Decoder fails to decode valid jpeg file (all other major
implementations work)
--------------------------------------+---------------------------------
               Reporter:  dbuitenh    |                  Owner:
                   Type:  defect      |                 Status:  new
               Priority:  normal      |              Component:  avcodec
                Version:  git-master  |               Keywords:  jpeg
             Blocked By:              |               Blocking:
Reproduced by developer:  0           |  Analyzed by developer:  0
--------------------------------------+---------------------------------
 How to reproduce:

 $ ffmpeg -loglevel debug -i bug.jpg decoded.png

 git HEAD has the same issue and output.

 Output:

 {{{
 ffmpeg version N-60776-gd089e9a Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Feb 20 2014 11:17:04 with gcc 4.4.7 (GCC) 20120313 (Red Hat
 4.4.7-3)
   configuration: --enable-gpl --enable-version3 --enable-nonfree
 --disable-decoder=dirac --enable-libopencore-amrnb --enable-libopencore-
 amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libopus
 --enable-libx264 --enable-libschroedinger --disable-static --enable-shared
 --disable-ffplay --disable-ffserver --enable-libfdk-aac --enable-libspeex
 --enable-avresample --enable-openssl --enable-pic
   libavutil      52. 65.100 / 52. 65.100
   libavcodec     55. 52.102 / 55. 52.102
   libavformat    55. 33.100 / 55. 33.100
   libavdevice    55. 10.100 / 55. 10.100
   libavfilter     4.  1.103 /  4.  1.103
   libavresample   1.  1.  0 /  1.  1.  0
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
 Splitting the commandline.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument 'debug'.
 Reading option '-i' ... matched as input file with argument 'bug.jpg'.
 Reading option 'decoded.png' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option loglevel (set logging level) with argument debug.
 Successfully parsed a group of options.
 Parsing a group of options: input file bug.jpg.
 Successfully parsed a group of options.
 Opening an input file: bug.jpg.
 [AVIOContext @ 0x23bcdc0] Statistics: 1129716 bytes read, 0 seeks
 [mjpeg @ 0x23bb060] marker=d8 avail_size_in_buf=1129714
 [mjpeg @ 0x23bb060] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x23bb060] marker=e0 avail_size_in_buf=1129712
 [mjpeg @ 0x23bb060] marker parser used 16 bytes (128 bits)
 [mjpeg @ 0x23bb060] marker=ee avail_size_in_buf=1129694
 [mjpeg @ 0x23bb060] marker parser used 14 bytes (112 bits)
 [mjpeg @ 0x23bb060] marker=e1 avail_size_in_buf=1129678
 [mjpeg @ 0x23bb060] marker parser used 6005 bytes (48040 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=1123670
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=1058133
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=992596
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=927059
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=861522
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=795985
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=730448
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=664911
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=599374
 [mjpeg @ 0x23bb060] marker parser used 33031 bytes (264248 bits)
 [mjpeg @ 0x23bb060] marker=ed avail_size_in_buf=566340
 [mjpeg @ 0x23bb060] marker parser used 43 bytes (344 bits)
 [mjpeg @ 0x23bb060] marker=e1 avail_size_in_buf=566294
 [mjpeg @ 0x23bb060] marker parser used 3898 bytes (31184 bits)
 [mjpeg @ 0x23bb060] marker=db avail_size_in_buf=562393
 [mjpeg @ 0x23bb060] index=0
 [mjpeg @ 0x23bb060] qscale[0]: 2
 [mjpeg @ 0x23bb060] marker parser used 67 bytes (536 bits)
 [mjpeg @ 0x23bb060] marker=c0 avail_size_in_buf=562324
 [mjpeg @ 0x23bb060] sof0: picture: 1280x720
 [mjpeg @ 0x23bb060] component 0 1:1 id: 66 quant:0
 [mjpeg @ 0x23bb060] component 1 1:1 id: 76 quant:0
 [mjpeg @ 0x23bb060] component 2 1:1 id: 88 quant:0
 [mjpeg @ 0x23bb060] component 3 1:1 id: 74 quant:0
 [mjpeg @ 0x23bb060] pix fmt id 11111111
 [mjpeg @ 0x23bb060] marker parser used 20 bytes (160 bits)
 [mjpeg @ 0x23bb060] marker=c4 avail_size_in_buf=562302
 [mjpeg @ 0x23bb060] class=0 index=0 nb_codes=10
 [mjpeg @ 0x23bb060] marker parser used 29 bytes (232 bits)
 [mjpeg @ 0x23bb060] marker=c4 avail_size_in_buf=562271
 [mjpeg @ 0x23bb060] class=1 index=0 nb_codes=242
 [mjpeg @ 0x23bb060] marker parser used 78 bytes (624 bits)
 [mjpeg @ 0x23bb060] escaping removed 1699 bytes
 [mjpeg @ 0x23bb060] marker=da avail_size_in_buf=562191
 [mjpeg @ 0x23bb060] component: 66
 [mjpeg @ 0x23bb060] component: 76
 [mjpeg @ 0x23bb060] component: 88
 [mjpeg @ 0x23bb060] component: 74
 [mjpeg @ 0x23bb060] marker parser used 560491 bytes (4483924 bits)
 [mjpeg @ 0x23bb060] marker=d9 avail_size_in_buf=0
 [mjpeg @ 0x23bb060] decode frame unused 0 bytes
 Input #0, image2, from 'bug.jpg':
   Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
     Stream #0:0, 1, 1/25: Video: mjpeg, yuva444p(pc), 1280x720 [SAR
 300:300 DAR 16:9], 1/25, 25 tbr, 25 tbn, 25 tbc
 Successfully opened the file.
 Parsing a group of options: output file decoded.png.
 Successfully parsed a group of options.
 Opening an output file: decoded.png.
 Successfully opened the file.
 detected 24 logical cores
 [graph 0 input from stream 0:0 @ 0x23a4760] Setting 'video_size' to value
 '1280x720'
 [graph 0 input from stream 0:0 @ 0x23a4760] Setting 'pix_fmt' to value
 '299'
 [graph 0 input from stream 0:0 @ 0x23a4760] Setting 'time_base' to value
 '1/25'
 [graph 0 input from stream 0:0 @ 0x23a4760] Setting 'pixel_aspect' to
 value '300/300'
 [graph 0 input from stream 0:0 @ 0x23a4760] Setting 'sws_param' to value
 'flags=2'
 [graph 0 input from stream 0:0 @ 0x23a4760] Setting 'frame_rate' to value
 '25/1'
 [graph 0 input from stream 0:0 @ 0x23a4760] w:1280 h:720 pixfmt:yuva444p
 tb:1/25 fr:25/1 sar:300/300 sws_param:flags=2
 [format @ 0x23a49c0] compat: called with
 args=[rgb24|rgba|rgb48be|rgba64be|pal8|gray|gray8a|gray16be|monob]
 [format @ 0x23a49c0] Setting 'pix_fmts' to value
 'rgb24|rgba|rgb48be|rgba64be|pal8|gray|gray8a|gray16be|monob'
 [auto-inserted scaler 0 @ 0x23a5c80] Setting 'flags' to value '0x4'
 [auto-inserted scaler 0 @ 0x23a5c80] w:iw h:ih flags:'0x4' interl:0
 [format @ 0x23a49c0] auto-inserting filter 'auto-inserted scaler 0'
 between the filter 'Parsed_null_0' and the filter 'format'
 [AVFilterGraph @ 0x23be4a0] query_formats: 4 queried, 2 merged, 1 already
 done, 0 delayed
 [auto-inserted scaler 0 @ 0x23a5c80] picking rgba out of 8 ref:yuva444p
 alpha:1
 [swscaler @ 0x23ab020] Forcing full internal H chroma due to input having
 non subsampled chroma
 [auto-inserted scaler 0 @ 0x23a5c80] w:1280 h:720 fmt:yuva444p sar:300/300
 -> w:1280 h:720 fmt:rgba sar:1/1 flags:0x4
 Output #0, image2, to 'decoded.png':
   Metadata:
     encoder         : Lavf55.33.100
     Stream #0:0, 0, 1/90000: Video: png, rgba, 1280x720 [SAR 1:1 DAR
 16:9], 1/25, q=2-31, 200 kb/s, 90k tbn, 25 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (mjpeg -> png)
 Press [q] to stop, [?] for help
 [mjpeg @ 0x23bb060] marker=d8 avail_size_in_buf=1129714
 [mjpeg @ 0x23bb060] marker parser used 0 bytes (0 bits)
 [mjpeg @ 0x23bb060] marker=e0 avail_size_in_buf=1129712
 [mjpeg @ 0x23bb060] marker parser used 16 bytes (128 bits)
 [mjpeg @ 0x23bb060] marker=ee avail_size_in_buf=1129694
 [mjpeg @ 0x23bb060] marker parser used 14 bytes (112 bits)
 [mjpeg @ 0x23bb060] marker=e1 avail_size_in_buf=1129678
 [mjpeg @ 0x23bb060] marker parser used 6005 bytes (48040 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=1123670
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=1058133
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=992596
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=927059
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=861522
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=795985
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=730448
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=664911
 [mjpeg @ 0x23bb060] marker parser used 65534 bytes (524272 bits)
 [mjpeg @ 0x23bb060] marker=e2 avail_size_in_buf=599374
 [mjpeg @ 0x23bb060] marker parser used 33031 bytes (264248 bits)
 [mjpeg @ 0x23bb060] marker=ed avail_size_in_buf=566340
 [mjpeg @ 0x23bb060] marker parser used 43 bytes (344 bits)
 [mjpeg @ 0x23bb060] marker=e1 avail_size_in_buf=566294
 [mjpeg @ 0x23bb060] marker parser used 3898 bytes (31184 bits)
 [mjpeg @ 0x23bb060] marker=db avail_size_in_buf=562393
 [mjpeg @ 0x23bb060] index=0
 [mjpeg @ 0x23bb060] qscale[0]: 2
 [mjpeg @ 0x23bb060] marker parser used 67 bytes (536 bits)
 [mjpeg @ 0x23bb060] marker=c0 avail_size_in_buf=562324
 [mjpeg @ 0x23bb060] sof0: picture: 1280x720
 [mjpeg @ 0x23bb060] component 0 1:1 id: 66 quant:0
 [mjpeg @ 0x23bb060] component 1 1:1 id: 76 quant:0
 [mjpeg @ 0x23bb060] component 2 1:1 id: 88 quant:0
 [mjpeg @ 0x23bb060] component 3 1:1 id: 74 quant:0
 [mjpeg @ 0x23bb060] pix fmt id 11111111
 [mjpeg @ 0x23bb060] marker parser used 20 bytes (160 bits)
 [mjpeg @ 0x23bb060] marker=c4 avail_size_in_buf=562302
 [mjpeg @ 0x23bb060] class=0 index=0 nb_codes=10
 [mjpeg @ 0x23bb060] marker parser used 29 bytes (232 bits)
 [mjpeg @ 0x23bb060] marker=c4 avail_size_in_buf=562271
 [mjpeg @ 0x23bb060] class=1 index=0 nb_codes=242
 [mjpeg @ 0x23bb060] marker parser used 78 bytes (624 bits)
 [mjpeg @ 0x23bb060] escaping removed 1699 bytes
 [mjpeg @ 0x23bb060] marker=da avail_size_in_buf=562191
 [mjpeg @ 0x23bb060] component: 66
 [mjpeg @ 0x23bb060] component: 76
 [mjpeg @ 0x23bb060] component: 88
 [mjpeg @ 0x23bb060] component: 74
 [mjpeg @ 0x23bb060] marker parser used 560491 bytes (4483924 bits)
 [mjpeg @ 0x23bb060] marker=d9 avail_size_in_buf=0
 [mjpeg @ 0x23bb060] decode frame unused 0 bytes
 [output stream 0:0 @ 0x23a4e60] EOF on sink link output stream
 0:0:default.
 No more output streams to write to, finishing.
 [AVIOContext @ 0x240ec20] Statistics: 0 seeks, 50 writeouts
 frame=    1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A
 video:1569kB audio:0kB subtitle:0 data:0 global headers:0kB muxing
 overhead -100.001370%
 1 frames successfully decoded, 0 decoding errors
 }}}

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


More information about the FFmpeg-trac mailing list