[FFmpeg-trac] #5609(avformat:new): FFmpeg fails to recognize extensionless JPEG with ICC profile

FFmpeg trac at avcodec.org
Thu Jun 2 00:55:12 CEST 2016


#5609: FFmpeg fails to recognize extensionless JPEG with ICC profile
----------------------------------+---------------------------------------
             Reporter:  rr-       |                     Type:  defect
               Status:  new       |                 Priority:  normal
            Component:  avformat  |                  Version:  unspecified
             Keywords:            |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+---------------------------------------
 My file starts with 0xFF 0xD8 0xFF 0xE2 shortly followed with
 "ICC_PROFILE" string and other metadata, rather than the usual 0xFF 0xD8
 0xFF 0xE0 or 0xFF 0xD8 0xFF 0xE1.

 I believe that the metadata of the JPEG contains 0xFF and breaks the loop
 in rawdec.c. Haven't investigated the specs thouroughly, though.

 How to reproduce:
 {{{
 rr- at tornado:~$ ffprobe -i /tmp/tmp.jpg
 ffprobe version 3.0.2 Copyright (c) 2007-2016 the FFmpeg developers
   built with gcc 5.3.0 (GCC)
   configuration: --prefix=/usr --disable-debug --disable-static --disable-
 stripping --enable-avisynth --enable-avresample --enable-fontconfig
 --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-
 libbluray --enable-libdcadec --enable-libfreetype --enable-libfribidi
 --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-
 libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-
 libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger
 --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora
 --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid
 --enable-netcdf --enable-shared --enable-version3 --enable-x11grab
   libavutil      55. 17.103 / 55. 17.103
   libavcodec     57. 24.102 / 57. 24.102
   libavformat    57. 25.100 / 57. 25.100
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 31.100 /  6. 31.100
   libavresample   3.  0.  0 /  3.  0.  0
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 [mjpeg @ 0x5602bc963700] Changing bps to 8
 Input #0, image2, from '/tmp/tmp.jpg':
   Duration: 00:00:00.04, start: 0.000000, bitrate: 29647 kb/s
     Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown),
 1024x616, 25 tbr, 25 tbn, 25 tbc

 rr- at tornado:~$ mv /tmp/tmp.jpg /tmp/tmp

 rr- at tornado:~$ ffprobe -i /tmp/tmp
 ffprobe version 3.0.2 Copyright (c) 2007-2016 the FFmpeg developers
   built with gcc 5.3.0 (GCC)
   configuration: --prefix=/usr --disable-debug --disable-static --disable-
 stripping --enable-avisynth --enable-avresample --enable-fontconfig
 --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-
 libbluray --enable-libdcadec --enable-libfreetype --enable-libfribidi
 --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-
 libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-
 libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger
 --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora
 --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx
 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid
 --enable-netcdf --enable-shared --enable-version3 --enable-x11grab
   libavutil      55. 17.103 / 55. 17.103
   libavcodec     57. 24.102 / 57. 24.102
   libavformat    57. 25.100 / 57. 25.100
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 31.100 /  6. 31.100
   libavresample   3.  0.  0 /  3.  0.  0
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 /tmp/tmp: Invalid data found when processing input

 }}}

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


More information about the FFmpeg-trac mailing list