[FFmpeg-trac] #6797(avcodec:open): Decode PSD file: Color mode 4 is not implemented

FFmpeg trac at avcodec.org
Wed Nov 1 20:29:57 EET 2017


#6797: Decode PSD file: Color mode 4 is not implemented
-------------------------------------+-------------------------------------
             Reporter:               |                    Owner:
  Rensjvanderzwan                    |                   Status:  open
                 Type:  enhancement  |                Component:  avcodec
             Priority:  wish         |               Resolution:
              Version:  git-master   |               Blocked By:
             Keywords:  psd          |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * status:  new => open
 * component:  ffmpeg => avcodec
 * priority:  normal => wish
 * keywords:  Color mode not implemented photoshop => psd
 * reproduced:  0 => 1


Old description:

> Summary of the bug:
>
> FFmpeg fails to convert some PSD files to PNG thumbnails and throws the
> following error: color mode 4 is not implemented error when coverting a
> photoshop PSD with a 4th channel.
>

> full command output:
> ffmpeg -v 9 -loglevel 99 -i 'ZorroCMYK.psd'  -vf
> 'scale=300:200:force_original_aspect_ratio=decrease' -f image2
> ZorroCMYK.png
> user at host:~$ ffmpeg -v 9 -loglevel 99 -i 'ZorroCMYK.psd'  -vf
> 'scale=300:200:force_original_aspect_ratio=decrease' -f image2
> ZorroCMYK.png
> ffmpeg version N-87871-g7480f23 Copyright (c) 2000-2017 the FFmpeg
> developers
>   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
>   configuration: --prefix=/home/itbo/ffmpeg_build --pkg-config-
> flags=--static --extra-cflags=-I/home/itbo/ffmpeg_build/include --extra-
> ldflags=-L/home/itbo/ffmpeg_build/lib --extra-libs=-lpthread
> --bindir=/home/itbo/bin --enable-gpl --enable-libass --enable-libfdk-aac
> --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-
> libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-
> libx265 --enable-nonfree
>   libavutil      55. 79.100 / 55. 79.100
>   libavcodec     57.108.100 / 57.108.100
>   libavformat    57. 84.100 / 57. 84.100
>   libavdevice    57. 11.100 / 57. 11.100
>   libavfilter     6.108.100 /  6.108.100
>   libswscale      4.  9.100 /  4.  9.100
>   libswresample   2. 10.100 /  2. 10.100
>   libpostproc    54.  8.100 / 54.  8.100
> Splitting the commandline.
> Reading option '-v' ... matched as option 'v' (set logging level) with
> argument '9'.
> Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> level) with argument '99'.
> Reading option '-i' ... matched as input url with argument
> 'ZorroCMYK.psd'.
> Reading option '-vf' ... matched as option 'vf' (set video filters) with
> argument 'scale=300:200:force_original_aspect_ratio=decrease'.
> Reading option '-f' ... matched as option 'f' (force format) with
> argument 'image2'.
> Reading option 'ZorroCMYK.png' ... matched as output url.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option v (set logging level) with argument 9.
> Successfully parsed a group of options.
> Parsing a group of options: input url ZorroCMYK.psd.
> Successfully parsed a group of options.
> Opening an input file: ZorroCMYK.psd.
> [NULL @ 0x2e73660] Opening 'ZorroCMYK.psd' for reading
> [file @ 0x2e74040] Setting default whitelist 'file,crypto'
> Probing psd_pipe score:54 size:2048
> [psd_pipe @ 0x2e73660] Format psd_pipe probed with size=2048 and score=54
> [psd_pipe @ 0x2e73660] Before avformat_find_stream_info() pos: 0 bytes
> read:32768 seeks:0 nb_streams:1
> [psd_pipe @ 0x2e73660] parser not found for codec psd, packets or times
> may be invalid.
>     Last message repeated 1 times
> [psd @ 0x2e752c0] color mode 4 is not implemented. Update your FFmpeg
> version to the newest one from Git. If the problem still occurs, it means
> that your file has a feature which has not been implemented.
> [psd_pipe @ 0x2e73660] decoding for stream 0 failed
> [psd_pipe @ 0x2e73660] stream 0: start_time: -368934881474191040.000
> duration: -368934881474191040.000
> [psd_pipe @ 0x2e73660] format: start_time: -9223372036854.775 duration:
> -9223372036854.775 bitrate=0 kb/s
> [psd_pipe @ 0x2e73660] Could not find codec parameters for stream 0
> (Video: psd, 1 reference frame, none, 1200x895, 1/25): unspecified pixel
> format
> Consider increasing the value for the 'analyzeduration' and 'probesize'
> options
> [psd_pipe @ 0x2e73660] After avformat_find_stream_info() pos: 1824638
> bytes read:1824638 seeks:0 frames:1
> Input #0, psd_pipe, from 'ZorroCMYK.psd':
>   Duration: N/A, bitrate: N/A
>     Stream #0:0, 1, 1/25: Video: psd, 1 reference frame, none, 1200x895,
> 0/1, 25 tbr, 25 tbn, 25 tbc
> Successfully opened the file.
> Parsing a group of options: output url ZorroCMYK.png.
> Applying option vf (set video filters) with argument
> scale=300:200:force_original_aspect_ratio=decrease.
> Applying option f (force format) with argument image2.
> Successfully parsed a group of options.
> Opening an output file: ZorroCMYK.png.
> Successfully opened the file.
> detected 8 logical cores
> Stream mapping:
>   Stream #0:0 -> #0:0 (psd (native) -> png (native))
> Press [q] to stop, [?] for help
> cur_dts is invalid (this is harmless if it occurs once at the start per
> stream)
>     Last message repeated 1 times
> [psd @ 0x2e85de0] color mode 4 is not implemented. Update your FFmpeg
> version to the newest one from Git. If the problem still occurs, it means
> that your file has a feature which has not been implemented.
> Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches
> welcome
> cur_dts is invalid (this is harmless if it occurs once at the start per
> stream)
> No more output streams to write to, finishing.
> Finishing stream 0:0 without any data written to it.
> Nothing was written into output file 0 (ZorroCMYK.png), because at least
> one of its streams received no packets.
> frame=    0 fps=0.0 q=0.0 Lsize=N/A time=-577014:32:22.77 bitrate=N/A
> speed=N/A
> video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: unknown
> Input file #0 (ZorroCMYK.psd):
>   Input stream #0:0 (video): 1 packets read (1824638 bytes); 0 frames
> decoded;
>   Total: 1 packets (1824638 bytes) demuxed
> Output file #0 (ZorroCMYK.png):
>   Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0
> bytes);
>   Total: 0 packets (0 bytes) muxed
> Output file is empty, nothing was encoded (check -ss / -t / -frames
> parameters if used)
> 0 frames successfully decoded, 1 decoding errors
> [AVIOContext @ 0x2e73da0] Statistics: 1824638 bytes read, 0 seeks
> Conversion failed!

