[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