Opened 8 years ago

Closed 8 years ago

#5609 closed defect (invalid)

FFmpeg fails to recognize extensionless JPEG with ICC profile

Reported by: rr- Owned by:
Priority: normal Component: avformat
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

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-@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-@tornado:~$ mv /tmp/tmp.jpg /tmp/tmp

rr-@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

Attachments (1)

tmp.jpg (144.8 KB ) - added by rr- 8 years ago.

Download all attachments as: .zip

Change History (7)

by rr-, 8 years ago

Attachment: tmp.jpg added

comment:1 by Carl Eugen Hoyos, 8 years ago

Is the issue reproducible with current FFmpeg git head?

comment:2 by rr-, 8 years ago

Yes, I've just checked with the Github mirror which was updated 2h ago.

comment:3 by rr-, 8 years ago

Version: unspecifiedgit-master

comment:4 by Carl Eugen Hoyos, 8 years ago

Please provide command line and console output for current FFmpeg git head to make this a valid ticket.

comment:5 by rr-, 8 years ago

Ouch... I tested it wrong - it works in git HEAD. The demux detects it as JPEG pipe. Sorry for the trouble.

comment:6 by rr-, 8 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.