New description:

 Summary of the bug:

 FFmpeg fails to convert some PSD files to PNG thumbnails and throws the
 following error: color mode 4 is not implemented error when coverting a
 photoshop PSD with a 4th channel.


 full command output:
 {{{
 ffmpeg -v 9 -loglevel 99 -i 'ZorroCMYK.psd'  -vf
 'scale=300:200:force_original_aspect_ratio=decrease' -f image2
 ZorroCMYK.png
 user at host:~$ ffmpeg -v 9 -loglevel 99 -i 'ZorroCMYK.psd'  -vf
 'scale=300:200:force_original_aspect_ratio=decrease' -f image2
 ZorroCMYK.png
 ffmpeg version N-87871-g7480f23 Copyright (c) 2000-2017 the FFmpeg
 developers
   built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
   configuration: --prefix=/home/itbo/ffmpeg_build --pkg-config-
 flags=--static --extra-cflags=-I/home/itbo/ffmpeg_build/include --extra-
 ldflags=-L/home/itbo/ffmpeg_build/lib --extra-libs=-lpthread
 --bindir=/home/itbo/bin --enable-gpl --enable-libass --enable-libfdk-aac
 --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-
 libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-
 libx265 --enable-nonfree
   libavutil      55. 79.100 / 55. 79.100
   libavcodec     57.108.100 / 57.108.100
   libavformat    57. 84.100 / 57. 84.100
   libavdevice    57. 11.100 / 57. 11.100
   libavfilter     6.108.100 /  6.108.100
   libswscale      4.  9.100 /  4.  9.100
   libswresample   2. 10.100 /  2. 10.100
   libpostproc    54.  8.100 / 54.  8.100
 Splitting the commandline.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-i' ... matched as input url with argument
 'ZorroCMYK.psd'.
 Reading option '-vf' ... matched as option 'vf' (set video filters) with
 argument 'scale=300:200:force_original_aspect_ratio=decrease'.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'image2'.
 Reading option 'ZorroCMYK.png' ... matched as output url.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Successfully parsed a group of options.
 Parsing a group of options: input url ZorroCMYK.psd.
 Successfully parsed a group of options.
 Opening an input file: ZorroCMYK.psd.
 [NULL @ 0x2e73660] Opening 'ZorroCMYK.psd' for reading
 [file @ 0x2e74040] Setting default whitelist 'file,crypto'
 Probing psd_pipe score:54 size:2048
 [psd_pipe @ 0x2e73660] Format psd_pipe probed with size=2048 and score=54
 [psd_pipe @ 0x2e73660] Before avformat_find_stream_info() pos: 0 bytes
 read:32768 seeks:0 nb_streams:1
 [psd_pipe @ 0x2e73660] parser not found for codec psd, packets or times
 may be invalid.
     Last message repeated 1 times
 [psd @ 0x2e752c0] color mode 4 is not implemented. Update your FFmpeg
 version to the newest one from Git. If the problem still occurs, it means
 that your file has a feature which has not been implemented.
 [psd_pipe @ 0x2e73660] decoding for stream 0 failed
 [psd_pipe @ 0x2e73660] stream 0: start_time: -368934881474191040.000
 duration: -368934881474191040.000
 [psd_pipe @ 0x2e73660] format: start_time: -9223372036854.775 duration:
 -9223372036854.775 bitrate=0 kb/s
 [psd_pipe @ 0x2e73660] Could not find codec parameters for stream 0
 (Video: psd, 1 reference frame, none, 1200x895, 1/25): unspecified pixel
 format
 Consider increasing the value for the 'analyzeduration' and 'probesize'
 options
 [psd_pipe @ 0x2e73660] After avformat_find_stream_info() pos: 1824638
 bytes read:1824638 seeks:0 frames:1
 Input #0, psd_pipe, from 'ZorroCMYK.psd':
   Duration: N/A, bitrate: N/A
     Stream #0:0, 1, 1/25: Video: psd, 1 reference frame, none, 1200x895,
 0/1, 25 tbr, 25 tbn, 25 tbc
 Successfully opened the file.
 Parsing a group of options: output url ZorroCMYK.png.
 Applying option vf (set video filters) with argument
 scale=300:200:force_original_aspect_ratio=decrease.
 Applying option f (force format) with argument image2.
 Successfully parsed a group of options.
 Opening an output file: ZorroCMYK.png.
 Successfully opened the file.
 detected 8 logical cores
 Stream mapping:
   Stream #0:0 -> #0:0 (psd (native) -> png (native))
 Press [q] to stop, [?] for help
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
     Last message repeated 1 times
 [psd @ 0x2e85de0] color mode 4 is not implemented. Update your FFmpeg
 version to the newest one from Git. If the problem still occurs, it means
 that your file has a feature which has not been implemented.
 Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches
 welcome
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 No more output streams to write to, finishing.
 Finishing stream 0:0 without any data written to it.
 Nothing was written into output file 0 (ZorroCMYK.png), because at least
 one of its streams received no packets.
 frame=    0 fps=0.0 q=0.0 Lsize=N/A time=-577014:32:22.77 bitrate=N/A
 speed=N/A
 video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 Input file #0 (ZorroCMYK.psd):
   Input stream #0:0 (video): 1 packets read (1824638 bytes); 0 frames
 decoded;
   Total: 1 packets (1824638 bytes) demuxed
 Output file #0 (ZorroCMYK.png):
   Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);
   Total: 0 packets (0 bytes) muxed
 Output file is empty, nothing was encoded (check -ss / -t / -frames
 parameters if used)
 0 frames successfully decoded, 1 decoding errors
 [AVIOContext @ 0x2e73da0] Statistics: 1824638 bytes read, 0 seeks
 Conversion failed!
 }}}

--

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


More information about the FFmpeg-trac mailing list